feat: assets move + comments migration + admin users UI
This commit is contained in:
parent
de1d4ca12a
commit
f6bad765a2
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-line-chart.svg', alt='Analytics', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-line-chart.svg', alt='Analytics', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:analytics.title') }}
|
.headline.primary--text.animated.fadeInLeft {{ $t('admin:analytics.title') }}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:analytics.subtitle') }}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:analytics.subtitle') }}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-rest-api.svg', alt='API', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-rest-api.svg', alt='API', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{$t('admin:api.title')}}
|
.headline.primary--text.animated.fadeInLeft {{$t('admin:api.title')}}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft {{$t('admin:api.subtitle')}}
|
.subtitle-1.grey--text.animated.fadeInLeft {{$t('admin:api.subtitle')}}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-unlock.svg', alt='Authentication', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-unlock.svg', alt='Authentication', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:auth.title') }}
|
.headline.primary--text.animated.fadeInLeft {{ $t('admin:auth.title') }}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:auth.subtitle') }}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:auth.subtitle') }}
|
||||||
@ -92,7 +92,7 @@
|
|||||||
.overline.my-5 {{$t('admin:auth.strategyConfiguration')}}
|
.overline.my-5 {{$t('admin:auth.strategyConfiguration')}}
|
||||||
.body-2.ml-3(v-if='!strategy.config || strategy.config.length < 1'): em {{$t('admin:auth.strategyNoConfiguration')}}
|
.body-2.ml-3(v-if='!strategy.config || strategy.config.length < 1'): em {{$t('admin:auth.strategyNoConfiguration')}}
|
||||||
template(v-else, v-for='cfg in strategy.config')
|
template(v-else, v-for='cfg in strategy.config')
|
||||||
v-select(
|
v-select.mb-3(
|
||||||
v-if='cfg.value.type === "string" && cfg.value.enum'
|
v-if='cfg.value.type === "string" && cfg.value.enum'
|
||||||
outlined
|
outlined
|
||||||
:items='cfg.value.enum'
|
:items='cfg.value.enum'
|
||||||
@ -103,8 +103,9 @@
|
|||||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||||
persistent-hint
|
persistent-hint
|
||||||
:class='cfg.value.hint ? "mb-2" : ""'
|
:class='cfg.value.hint ? "mb-2" : ""'
|
||||||
|
:style='cfg.value.maxWidth > 0 ? `max-width:` + cfg.value.maxWidth + `px;` : ``'
|
||||||
)
|
)
|
||||||
v-switch.mb-3(
|
v-switch.mb-6(
|
||||||
v-else-if='cfg.value.type === "boolean"'
|
v-else-if='cfg.value.type === "boolean"'
|
||||||
:key='cfg.key'
|
:key='cfg.key'
|
||||||
:label='cfg.value.title'
|
:label='cfg.value.title'
|
||||||
@ -115,7 +116,7 @@
|
|||||||
persistent-hint
|
persistent-hint
|
||||||
inset
|
inset
|
||||||
)
|
)
|
||||||
v-textarea(
|
v-textarea.mb-3(
|
||||||
v-else-if='cfg.value.type === "string" && cfg.value.multiline'
|
v-else-if='cfg.value.type === "string" && cfg.value.multiline'
|
||||||
outlined
|
outlined
|
||||||
:key='cfg.key'
|
:key='cfg.key'
|
||||||
@ -126,7 +127,7 @@
|
|||||||
persistent-hint
|
persistent-hint
|
||||||
:class='cfg.value.hint ? "mb-2" : ""'
|
:class='cfg.value.hint ? "mb-2" : ""'
|
||||||
)
|
)
|
||||||
v-text-field(
|
v-text-field.mb-3(
|
||||||
v-else
|
v-else
|
||||||
outlined
|
outlined
|
||||||
:key='cfg.key'
|
:key='cfg.key'
|
||||||
@ -136,6 +137,7 @@
|
|||||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||||
persistent-hint
|
persistent-hint
|
||||||
:class='cfg.value.hint ? "mb-2" : ""'
|
:class='cfg.value.hint ? "mb-2" : ""'
|
||||||
|
:style='cfg.value.maxWidth > 0 ? `max-width:` + cfg.value.maxWidth + `px;` : ``'
|
||||||
)
|
)
|
||||||
v-divider.mt-3
|
v-divider.mt-3
|
||||||
.overline.my-5 {{$t('admin:auth.registration')}}
|
.overline.my-5 {{$t('admin:auth.registration')}}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-chat-bubble.svg', alt='Comments', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-chat-bubble.svg', alt='Comments', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{$t('admin:comments.title')}}
|
.headline.primary--text.animated.fadeInLeft {{$t('admin:comments.title')}}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:comments.subtitle')}}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:comments.subtitle')}}
|
||||||
@ -45,7 +45,7 @@
|
|||||||
.overline.my-5 {{$t('admin:comments.providerConfig')}}
|
.overline.my-5 {{$t('admin:comments.providerConfig')}}
|
||||||
.body-2.ml-3(v-if='!provider.config || provider.config.length < 1'): em {{$t('admin:comments.providerNoConfig')}}
|
.body-2.ml-3(v-if='!provider.config || provider.config.length < 1'): em {{$t('admin:comments.providerNoConfig')}}
|
||||||
template(v-else, v-for='cfg in provider.config')
|
template(v-else, v-for='cfg in provider.config')
|
||||||
v-select(
|
v-select.mb-3(
|
||||||
v-if='cfg.value.type === "string" && cfg.value.enum'
|
v-if='cfg.value.type === "string" && cfg.value.enum'
|
||||||
outlined
|
outlined
|
||||||
:items='cfg.value.enum'
|
:items='cfg.value.enum'
|
||||||
@ -56,8 +56,9 @@
|
|||||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||||
persistent-hint
|
persistent-hint
|
||||||
:class='cfg.value.hint ? "mb-2" : ""'
|
:class='cfg.value.hint ? "mb-2" : ""'
|
||||||
|
:style='cfg.value.maxWidth > 0 ? `max-width:` + cfg.value.maxWidth + `px;` : ``'
|
||||||
)
|
)
|
||||||
v-switch.mb-3(
|
v-switch.mb-6(
|
||||||
v-else-if='cfg.value.type === "boolean"'
|
v-else-if='cfg.value.type === "boolean"'
|
||||||
:key='cfg.key'
|
:key='cfg.key'
|
||||||
:label='cfg.value.title'
|
:label='cfg.value.title'
|
||||||
@ -68,7 +69,7 @@
|
|||||||
persistent-hint
|
persistent-hint
|
||||||
inset
|
inset
|
||||||
)
|
)
|
||||||
v-textarea(
|
v-textarea.mb-3(
|
||||||
v-else-if='cfg.value.type === "string" && cfg.value.multiline'
|
v-else-if='cfg.value.type === "string" && cfg.value.multiline'
|
||||||
outlined
|
outlined
|
||||||
:key='cfg.key'
|
:key='cfg.key'
|
||||||
@ -79,7 +80,7 @@
|
|||||||
persistent-hint
|
persistent-hint
|
||||||
:class='cfg.value.hint ? "mb-2" : ""'
|
:class='cfg.value.hint ? "mb-2" : ""'
|
||||||
)
|
)
|
||||||
v-text-field(
|
v-text-field.mb-3(
|
||||||
v-else
|
v-else
|
||||||
outlined
|
outlined
|
||||||
:key='cfg.key'
|
:key='cfg.key'
|
||||||
@ -89,6 +90,7 @@
|
|||||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||||
persistent-hint
|
persistent-hint
|
||||||
:class='cfg.value.hint ? "mb-2" : ""'
|
:class='cfg.value.hint ? "mb-2" : ""'
|
||||||
|
:style='cfg.value.maxWidth > 0 ? `max-width:` + cfg.value.maxWidth + `px;` : ``'
|
||||||
)
|
)
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-heart-health.svg', alt='Contribute', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-heart-health.svg', alt='Contribute', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:contribute.title') }}
|
.headline.primary--text.animated.fadeInLeft {{ $t('admin:contribute.title') }}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:contribute.subtitle') }}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:contribute.subtitle') }}
|
||||||
@ -30,19 +30,19 @@
|
|||||||
v-icon.my-1(size='24') mdi-github-circle
|
v-icon.my-1(size='24') mdi-github-circle
|
||||||
v-tab
|
v-tab
|
||||||
span Patreon
|
span Patreon
|
||||||
img.my-1(src='/svg/icon-patreon.svg', style='height: 24px;')
|
img.my-1(src='/_assets/svg/icon-patreon.svg', style='height: 24px;')
|
||||||
v-tab
|
v-tab
|
||||||
span OpenCollective
|
span OpenCollective
|
||||||
img.my-1(src='/svg/icon-opencollective.svg', style='height: 24px;')
|
img.my-1(src='/_assets/svg/icon-opencollective.svg', style='height: 24px;')
|
||||||
v-tab
|
v-tab
|
||||||
span PayPal
|
span PayPal
|
||||||
img.my-1(src='/svg/icon-paypal.svg', style='height: 24px;')
|
img.my-1(src='/_assets/svg/icon-paypal.svg', style='height: 24px;')
|
||||||
v-tab
|
v-tab
|
||||||
span Ethereum
|
span Ethereum
|
||||||
img.my-1(src='/svg/icon-ethereum.svg', style='height: 24px;')
|
img.my-1(src='/_assets/svg/icon-ethereum.svg', style='height: 24px;')
|
||||||
v-tab
|
v-tab
|
||||||
span T-Shirts
|
span T-Shirts
|
||||||
img.my-1(src='/svg/icon-t-shirt.svg', style='height: 24px;')
|
img.my-1(src='/_assets/svg/icon-t-shirt.svg', style='height: 24px;')
|
||||||
v-tab-item(:transition='false', :reverse-transition='false')
|
v-tab-item(:transition='false', :reverse-transition='false')
|
||||||
.body-2.pa-3 {{ $t('admin:contribute.github') }}
|
.body-2.pa-3 {{ $t('admin:contribute.github') }}
|
||||||
a.ml-3(href='https://github.com/users/NGPixel/sponsorship', :title='$t(`admin:contribute.becomeASponsor`)')
|
a.ml-3(href='https://github.com/users/NGPixel/sponsorship', :title='$t(`admin:contribute.becomeASponsor`)')
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-browse-page.svg', alt='Dashboard', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-browse-page.svg', alt='Dashboard', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:dashboard.title') }}
|
.headline.primary--text.animated.fadeInLeft {{ $t('admin:dashboard.title') }}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{ $t('admin:dashboard.subtitle') }}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{ $t('admin:dashboard.subtitle') }}
|
||||||
@ -95,7 +95,7 @@
|
|||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
v-card.dashboard-contribute.animated.fadeInUp.wait-p4s
|
v-card.dashboard-contribute.animated.fadeInUp.wait-p4s
|
||||||
v-card-text
|
v-card-text
|
||||||
img(src='/svg/icon-heart-health.svg', alt='Contribute', style='height: 80px;')
|
img(src='/_assets/svg/icon-heart-health.svg', alt='Contribute', style='height: 80px;')
|
||||||
.pl-5
|
.pl-5
|
||||||
.subtitle-1 {{$t('admin:contribute.title')}}
|
.subtitle-1 {{$t('admin:contribute.title')}}
|
||||||
.body-2.mt-3: strong {{$t('admin:dashboard.contributeSubtitle')}}
|
.body-2.mt-3: strong {{$t('admin:dashboard.contributeSubtitle')}}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img(src='/svg/icon-console.svg', alt='Developer Tools', style='width: 80px;')
|
img(src='/_assets/svg/icon-console.svg', alt='Developer Tools', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text Developer Tools
|
.headline.primary--text Developer Tools
|
||||||
.subtitle-1.grey--text Flags
|
.subtitle-1.grey--text Flags
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img(src='/svg/icon-web-design.svg', alt='Editor', style='width: 80px;')
|
img(src='/_assets/svg/icon-web-design.svg', alt='Editor', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text Editor
|
.headline.primary--text Editor
|
||||||
.subtitle-1.grey--text Configure the content editors #[v-chip(label, color='primary', small).white--text coming soon]
|
.subtitle-1.grey--text Configure the content editors #[v-chip(label, color='primary', small).white--text coming soon]
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-installing-updates.svg', alt='Extensions', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-installing-updates.svg', alt='Extensions', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:extensions.title') }}
|
.headline.primary--text.animated.fadeInLeft {{ $t('admin:extensions.title') }}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:extensions.subtitle') }}
|
.subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:extensions.subtitle') }}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-categorize.svg', alt='General', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-categorize.svg', alt='General', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:general.title') }}
|
.headline.primary--text.animated.fadeInLeft {{ $t('admin:general.title') }}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:general.subtitle') }}
|
.subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:general.subtitle') }}
|
||||||
@ -111,41 +111,39 @@
|
|||||||
v-card.animated.fadeInUp.wait-p4s
|
v-card.animated.fadeInUp.wait-p4s
|
||||||
v-toolbar(color='indigo', dark, dense, flat)
|
v-toolbar(color='indigo', dark, dense, flat)
|
||||||
v-toolbar-title.subtitle-1 Features
|
v-toolbar-title.subtitle-1 Features
|
||||||
v-spacer
|
|
||||||
v-chip(label, color='white', small).indigo--text coming soon
|
|
||||||
v-card-text
|
v-card-text
|
||||||
v-switch(
|
//- v-switch(
|
||||||
inset
|
//- inset
|
||||||
label='Asset Image Optimization'
|
//- label='Asset Image Optimization'
|
||||||
color='indigo'
|
//- color='indigo'
|
||||||
v-model='config.featureTinyPNG'
|
//- v-model='config.featureTinyPNG'
|
||||||
persistent-hint
|
//- persistent-hint
|
||||||
hint='Image optimization tool to reduce filesize and bandwidth costs.'
|
//- hint='Image optimization tool to reduce filesize and bandwidth costs.'
|
||||||
disabled
|
//- disabled
|
||||||
)
|
//- )
|
||||||
v-text-field.mt-3(
|
//- v-text-field.mt-3(
|
||||||
outlined
|
//- outlined
|
||||||
label='TinyPNG API Key'
|
//- label='TinyPNG API Key'
|
||||||
:counter='255'
|
//- :counter='255'
|
||||||
v-model='config.description'
|
//- v-model='config.description'
|
||||||
prepend-icon='mdi-subdirectory-arrow-right'
|
//- prepend-icon='mdi-subdirectory-arrow-right'
|
||||||
hint='Get your API key at https://tinypng.com/developers'
|
//- hint='Get your API key at https://tinypng.com/developers'
|
||||||
persistent-hint
|
//- persistent-hint
|
||||||
disabled
|
//- disabled
|
||||||
)
|
//- )
|
||||||
|
|
||||||
v-divider.mt-3
|
//- v-divider.mt-3
|
||||||
v-switch(
|
//- v-switch(
|
||||||
inset
|
//- inset
|
||||||
label='Page Ratings'
|
//- label='Page Ratings'
|
||||||
color='indigo'
|
//- color='indigo'
|
||||||
v-model='config.featurePageRatings'
|
//- v-model='config.featurePageRatings'
|
||||||
persistent-hint
|
//- persistent-hint
|
||||||
hint='Allow users to rate pages.'
|
//- hint='Allow users to rate pages.'
|
||||||
disabled
|
//- disabled
|
||||||
)
|
//- )
|
||||||
|
|
||||||
v-divider.mt-3
|
//- v-divider.mt-3
|
||||||
v-switch(
|
v-switch(
|
||||||
inset
|
inset
|
||||||
label='Page Comments'
|
label='Page Comments'
|
||||||
@ -153,19 +151,18 @@
|
|||||||
v-model='config.featurePageComments'
|
v-model='config.featurePageComments'
|
||||||
persistent-hint
|
persistent-hint
|
||||||
hint='Allow users to leave comments on pages.'
|
hint='Allow users to leave comments on pages.'
|
||||||
disabled
|
|
||||||
)
|
)
|
||||||
|
|
||||||
v-divider.mt-3
|
//- v-divider.mt-3
|
||||||
v-switch(
|
//- v-switch(
|
||||||
inset
|
//- inset
|
||||||
label='Personal Wikis'
|
//- label='Personal Wikis'
|
||||||
color='indigo'
|
//- color='indigo'
|
||||||
v-model='config.featurePersonalWikis'
|
//- v-model='config.featurePersonalWikis'
|
||||||
persistent-hint
|
//- persistent-hint
|
||||||
hint='Allow users to have their own personal wiki.'
|
//- hint='Allow users to have their own personal wiki.'
|
||||||
disabled
|
//- disabled
|
||||||
)
|
//- )
|
||||||
|
|
||||||
component(:is='activeModal')
|
component(:is='activeModal')
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img(src='/svg/icon-social-group.svg', alt='Edit Group', style='width: 80px;')
|
img(src='/_assets/svg/icon-social-group.svg', alt='Edit Group', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.blue--text.text--darken-2 Edit Group
|
.headline.blue--text.text--darken-2 Edit Group
|
||||||
.subtitle-1.grey--text {{group.name}}
|
.subtitle-1.grey--text {{group.name}}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-people.svg', alt='Groups', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-people.svg', alt='Groups', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.blue--text.text--darken-2.animated.fadeInLeft Groups
|
.headline.blue--text.text--darken-2.animated.fadeInLeft Groups
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s Manage groups and their permissions
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s Manage groups and their permissions
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-globe-earth.svg', alt='Locale', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-globe-earth.svg', alt='Locale', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:locale.title') }}
|
.headline.primary--text.animated.fadeInLeft {{ $t('admin:locale.title') }}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:locale.subtitle') }}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:locale.subtitle') }}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img(src='/svg/icon-registry-editor.svg', alt='Logging', style='width: 80px;')
|
img(src='/_assets/svg/icon-registry-editor.svg', alt='Logging', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text Logging
|
.headline.primary--text Logging
|
||||||
.subtitle-1.grey--text Configure the system logger(s) #[v-chip(label, color='primary', small).white--text coming soon]
|
.subtitle-1.grey--text Configure the system logger(s) #[v-chip(label, color='primary', small).white--text coming soon]
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-new-post.svg', alt='Mail', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-new-post.svg', alt='Mail', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:mail.title') }}
|
.headline.primary--text.animated.fadeInLeft {{ $t('admin:mail.title') }}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:mail.subtitle') }}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:mail.subtitle') }}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-triangle-arrow.svg', alt='Navigation', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-triangle-arrow.svg', alt='Navigation', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{$t('navigation.title')}}
|
.headline.primary--text.animated.fadeInLeft {{$t('navigation.title')}}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{$t('navigation.subtitle')}}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{$t('navigation.subtitle')}}
|
||||||
@ -23,7 +23,7 @@
|
|||||||
v-list-item-group(v-model='config.mode', mandatory, :color='$vuetify.theme.dark ? `teal lighten-3` : `teal`')
|
v-list-item-group(v-model='config.mode', mandatory, :color='$vuetify.theme.dark ? `teal lighten-3` : `teal`')
|
||||||
v-list-item(value='TREE')
|
v-list-item(value='TREE')
|
||||||
v-list-item-avatar
|
v-list-item-avatar
|
||||||
img(src='/svg/icon-tree-structure-dotted.svg', alt='Site Tree')
|
img(src='/_assets/svg/icon-tree-structure-dotted.svg', alt='Site Tree')
|
||||||
v-list-item-content
|
v-list-item-content
|
||||||
v-list-item-title {{$t('admin:navigation.modeSiteTree.title')}}
|
v-list-item-title {{$t('admin:navigation.modeSiteTree.title')}}
|
||||||
v-list-item-subtitle {{$t('admin:navigation.modeSiteTree.description')}}
|
v-list-item-subtitle {{$t('admin:navigation.modeSiteTree.description')}}
|
||||||
@ -32,7 +32,7 @@
|
|||||||
v-icon(v-else, :color='config.mode === `TREE` ? `teal` : `grey lighten-3`') mdi-check-circle
|
v-icon(v-else, :color='config.mode === `TREE` ? `teal` : `grey lighten-3`') mdi-check-circle
|
||||||
v-list-item(value='MIXED')
|
v-list-item(value='MIXED')
|
||||||
v-list-item-avatar
|
v-list-item-avatar
|
||||||
img(src='/svg/icon-user-menu-male-dotted.svg', alt='Custom Navigation')
|
img(src='/_assets/svg/icon-user-menu-male-dotted.svg', alt='Custom Navigation')
|
||||||
v-list-item-content
|
v-list-item-content
|
||||||
v-list-item-title {{$t('admin:navigation.modeCustom.title')}}
|
v-list-item-title {{$t('admin:navigation.modeCustom.title')}}
|
||||||
v-list-item-subtitle {{$t('admin:navigation.modeCustom.description')}}
|
v-list-item-subtitle {{$t('admin:navigation.modeCustom.description')}}
|
||||||
@ -41,7 +41,7 @@
|
|||||||
v-icon(v-else, :color='config.mode === `MIXED` ? `teal` : `grey lighten-3`') mdi-check-circle
|
v-icon(v-else, :color='config.mode === `MIXED` ? `teal` : `grey lighten-3`') mdi-check-circle
|
||||||
v-list-item(value='STATIC')
|
v-list-item(value='STATIC')
|
||||||
v-list-item-avatar
|
v-list-item-avatar
|
||||||
img(src='/svg/icon-features-list.svg', alt='Static Navigation')
|
img(src='/_assets/svg/icon-features-list.svg', alt='Static Navigation')
|
||||||
v-list-item-content
|
v-list-item-content
|
||||||
v-list-item-title {{$t('admin:navigation.modeStatic.title')}}
|
v-list-item-title {{$t('admin:navigation.modeStatic.title')}}
|
||||||
v-list-item-subtitle {{$t('admin:navigation.modeStatic.description')}}
|
v-list-item-subtitle {{$t('admin:navigation.modeStatic.description')}}
|
||||||
@ -50,7 +50,7 @@
|
|||||||
v-icon(v-else, :color='config.mode === `STATIC` ? `teal` : `grey lighten-3`') mdi-check-circle
|
v-icon(v-else, :color='config.mode === `STATIC` ? `teal` : `grey lighten-3`') mdi-check-circle
|
||||||
v-list-item(value='NONE')
|
v-list-item(value='NONE')
|
||||||
v-list-item-avatar
|
v-list-item-avatar
|
||||||
img(src='/svg/icon-cancel-dotted.svg', alt='None')
|
img(src='/_assets/svg/icon-cancel-dotted.svg', alt='None')
|
||||||
v-list-item-content
|
v-list-item-content
|
||||||
v-list-item-title {{$t('admin:navigation.modeNone.title')}}
|
v-list-item-title {{$t('admin:navigation.modeNone.title')}}
|
||||||
v-list-item-subtitle {{$t('admin:navigation.modeNone.description')}}
|
v-list-item-subtitle {{$t('admin:navigation.modeNone.description')}}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap, v-if='page.id')
|
v-layout(row, wrap, v-if='page.id')
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-view-details.svg', alt='Edit Page', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-view-details.svg', alt='Edit Page', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.blue--text.text--darken-2.animated.fadeInLeft Page Details
|
.headline.blue--text.text--darken-2.animated.fadeInLeft Page Details
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-venn-diagram.svg', alt='Visualize Pages', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-venn-diagram.svg', alt='Visualize Pages', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.blue--text.text--darken-2.animated.fadeInLeft Visualize Pages
|
.headline.blue--text.text--darken-2.animated.fadeInLeft Visualize Pages
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s Dendrogram representation of your pages
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s Dendrogram representation of your pages
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-file.svg', alt='Page', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-file.svg', alt='Page', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.blue--text.text--darken-2.animated.fadeInLeft Pages
|
.headline.blue--text.text--darken-2.animated.fadeInLeft Pages
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s Manage pages
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s Manage pages
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-process.svg', alt='Rendering', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-process.svg', alt='Rendering', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft Rendering
|
.headline.primary--text.animated.fadeInLeft Rendering
|
||||||
v-spacer
|
v-spacer
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-search.svg', alt='Search Engine', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-search.svg', alt='Search Engine', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{$t('admin:search.title')}}
|
.headline.primary--text.animated.fadeInLeft {{$t('admin:search.title')}}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:search.subtitle')}}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:search.subtitle')}}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-private.svg', alt='Security', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-private.svg', alt='Security', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:security.title') }}
|
.headline.primary--text.animated.fadeInLeft {{ $t('admin:security.title') }}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:security.subtitle') }}
|
.subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:security.subtitle') }}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-validation.svg', alt='SSL', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-validation.svg', alt='SSL', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:ssl.title') }}
|
.headline.primary--text.animated.fadeInLeft {{ $t('admin:ssl.title') }}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:ssl.subtitle') }}
|
.subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:ssl.subtitle') }}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-cloud-storage.svg', alt='Storage', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-cloud-storage.svg', alt='Storage', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{$t('admin:storage.title')}}
|
.headline.primary--text.animated.fadeInLeft {{$t('admin:storage.title')}}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{$t('admin:storage.subtitle')}}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{$t('admin:storage.subtitle')}}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-tune.svg', alt='System Info', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-tune.svg', alt='System Info', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:system.title') }}
|
.headline.primary--text.animated.fadeInLeft {{ $t('admin:system.title') }}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{ $t('admin:system.subtitle') }}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{ $t('admin:system.subtitle') }}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-tags.svg', alt='Tags', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-tags.svg', alt='Tags', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{$t('tags.title')}}
|
.headline.primary--text.animated.fadeInLeft {{$t('tags.title')}}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{$t('tags.subtitle')}}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{$t('tags.subtitle')}}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-paint-palette.svg', alt='Theme', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-paint-palette.svg', alt='Theme', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{$t('admin:theme.title')}}
|
.headline.primary--text.animated.fadeInLeft {{$t('admin:theme.title')}}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:theme.subtitle')}}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:theme.subtitle')}}
|
||||||
|
@ -91,9 +91,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
import validate from 'validate.js'
|
import validate from 'validate.js'
|
||||||
|
import gql from 'graphql-tag'
|
||||||
|
|
||||||
import createUserMutation from 'gql/admin/users/users-mutation-create.gql'
|
import createUserMutation from 'gql/admin/users/users-mutation-create.gql'
|
||||||
import providersQuery from 'gql/admin/users/users-query-strategies.gql'
|
|
||||||
import groupsQuery from 'gql/admin/users/users-query-groups.gql'
|
import groupsQuery from 'gql/admin/users/users-query-groups.gql'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -227,7 +227,20 @@ export default {
|
|||||||
},
|
},
|
||||||
apollo: {
|
apollo: {
|
||||||
providers: {
|
providers: {
|
||||||
query: providersQuery,
|
query: gql`
|
||||||
|
query {
|
||||||
|
authentication {
|
||||||
|
strategies(
|
||||||
|
isEnabled: true
|
||||||
|
) {
|
||||||
|
key
|
||||||
|
title
|
||||||
|
icon
|
||||||
|
color
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`,
|
||||||
fetchPolicy: 'network-only',
|
fetchPolicy: 'network-only',
|
||||||
update: (data) => data.authentication.strategies,
|
update: (data) => data.authentication.strategies,
|
||||||
watchLoading (isLoading) {
|
watchLoading (isLoading) {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-male-user.svg', :alt='$t(`admin:users.edit`)', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-male-user.svg', :alt='$t(`admin:users.edit`)', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.blue--text.text--darken-2.animated.fadeInLeft {{$t('admin:users.edit')}}
|
.headline.blue--text.text--darken-2.animated.fadeInLeft {{$t('admin:users.edit')}}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{user.name}}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{user.name}}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-customer.svg', alt='Users', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-customer.svg', alt='Users', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.blue--text.text--darken-2.animated.fadeInLeft Users
|
.headline.blue--text.text--darken-2.animated.fadeInLeft Users
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s Manage users
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s Manage users
|
||||||
@ -55,10 +55,12 @@
|
|||||||
td {{ props.item.providerKey }}
|
td {{ props.item.providerKey }}
|
||||||
td {{ props.item.createdAt | moment('from') }}
|
td {{ props.item.createdAt | moment('from') }}
|
||||||
td
|
td
|
||||||
v-tooltip(left, v-if='props.item.isSystem')
|
span(v-if='props.item.lastLoginAt') {{ props.item.lastLoginAt | moment('from') }}
|
||||||
template(v-slot:activator='{ on }')
|
em.grey--text(v-else) Never
|
||||||
v-icon(v-on='{ on }') mdi-lock-outline
|
td.text-right
|
||||||
span System User
|
v-icon.mr-3(v-if='props.item.isSystem') mdi-lock-outline
|
||||||
|
status-indicator(positive, pulse, v-if='props.item.isActive')
|
||||||
|
status-indicator(negative, pulse, v-else)
|
||||||
template(slot='no-data')
|
template(slot='no-data')
|
||||||
.pa-3
|
.pa-3
|
||||||
v-alert.text-left(icon='mdi-alert', outlined, color='grey')
|
v-alert.text-left(icon='mdi-alert', outlined, color='grey')
|
||||||
@ -73,14 +75,14 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
|
import gql from 'graphql-tag'
|
||||||
|
|
||||||
import usersQuery from 'gql/admin/users/users-query-list.gql'
|
import { StatusIndicator } from 'vue-status-indicator'
|
||||||
import providersQuery from 'gql/admin/users/users-query-strategies.gql'
|
|
||||||
|
|
||||||
import UserCreate from './admin-users-create.vue'
|
import UserCreate from './admin-users-create.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
StatusIndicator,
|
||||||
UserCreate
|
UserCreate
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -95,7 +97,8 @@ export default {
|
|||||||
{ text: 'Email', value: 'email', sortable: true },
|
{ text: 'Email', value: 'email', sortable: true },
|
||||||
{ text: 'Provider', value: 'provider', sortable: true },
|
{ text: 'Provider', value: 'provider', sortable: true },
|
||||||
{ text: 'Created', value: 'createdAt', sortable: true },
|
{ text: 'Created', value: 'createdAt', sortable: true },
|
||||||
{ text: '', value: 'actions', sortable: false, width: 50 }
|
{ text: 'Last Login', value: 'lastLoginAt', sortable: true },
|
||||||
|
{ text: '', value: 'actions', sortable: false, width: 80 }
|
||||||
],
|
],
|
||||||
strategies: [],
|
strategies: [],
|
||||||
filterStrategy: 'all',
|
filterStrategy: 'all',
|
||||||
@ -127,7 +130,22 @@ export default {
|
|||||||
},
|
},
|
||||||
apollo: {
|
apollo: {
|
||||||
users: {
|
users: {
|
||||||
query: usersQuery,
|
query: gql`
|
||||||
|
query {
|
||||||
|
users {
|
||||||
|
list {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
email
|
||||||
|
providerKey
|
||||||
|
isSystem
|
||||||
|
isActive
|
||||||
|
createdAt
|
||||||
|
lastLoginAt
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`,
|
||||||
fetchPolicy: 'network-only',
|
fetchPolicy: 'network-only',
|
||||||
update: (data) => data.users.list,
|
update: (data) => data.users.list,
|
||||||
watchLoading (isLoading) {
|
watchLoading (isLoading) {
|
||||||
@ -136,7 +154,20 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
strategies: {
|
strategies: {
|
||||||
query: providersQuery,
|
query: gql`
|
||||||
|
query {
|
||||||
|
authentication {
|
||||||
|
strategies(
|
||||||
|
isEnabled: true
|
||||||
|
) {
|
||||||
|
key
|
||||||
|
title
|
||||||
|
icon
|
||||||
|
color
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`,
|
||||||
fetchPolicy: 'network-only',
|
fetchPolicy: 'network-only',
|
||||||
update: (data) => {
|
update: (data) => {
|
||||||
return _.concat({
|
return _.concat({
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
.subtitle-1 {{ $t('admin:utilities.importv1Title') }}
|
.subtitle-1 {{ $t('admin:utilities.importv1Title') }}
|
||||||
v-card-text
|
v-card-text
|
||||||
.text-center
|
.text-center
|
||||||
img.animated.fadeInUp.wait-p1s(src='/svg/icon-software.svg')
|
img.animated.fadeInUp.wait-p1s(src='/_assets/svg/icon-software.svg')
|
||||||
.body-2 Import from Wiki.js 1.x
|
.body-2 Import from Wiki.js 1.x
|
||||||
v-divider.my-4
|
v-divider.my-4
|
||||||
.body-2 Data from a Wiki.js 1.x installation can easily be imported using this tool. What do you want to import?
|
.body-2 Data from a Wiki.js 1.x installation can easily be imported using this tool. What do you want to import?
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img(src='/svg/icon-maintenance.svg', alt='Utilities', style='width: 80px;')
|
img(src='/_assets/svg/icon-maintenance.svg', alt='Utilities', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text {{$t('admin:utilities.title')}}
|
.headline.primary--text {{$t('admin:utilities.title')}}
|
||||||
.subtitle-1.grey--text {{$t('admin:utilities.subtitle')}}
|
.subtitle-1.grey--text {{$t('admin:utilities.subtitle')}}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row, wrap)
|
v-layout(row, wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.admin-header
|
.admin-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-winter.svg', alt='Mail', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-winter.svg', alt='Mail', style='width: 80px;')
|
||||||
.admin-header-title
|
.admin-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:webhooks.title') }}
|
.headline.primary--text.animated.fadeInLeft {{ $t('admin:webhooks.title') }}
|
||||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:webhooks.subtitle') }}
|
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:webhooks.subtitle') }}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
.search-results(v-if='searchIsFocused || (search && search.length > 1)')
|
.search-results(v-if='searchIsFocused || (search && search.length > 1)')
|
||||||
.search-results-container
|
.search-results-container
|
||||||
.search-results-help(v-if='!search || (search && search.length < 2)')
|
.search-results-help(v-if='!search || (search && search.length < 2)')
|
||||||
img(src='/svg/icon-search-alt.svg')
|
img(src='/_assets/svg/icon-search-alt.svg')
|
||||||
.mt-4 {{$t('common:header.searchHint')}}
|
.mt-4 {{$t('common:header.searchHint')}}
|
||||||
.search-results-loader(v-else-if='searchIsLoading && (!results || results.length < 1)')
|
.search-results-loader(v-else-if='searchIsLoading && (!results || results.length < 1)')
|
||||||
orbit-spinner(
|
orbit-spinner(
|
||||||
@ -12,7 +12,7 @@
|
|||||||
)
|
)
|
||||||
.headline.mt-5 {{$t('common:header.searchLoading')}}
|
.headline.mt-5 {{$t('common:header.searchLoading')}}
|
||||||
.search-results-none(v-else-if='!searchIsLoading && (!results || results.length < 1)')
|
.search-results-none(v-else-if='!searchIsLoading && (!results || results.length < 1)')
|
||||||
img(src='/svg/icon-no-results.svg', alt='No Results')
|
img(src='/_assets/svg/icon-no-results.svg', alt='No Results')
|
||||||
.subheading {{$t('common:header.searchNoResult')}}
|
.subheading {{$t('common:header.searchNoResult')}}
|
||||||
template(v-if='results && results.length > 0')
|
template(v-if='results && results.length > 0')
|
||||||
v-subheader.white--text {{$t('common:header.searchResultsCount', { total: response.totalHits })}}
|
v-subheader.white--text {{$t('common:header.searchResultsCount', { total: response.totalHits })}}
|
||||||
@ -20,7 +20,7 @@
|
|||||||
template(v-for='(item, idx) of results')
|
template(v-for='(item, idx) of results')
|
||||||
v-list-item(@click='goToPage(item)', :key='item.id', :class='idx === cursor ? `highlighted` : ``')
|
v-list-item(@click='goToPage(item)', :key='item.id', :class='idx === cursor ? `highlighted` : ``')
|
||||||
v-list-item-avatar(tile)
|
v-list-item-avatar(tile)
|
||||||
img(src='/svg/icon-selective-highlighting.svg')
|
img(src='/_assets/svg/icon-selective-highlighting.svg')
|
||||||
v-list-item-content
|
v-list-item-content
|
||||||
v-list-item-title(v-html='item.title')
|
v-list-item-title(v-html='item.title')
|
||||||
v-list-item-subtitle.caption(v-html='item.description')
|
v-list-item-subtitle.caption(v-html='item.description')
|
||||||
|
@ -59,7 +59,7 @@
|
|||||||
v-list-item-group(v-model='kind', mandatory, color='primary')
|
v-list-item-group(v-model='kind', mandatory, color='primary')
|
||||||
v-list-item(value='rest')
|
v-list-item(value='rest')
|
||||||
v-list-item-avatar
|
v-list-item-avatar
|
||||||
img(src='/svg/icon-transaction-list.svg', alt='REST')
|
img(src='/_assets/svg/icon-transaction-list.svg', alt='REST')
|
||||||
v-list-item-content
|
v-list-item-content
|
||||||
v-list-item-title REST API
|
v-list-item-title REST API
|
||||||
v-list-item-subtitle Classic REST Endpoints
|
v-list-item-subtitle Classic REST Endpoints
|
||||||
@ -67,7 +67,7 @@
|
|||||||
v-icon(:color='kind === `rest` ? `primary` : `grey lighten-3`') mdi-check-circle
|
v-icon(:color='kind === `rest` ? `primary` : `grey lighten-3`') mdi-check-circle
|
||||||
v-list-item(value='graphql', disabled)
|
v-list-item(value='graphql', disabled)
|
||||||
v-list-item-avatar
|
v-list-item-avatar
|
||||||
img(src='/svg/icon-graphql.svg', alt='GraphQL')
|
img(src='/_assets/svg/icon-graphql.svg', alt='GraphQL')
|
||||||
v-list-item-content
|
v-list-item-content
|
||||||
v-list-item-title GraphQL
|
v-list-item-title GraphQL
|
||||||
v-list-item-subtitle.grey--text.text--lighten-1 Schema-based API
|
v-list-item-subtitle.grey--text.text--lighten-1 Schema-based API
|
||||||
|
@ -241,7 +241,7 @@ import katexHelper from './common/katex'
|
|||||||
const CtrlKey = /Mac/.test(navigator.platform) ? 'Cmd' : 'Ctrl'
|
const CtrlKey = /Mac/.test(navigator.platform) ? 'Cmd' : 'Ctrl'
|
||||||
|
|
||||||
// Prism Config
|
// Prism Config
|
||||||
Prism.plugins.autoloader.languages_path = '/js/prism/'
|
Prism.plugins.autoloader.languages_path = '/_assets/js/prism/'
|
||||||
Prism.plugins.NormalizeWhitespace.setDefaults({
|
Prism.plugins.NormalizeWhitespace.setDefaults({
|
||||||
'remove-trailing': true,
|
'remove-trailing': true,
|
||||||
'remove-indent': true,
|
'remove-indent': true,
|
||||||
|
@ -112,7 +112,7 @@
|
|||||||
ripple
|
ripple
|
||||||
)
|
)
|
||||||
v-card-text.text-center(@click='fromTemplate')
|
v-card-text.text-center(@click='fromTemplate')
|
||||||
img(src='/svg/icon-cube.svg', alt='From Template', style='width: 42px; opacity: .5;')
|
img(src='/_assets/svg/icon-cube.svg', alt='From Template', style='width: 42px; opacity: .5;')
|
||||||
.body-2.mt-1.teal--text From Template
|
.body-2.mt-1.teal--text From Template
|
||||||
.caption.grey--text Use an existing page...
|
.caption.grey--text Use an existing page...
|
||||||
v-flex(xs4)
|
v-flex(xs4)
|
||||||
@ -124,7 +124,7 @@
|
|||||||
ripple
|
ripple
|
||||||
)
|
)
|
||||||
v-card-text.text-center(@click='selectEditor("redirect")')
|
v-card-text.text-center(@click='selectEditor("redirect")')
|
||||||
img(src='/svg/icon-route.svg', alt='Redirection', style='width: 42px; opacity: .5;')
|
img(src='/_assets/svg/icon-route.svg', alt='Redirection', style='width: 42px; opacity: .5;')
|
||||||
.body-2.mt-1.teal--text Redirection
|
.body-2.mt-1.teal--text Redirection
|
||||||
.caption.grey--text Redirect the user to...
|
.caption.grey--text Redirect the user to...
|
||||||
v-flex(xs4)
|
v-flex(xs4)
|
||||||
@ -136,7 +136,7 @@
|
|||||||
ripple
|
ripple
|
||||||
)
|
)
|
||||||
v-card-text.text-center(@click='')
|
v-card-text.text-center(@click='')
|
||||||
img(src='/svg/icon-sewing-patch.svg', alt='Code', style='width: 42px; opacity: .5;')
|
img(src='/_assets/svg/icon-sewing-patch.svg', alt='Code', style='width: 42px; opacity: .5;')
|
||||||
.body-2.mt-1.teal--text.text--lighten-2 Embed
|
.body-2.mt-1.teal--text.text--lighten-2 Embed
|
||||||
.caption.teal--text.text--lighten-1 Include external pages
|
.caption.teal--text.text--lighten-1 Include external pages
|
||||||
v-fade-transition
|
v-fade-transition
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
v-app
|
v-app
|
||||||
.newpage
|
.newpage
|
||||||
.newpage-content
|
.newpage-content
|
||||||
img.animated.fadeIn(src='/svg/icon-delete-file.svg', alt='Not Found')
|
img.animated.fadeIn(src='/_assets/svg/icon-delete-file.svg', alt='Not Found')
|
||||||
.headline {{ $t('newpage.title') }}
|
.headline {{ $t('newpage.title') }}
|
||||||
.subtitle-1.mt-3 {{ $t('newpage.subtitle') }}
|
.subtitle-1.mt-3 {{ $t('newpage.subtitle') }}
|
||||||
v-btn.mt-5(:href='`/e/` + locale + `/` + path', x-large)
|
v-btn.mt-5(:href='`/e/` + locale + `/` + path', x-large)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
v-app
|
v-app
|
||||||
.notfound
|
.notfound
|
||||||
.notfound-content
|
.notfound-content
|
||||||
img.animated.fadeIn(src='/svg/icon-delete-file.svg', alt='Not Found')
|
img.animated.fadeIn(src='/_assets/svg/icon-delete-file.svg', alt='Not Found')
|
||||||
.headline {{$t('notfound.title')}}
|
.headline {{$t('notfound.title')}}
|
||||||
.subheading.mt-3 {{$t('notfound.subtitle')}}
|
.subheading.mt-3 {{$t('notfound.subtitle')}}
|
||||||
v-btn.mt-5(color='red lighten-4', href='/', large, outlined)
|
v-btn.mt-5(color='red lighten-4', href='/', large, outlined)
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.profile-header
|
.profile-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-file.svg', alt='Users', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-file.svg', alt='Users', style='width: 80px;')
|
||||||
.profile-header-title
|
.profile-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{$t('profile:pages.title')}}
|
.headline.primary--text.animated.fadeInLeft {{$t('profile:pages.title')}}
|
||||||
.subheading.grey--text.animated.fadeInLeft {{$t('profile:pages.subtitle')}}
|
.subheading.grey--text.animated.fadeInLeft {{$t('profile:pages.subtitle')}}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-layout(row wrap)
|
v-layout(row wrap)
|
||||||
v-flex(xs12)
|
v-flex(xs12)
|
||||||
.profile-header
|
.profile-header
|
||||||
img.animated.fadeInUp(src='/svg/icon-profile.svg', alt='Users', style='width: 80px;')
|
img.animated.fadeInUp(src='/_assets/svg/icon-profile.svg', alt='Users', style='width: 80px;')
|
||||||
.profile-header-title
|
.profile-header-title
|
||||||
.headline.primary--text.animated.fadeInLeft {{$t('profile:title')}}
|
.headline.primary--text.animated.fadeInLeft {{$t('profile:title')}}
|
||||||
.subheading.grey--text.animated.fadeInLeft {{$t('profile:subtitle')}}
|
.subheading.grey--text.animated.fadeInLeft {{$t('profile:subtitle')}}
|
||||||
|
@ -89,7 +89,7 @@
|
|||||||
v-btn(text, height='40'): v-icon(size='20') mdi-chevron-double-down
|
v-btn(text, height='40'): v-icon(size='20') mdi-chevron-double-down
|
||||||
v-divider
|
v-divider
|
||||||
.text-center.pt-10(v-if='selection.length < 1')
|
.text-center.pt-10(v-if='selection.length < 1')
|
||||||
img(src='/svg/icon-price-tag.svg')
|
img(src='/_assets/svg/icon-price-tag.svg')
|
||||||
.subtitle-2.grey--text {{$t('tags:selectOneMoreTagsHint')}}
|
.subtitle-2.grey--text {{$t('tags:selectOneMoreTagsHint')}}
|
||||||
.px-5.py-2(v-else)
|
.px-5.py-2(v-else)
|
||||||
v-data-iterator(
|
v-data-iterator(
|
||||||
@ -112,11 +112,11 @@
|
|||||||
.subtitle-2.grey--text.mt-5 {{$t('tags:retrievingResultsLoading')}}
|
.subtitle-2.grey--text.mt-5 {{$t('tags:retrievingResultsLoading')}}
|
||||||
template(v-slot:no-data)
|
template(v-slot:no-data)
|
||||||
.text-center.pt-10
|
.text-center.pt-10
|
||||||
img(src='/svg/icon-info.svg')
|
img(src='/_assets/svg/icon-info.svg')
|
||||||
.subtitle-2.grey--text {{$t('tags:noResults')}}
|
.subtitle-2.grey--text {{$t('tags:noResults')}}
|
||||||
template(v-slot:no-results)
|
template(v-slot:no-results)
|
||||||
.text-center.pt-10
|
.text-center.pt-10
|
||||||
img(src='/svg/icon-info.svg')
|
img(src='/_assets/svg/icon-info.svg')
|
||||||
.subtitle-2.grey--text {{$t('tags:noResultsWithFilter')}}
|
.subtitle-2.grey--text {{$t('tags:noResultsWithFilter')}}
|
||||||
template(v-slot:default='props')
|
template(v-slot:default='props')
|
||||||
v-row(align='stretch')
|
v-row(align='stretch')
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
v-app
|
v-app
|
||||||
.unauthorized
|
.unauthorized
|
||||||
.unauthorized-content
|
.unauthorized-content
|
||||||
img.animated.fadeIn(src='/svg/icon-delete-shield.svg', alt='Unauthorized')
|
img.animated.fadeIn(src='/_assets/svg/icon-delete-shield.svg', alt='Unauthorized')
|
||||||
.headline {{$t('unauthorized.title')}}
|
.headline {{$t('unauthorized.title')}}
|
||||||
.subtitle-1.mt-3 {{$t('unauthorized.action.' + action)}}
|
.subtitle-1.mt-3 {{$t('unauthorized.action.' + action)}}
|
||||||
v-btn.mt-5(href='/login', x-large)
|
v-btn.mt-5(href='/login', x-large)
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
query {
|
|
||||||
users {
|
|
||||||
list {
|
|
||||||
id
|
|
||||||
name
|
|
||||||
email
|
|
||||||
providerKey
|
|
||||||
isSystem
|
|
||||||
createdAt
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
query {
|
|
||||||
authentication {
|
|
||||||
strategies(
|
|
||||||
isEnabled: true
|
|
||||||
) {
|
|
||||||
key
|
|
||||||
title
|
|
||||||
icon
|
|
||||||
color
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,39 +1,39 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Tajawal';
|
font-family: 'Tajawal';
|
||||||
src: url('/fonts/arabic/Tajawal-Bold.woff2') format('woff2'),
|
src: url('/_assets/fonts/arabic/Tajawal-Bold.woff2') format('woff2'),
|
||||||
url('/fonts/arabic/Tajawal-Bold.woff') format('woff');
|
url('/_assets/fonts/arabic/Tajawal-Bold.woff') format('woff');
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Tajawal';
|
font-family: 'Tajawal';
|
||||||
src: url('/fonts/arabic/Tajawal-Regular.woff2') format('woff2'),
|
src: url('/_assets/fonts/arabic/Tajawal-Regular.woff2') format('woff2'),
|
||||||
url('/fonts/arabic/Tajawal-Regular.woff') format('woff');
|
url('/_assets/fonts/arabic/Tajawal-Regular.woff') format('woff');
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Tajawal';
|
font-family: 'Tajawal';
|
||||||
src: url('/fonts/arabic/Tajawal-Medium.woff2') format('woff2'),
|
src: url('/_assets/fonts/arabic/Tajawal-Medium.woff2') format('woff2'),
|
||||||
url('/fonts/arabic/Tajawal-Medium.woff') format('woff');
|
url('/_assets/fonts/arabic/Tajawal-Medium.woff') format('woff');
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'BalooBhaijaan';
|
font-family: 'BalooBhaijaan';
|
||||||
src: url('/fonts/arabic/BalooBhaijaan-Regular.woff2') format('woff2'),
|
src: url('/_assets/fonts/arabic/BalooBhaijaan-Regular.woff2') format('woff2'),
|
||||||
url('/fonts/arabic/BalooBhaijaan-Regular.woff') format('woff');
|
url('/_assets/fonts/arabic/BalooBhaijaan-Regular.woff') format('woff');
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto Mono';
|
font-family: 'Roboto Mono';
|
||||||
src: url('/fonts/arabic/RobotoMono-Regular.woff2') format('woff2'),
|
src: url('/_assets/fonts/arabic/RobotoMono-Regular.woff2') format('woff2'),
|
||||||
url('/fonts/arabic/RobotoMono-Regular.woff') format('woff');
|
url('/_assets/fonts/arabic/RobotoMono-Regular.woff') format('woff');
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
@ -1,55 +1,55 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto';
|
font-family: 'Roboto';
|
||||||
src: url('/fonts/default/Roboto-MediumItalic.woff2') format('woff2'),
|
src: url('/_assets/fonts/default/Roboto-MediumItalic.woff2') format('woff2'),
|
||||||
url('/fonts/default/Roboto-MediumItalic.woff') format('woff');
|
url('/_assets/fonts/default/Roboto-MediumItalic.woff') format('woff');
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto';
|
font-family: 'Roboto';
|
||||||
src: url('/fonts/default/Roboto-Italic.woff2') format('woff2'),
|
src: url('/_assets/fonts/default/Roboto-Italic.woff2') format('woff2'),
|
||||||
url('/fonts/default/Roboto-Italic.woff') format('woff');
|
url('/_assets/fonts/default/Roboto-Italic.woff') format('woff');
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto';
|
font-family: 'Roboto';
|
||||||
src: url('/fonts/default/Roboto-Bold.woff2') format('woff2'),
|
src: url('/_assets/fonts/default/Roboto-Bold.woff2') format('woff2'),
|
||||||
url('/fonts/default/Roboto-Bold.woff') format('woff');
|
url('/_assets/fonts/default/Roboto-Bold.woff') format('woff');
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto';
|
font-family: 'Roboto';
|
||||||
src: url('/fonts/default/Roboto-Regular.woff2') format('woff2'),
|
src: url('/_assets/fonts/default/Roboto-Regular.woff2') format('woff2'),
|
||||||
url('/fonts/default/Roboto-Regular.woff') format('woff');
|
url('/_assets/fonts/default/Roboto-Regular.woff') format('woff');
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto';
|
font-family: 'Roboto';
|
||||||
src: url('/fonts/default/Roboto-BoldItalic.woff2') format('woff2'),
|
src: url('/_assets/fonts/default/Roboto-BoldItalic.woff2') format('woff2'),
|
||||||
url('/fonts/default/Roboto-BoldItalic.woff') format('woff');
|
url('/_assets/fonts/default/Roboto-BoldItalic.woff') format('woff');
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto';
|
font-family: 'Roboto';
|
||||||
src: url('/fonts/default/Roboto-Medium.woff2') format('woff2'),
|
src: url('/_assets/fonts/default/Roboto-Medium.woff2') format('woff2'),
|
||||||
url('/fonts/default/Roboto-Medium.woff') format('woff');
|
url('/_assets/fonts/default/Roboto-Medium.woff') format('woff');
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto Mono';
|
font-family: 'Roboto Mono';
|
||||||
src: url('/fonts/default/RobotoMono-Regular.woff2') format('woff2'),
|
src: url('/_assets/fonts/default/RobotoMono-Regular.woff2') format('woff2'),
|
||||||
url('/fonts/default/RobotoMono-Regular.woff') format('woff');
|
url('/_assets/fonts/default/RobotoMono-Regular.woff') format('woff');
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<browserconfig>
|
<browserconfig>
|
||||||
<msapplication>
|
<msapplication>
|
||||||
<tile>
|
<tile>
|
||||||
<square150x150logo src="/favicons/ms-icon-150x150.png"/>
|
<square150x150logo src="/_assets/favicons/ms-icon-150x150.png"/>
|
||||||
<TileColor>#1976d2</TileColor>
|
<TileColor>#1976d2</TileColor>
|
||||||
</tile>
|
</tile>
|
||||||
</msapplication>
|
</msapplication>
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
"start_url": "/",
|
"start_url": "/",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "/favicons/android-chrome-192x192.png",
|
"src": "/_assets/favicons/android-chrome-192x192.png",
|
||||||
"sizes": "192x192",
|
"sizes": "192x192",
|
||||||
"type": "image/png"
|
"type": "image/png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "/favicons/android-chrome-256x256.png",
|
"src": "/_assets/favicons/android-chrome-256x256.png",
|
||||||
"sizes": "256x256",
|
"sizes": "256x256",
|
||||||
"type": "image/png"
|
"type": "image/png"
|
||||||
}
|
}
|
||||||
|
@ -105,6 +105,7 @@
|
|||||||
span 334
|
span 334
|
||||||
.d-flex
|
.d-flex
|
||||||
v-btn.text-none(
|
v-btn.text-none(
|
||||||
|
:href='"/c/" + locale + "/" + path'
|
||||||
:color='$vuetify.theme.dark ? `pink` : `pink darken-3`'
|
:color='$vuetify.theme.dark ? `pink` : `pink darken-3`'
|
||||||
outlined
|
outlined
|
||||||
style='flex: 1 1 100%;'
|
style='flex: 1 1 100%;'
|
||||||
@ -114,7 +115,7 @@
|
|||||||
v-tooltip(right, v-if='isAuthenticated')
|
v-tooltip(right, v-if='isAuthenticated')
|
||||||
template(v-slot:activator='{ on }')
|
template(v-slot:activator='{ on }')
|
||||||
v-btn.ml-2(
|
v-btn.ml-2(
|
||||||
:href='"/h/" + locale + "/" + path'
|
:href='"/c/" + locale + "/" + path + `?new`'
|
||||||
v-on='on'
|
v-on='on'
|
||||||
outlined
|
outlined
|
||||||
small
|
small
|
||||||
@ -133,7 +134,7 @@
|
|||||||
v-btn.btn-animate-edit(icon, :href='"/h/" + locale + "/" + path', v-on='on', x-small)
|
v-btn.btn-animate-edit(icon, :href='"/h/" + locale + "/" + path', v-on='on', x-small)
|
||||||
v-icon(color='indigo', dense) mdi-history
|
v-icon(color='indigo', dense) mdi-history
|
||||||
span {{$t('common:header.history')}}
|
span {{$t('common:header.history')}}
|
||||||
.body-2.grey--text(:class='darkMode ? `` : `text--darken-3`') {{ authorName }}
|
.body-2.grey--text(:class='$vuetify.theme.dark ? `` : `text--darken-3`') {{ authorName }}
|
||||||
.caption.grey--text.text--darken-1 {{ updatedAt | moment('calendar') }}
|
.caption.grey--text.text--darken-1 {{ updatedAt | moment('calendar') }}
|
||||||
|
|
||||||
//- v-card.mb-5
|
//- v-card.mb-5
|
||||||
@ -293,7 +294,7 @@ import Vue from 'vue'
|
|||||||
|
|
||||||
Vue.component('tabset', Tabset)
|
Vue.component('tabset', Tabset)
|
||||||
|
|
||||||
Prism.plugins.autoloader.languages_path = '/js/prism/'
|
Prism.plugins.autoloader.languages_path = '/_assets/js/prism/'
|
||||||
Prism.plugins.NormalizeWhitespace.setDefaults({
|
Prism.plugins.NormalizeWhitespace.setDefaults({
|
||||||
'remove-trailing': true,
|
'remove-trailing': true,
|
||||||
'remove-indent': true,
|
'remove-indent': true,
|
||||||
|
@ -6,7 +6,7 @@ html(lang=siteConfig.lang)
|
|||||||
meta(name='viewport', content='user-scalable=yes, width=device-width, initial-scale=1, maximum-scale=5')
|
meta(name='viewport', content='user-scalable=yes, width=device-width, initial-scale=1, maximum-scale=5')
|
||||||
meta(name='theme-color', content='#1976d2')
|
meta(name='theme-color', content='#1976d2')
|
||||||
meta(name='msapplication-TileColor', content='#1976d2')
|
meta(name='msapplication-TileColor', content='#1976d2')
|
||||||
meta(name='msapplication-TileImage', content='/favicons/mstile-150x150.png')
|
meta(name='msapplication-TileImage', content='/_assets/favicons/mstile-150x150.png')
|
||||||
|
|
||||||
title= pageMeta.title + ' | ' + config.title
|
title= pageMeta.title + ' | ' + config.title
|
||||||
|
|
||||||
@ -20,12 +20,12 @@ html(lang=siteConfig.lang)
|
|||||||
meta(property='og:site_name', content=config.title)
|
meta(property='og:site_name', content=config.title)
|
||||||
|
|
||||||
//- Favicon
|
//- Favicon
|
||||||
link(rel='apple-touch-icon', sizes='180x180', href='/apple-touch-icon.png')
|
link(rel='apple-touch-icon', sizes='180x180', href='/_assets/favicons/apple-touch-icon.png')
|
||||||
link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png')
|
link(rel='icon', type='image/png', sizes='192x192', href='/_assets/favicons/android-icon-192x192.png')
|
||||||
link(rel='icon', type='image/png', sizes='32x32', href='/favicons/favicon-32x32.png')
|
link(rel='icon', type='image/png', sizes='32x32', href='/_assets/favicons/favicon-32x32.png')
|
||||||
link(rel='icon', type='image/png', sizes='16x16', href='/favicons/favicon-16x16.png')
|
link(rel='icon', type='image/png', sizes='16x16', href='/_assets/favicons/favicon-16x16.png')
|
||||||
link(rel='mask-icon', href='/favicons/safari-pinned-tab.svg', color='#1976d2')
|
link(rel='mask-icon', href='/_assets/favicons/safari-pinned-tab.svg', color='#1976d2')
|
||||||
link(rel='manifest', href='/manifest.json')
|
link(rel='manifest', href='/_assets/manifest.json')
|
||||||
|
|
||||||
//- Site Properties
|
//- Site Properties
|
||||||
script.
|
script.
|
||||||
|
@ -9,7 +9,6 @@ const CopyWebpackPlugin = require('copy-webpack-plugin')
|
|||||||
const HtmlWebpackPlugin = require('html-webpack-plugin')
|
const HtmlWebpackPlugin = require('html-webpack-plugin')
|
||||||
const HtmlWebpackPugPlugin = require('html-webpack-pug-plugin')
|
const HtmlWebpackPugPlugin = require('html-webpack-pug-plugin')
|
||||||
const MomentTimezoneDataPlugin = require('moment-timezone-data-webpack-plugin')
|
const MomentTimezoneDataPlugin = require('moment-timezone-data-webpack-plugin')
|
||||||
const SriWebpackPlugin = require('webpack-subresource-integrity')
|
|
||||||
const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin')
|
const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin')
|
||||||
const WriteFilePlugin = require('write-file-webpack-plugin')
|
const WriteFilePlugin = require('write-file-webpack-plugin')
|
||||||
const WebpackBarPlugin = require('webpackbar')
|
const WebpackBarPlugin = require('webpackbar')
|
||||||
@ -31,7 +30,7 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
output: {
|
output: {
|
||||||
path: path.join(process.cwd(), 'assets'),
|
path: path.join(process.cwd(), 'assets'),
|
||||||
publicPath: '/',
|
publicPath: '/_assets/',
|
||||||
filename: 'js/[name].js',
|
filename: 'js/[name].js',
|
||||||
chunkFilename: 'js/[name].js',
|
chunkFilename: 'js/[name].js',
|
||||||
globalObject: 'this',
|
globalObject: 'this',
|
||||||
@ -210,10 +209,6 @@ module.exports = {
|
|||||||
excludeChunks: ['app', 'legacy']
|
excludeChunks: ['app', 'legacy']
|
||||||
}),
|
}),
|
||||||
new HtmlWebpackPugPlugin(),
|
new HtmlWebpackPugPlugin(),
|
||||||
new SriWebpackPlugin({
|
|
||||||
hashFuncNames: ['sha256', 'sha512'],
|
|
||||||
enabled: false
|
|
||||||
}),
|
|
||||||
new WebpackBarPlugin({
|
new WebpackBarPlugin({
|
||||||
name: 'Client Assets'
|
name: 'Client Assets'
|
||||||
}),
|
}),
|
||||||
|
@ -15,7 +15,8 @@ const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin')
|
|||||||
const ScriptExtHtmlWebpackPlugin = require('script-ext-html-webpack-plugin')
|
const ScriptExtHtmlWebpackPlugin = require('script-ext-html-webpack-plugin')
|
||||||
const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin')
|
const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin')
|
||||||
const WebpackBarPlugin = require('webpackbar')
|
const WebpackBarPlugin = require('webpackbar')
|
||||||
// const SriWebpackPlugin = require('webpack-subresource-integrity')
|
|
||||||
|
const now = Math.round(Date.now() / 1000)
|
||||||
|
|
||||||
const babelConfig = fs.readJsonSync(path.join(process.cwd(), '.babelrc'))
|
const babelConfig = fs.readJsonSync(path.join(process.cwd(), '.babelrc'))
|
||||||
const cacheDir = '.webpack-cache/cache'
|
const cacheDir = '.webpack-cache/cache'
|
||||||
@ -34,9 +35,9 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
output: {
|
output: {
|
||||||
path: path.join(process.cwd(), 'assets'),
|
path: path.join(process.cwd(), 'assets'),
|
||||||
publicPath: '/',
|
publicPath: '/_assets/',
|
||||||
filename: 'js/[name].[hash].js',
|
filename: `js/[name].js?${now}`,
|
||||||
chunkFilename: 'js/[name].[chunkhash].js',
|
chunkFilename: `js/[name].js?${now}`,
|
||||||
globalObject: 'this',
|
globalObject: 'this',
|
||||||
crossOriginLoading: 'use-credentials'
|
crossOriginLoading: 'use-credentials'
|
||||||
},
|
},
|
||||||
@ -223,10 +224,6 @@ module.exports = {
|
|||||||
sync: 'runtime.js',
|
sync: 'runtime.js',
|
||||||
defaultAttribute: 'async'
|
defaultAttribute: 'async'
|
||||||
}),
|
}),
|
||||||
// new SriWebpackPlugin({
|
|
||||||
// hashFuncNames: ['sha256', 'sha512'],
|
|
||||||
// enabled: true
|
|
||||||
// }),
|
|
||||||
new WebpackBarPlugin({
|
new WebpackBarPlugin({
|
||||||
name: 'Client Assets'
|
name: 'Client Assets'
|
||||||
}),
|
}),
|
||||||
@ -238,6 +235,9 @@ module.exports = {
|
|||||||
new webpack.DefinePlugin({
|
new webpack.DefinePlugin({
|
||||||
'process.env.NODE_ENV': JSON.stringify('production'),
|
'process.env.NODE_ENV': JSON.stringify('production'),
|
||||||
'process.env.CURRENT_THEME': JSON.stringify(_.defaultTo(yargs.theme, 'default'))
|
'process.env.CURRENT_THEME': JSON.stringify(_.defaultTo(yargs.theme, 'default'))
|
||||||
|
}),
|
||||||
|
new webpack.optimize.MinChunkSizePlugin({
|
||||||
|
minChunkSize: 50000
|
||||||
})
|
})
|
||||||
],
|
],
|
||||||
optimization: {
|
optimization: {
|
||||||
|
11
server/db/migrations-sqlite/2.4.36.js
Normal file
11
server/db/migrations-sqlite/2.4.36.js
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
exports.up = knex => {
|
||||||
|
return knex.schema
|
||||||
|
.alterTable('comments', table => {
|
||||||
|
table.text('render').notNullable().defaultTo('')
|
||||||
|
table.string('name').notNullable().defaultTo('')
|
||||||
|
table.string('email').notNullable().defaultTo('')
|
||||||
|
table.string('ip').notNullable().defaultTo('')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.down = knex => { }
|
11
server/db/migrations/2.4.36.js
Normal file
11
server/db/migrations/2.4.36.js
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
exports.up = knex => {
|
||||||
|
return knex.schema
|
||||||
|
.alterTable('comments', table => {
|
||||||
|
table.text('render').notNullable().defaultTo('')
|
||||||
|
table.string('name').notNullable().defaultTo('')
|
||||||
|
table.string('email').notNullable().defaultTo('')
|
||||||
|
table.string('ip').notNullable().defaultTo('')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.down = knex => { }
|
@ -13,7 +13,7 @@ module.exports = {
|
|||||||
UserQuery: {
|
UserQuery: {
|
||||||
async list(obj, args, context, info) {
|
async list(obj, args, context, info) {
|
||||||
return WIKI.models.users.query()
|
return WIKI.models.users.query()
|
||||||
.select('id', 'email', 'name', 'providerKey', 'isSystem', 'createdAt')
|
.select('id', 'email', 'name', 'providerKey', 'isSystem', 'isActive', 'createdAt', 'lastLoginAt')
|
||||||
},
|
},
|
||||||
async search(obj, args, context, info) {
|
async search(obj, args, context, info) {
|
||||||
return WIKI.models.users.query()
|
return WIKI.models.users.query()
|
||||||
|
@ -117,7 +117,9 @@ type UserMinimal {
|
|||||||
email: String!
|
email: String!
|
||||||
providerKey: String!
|
providerKey: String!
|
||||||
isSystem: Boolean!
|
isSystem: Boolean!
|
||||||
|
isActive: Boolean!
|
||||||
createdAt: Date!
|
createdAt: Date!
|
||||||
|
lastLoginAt: Date
|
||||||
}
|
}
|
||||||
|
|
||||||
type User {
|
type User {
|
||||||
|
@ -33,6 +33,7 @@ module.exports = {
|
|||||||
enum: value.enum || false,
|
enum: value.enum || false,
|
||||||
multiline: value.multiline || false,
|
multiline: value.multiline || false,
|
||||||
sensitive: value.sensitive || false,
|
sensitive: value.sensitive || false,
|
||||||
|
maxWidth: value.maxWidth || 0,
|
||||||
order: value.order || 100
|
order: value.order || 100
|
||||||
})
|
})
|
||||||
return result
|
return result
|
||||||
|
@ -53,7 +53,7 @@ module.exports = async () => {
|
|||||||
// ----------------------------------------
|
// ----------------------------------------
|
||||||
|
|
||||||
app.use(favicon(path.join(WIKI.ROOTPATH, 'assets', 'favicon.ico')))
|
app.use(favicon(path.join(WIKI.ROOTPATH, 'assets', 'favicon.ico')))
|
||||||
app.use(express.static(path.join(WIKI.ROOTPATH, 'assets'), {
|
app.use('/_assets', express.static(path.join(WIKI.ROOTPATH, 'assets'), {
|
||||||
index: false,
|
index: false,
|
||||||
maxAge: '7d'
|
maxAge: '7d'
|
||||||
}))
|
}))
|
||||||
|
@ -19,11 +19,13 @@ props:
|
|||||||
type: String
|
type: String
|
||||||
default: cn='root'
|
default: cn='root'
|
||||||
hint: The dstinguished name (dn) of the account used for binding.
|
hint: The dstinguished name (dn) of the account used for binding.
|
||||||
|
maxWidth: 600
|
||||||
order: 2
|
order: 2
|
||||||
bindCredentials:
|
bindCredentials:
|
||||||
title: Admin Bind Credentials
|
title: Admin Bind Credentials
|
||||||
type: String
|
type: String
|
||||||
hint: The password of the account used above for binding.
|
hint: The password of the account used above for binding.
|
||||||
|
maxWidth: 600
|
||||||
order: 3
|
order: 3
|
||||||
searchBase:
|
searchBase:
|
||||||
title: Search Base
|
title: Search Base
|
||||||
@ -57,22 +59,26 @@ props:
|
|||||||
type: String
|
type: String
|
||||||
default: 'uid'
|
default: 'uid'
|
||||||
hint: The field storing the user unique identifier. Usually "uid" or "sAMAccountName".
|
hint: The field storing the user unique identifier. Usually "uid" or "sAMAccountName".
|
||||||
|
maxWidth: 500
|
||||||
order: 20
|
order: 20
|
||||||
mappingEmail:
|
mappingEmail:
|
||||||
title: Email Field Mapping
|
title: Email Field Mapping
|
||||||
type: String
|
type: String
|
||||||
default: 'mail'
|
default: 'mail'
|
||||||
hint: The field storing the user email. Usually "mail".
|
hint: The field storing the user email. Usually "mail".
|
||||||
|
maxWidth: 500
|
||||||
order: 21
|
order: 21
|
||||||
mappingDisplayName:
|
mappingDisplayName:
|
||||||
title: Display Name Field Mapping
|
title: Display Name Field Mapping
|
||||||
type: String
|
type: String
|
||||||
default: 'displayName'
|
default: 'displayName'
|
||||||
hint: The field storing the user display name. Usually "displayName" or "cn".
|
hint: The field storing the user display name. Usually "displayName" or "cn".
|
||||||
|
maxWidth: 500
|
||||||
order: 22
|
order: 22
|
||||||
mappingPicture:
|
mappingPicture:
|
||||||
title: Avatar Picture Field Mapping
|
title: Avatar Picture Field Mapping
|
||||||
type: String
|
type: String
|
||||||
default: 'jpegPhoto'
|
default: 'jpegPhoto'
|
||||||
hint: The field storing the user avatar picture. Usually "jpegPhoto" or "thumbnailPhoto".
|
hint: The field storing the user avatar picture. Usually "jpegPhoto" or "thumbnailPhoto".
|
||||||
|
maxWidth: 500
|
||||||
order: 23
|
order: 23
|
||||||
|
@ -12,23 +12,26 @@ scopes:
|
|||||||
- email
|
- email
|
||||||
- openid
|
- openid
|
||||||
props:
|
props:
|
||||||
clientId:
|
|
||||||
title: Client ID
|
|
||||||
type: String
|
|
||||||
hint: 20 chars alphanumeric string
|
|
||||||
order: 2
|
|
||||||
clientSecret:
|
|
||||||
title: Client Secret
|
|
||||||
type: String
|
|
||||||
hint: 40 chars alphanumeric string with a hyphen(s)
|
|
||||||
order: 3
|
|
||||||
idp:
|
|
||||||
title: Identity Provider ID (idp)
|
|
||||||
type: String
|
|
||||||
hint: (Optional) - 20 chars alphanumeric string
|
|
||||||
order: 4
|
|
||||||
audience:
|
audience:
|
||||||
title: Org URL
|
title: Org URL
|
||||||
type: String
|
type: String
|
||||||
hint: Okta organization URL (e.g. https://example.okta.com, https://example.oktapreview.com), found on the Developer Dashboard, in the upper right.
|
hint: Okta organization URL (e.g. https://example.okta.com, https://example.oktapreview.com), found on the Developer Dashboard, in the upper right.
|
||||||
order: 1
|
order: 1
|
||||||
|
clientId:
|
||||||
|
title: Client ID
|
||||||
|
type: String
|
||||||
|
hint: 20 chars alphanumeric string
|
||||||
|
maxWidth: 400
|
||||||
|
order: 2
|
||||||
|
clientSecret:
|
||||||
|
title: Client Secret
|
||||||
|
type: String
|
||||||
|
hint: 40 chars alphanumeric string with a hyphen(s)
|
||||||
|
maxWidth: 600
|
||||||
|
order: 3
|
||||||
|
idp:
|
||||||
|
title: Identity Provider ID (idp)
|
||||||
|
type: String
|
||||||
|
hint: (Optional) - 20 chars alphanumeric string
|
||||||
|
maxWidth: 400
|
||||||
|
order: 4
|
||||||
|
@ -45,6 +45,7 @@ props:
|
|||||||
type: String
|
type: String
|
||||||
title: Signature Algorithm
|
title: Signature Algorithm
|
||||||
hint: Signature algorithm used for signing requests
|
hint: Signature algorithm used for signing requests
|
||||||
|
maxWidth: 400
|
||||||
order: 7
|
order: 7
|
||||||
default: sha1
|
default: sha1
|
||||||
enum:
|
enum:
|
||||||
@ -96,6 +97,7 @@ props:
|
|||||||
type: String
|
type: String
|
||||||
title: Request Binding
|
title: Request Binding
|
||||||
hint: Binding used for request authentication from IDP.
|
hint: Binding used for request authentication from IDP.
|
||||||
|
maxWidth: 400
|
||||||
order: 15
|
order: 15
|
||||||
default: 'HTTP-POST'
|
default: 'HTTP-POST'
|
||||||
enum:
|
enum:
|
||||||
|
@ -6,7 +6,7 @@ logo: https://static.requarks.io/logo/commento.svg
|
|||||||
website: https://commento.io/
|
website: https://commento.io/
|
||||||
displayMode: footer
|
displayMode: footer
|
||||||
codeTemplate: true
|
codeTemplate: true
|
||||||
isAvailable: true
|
isAvailable: false
|
||||||
props:
|
props:
|
||||||
instanceUrl:
|
instanceUrl:
|
||||||
type: String
|
type: String
|
||||||
|
@ -8,12 +8,16 @@ displayMode: dynamic
|
|||||||
codeTemplate: false
|
codeTemplate: false
|
||||||
isAvailable: true
|
isAvailable: true
|
||||||
props:
|
props:
|
||||||
displayMode:
|
akismet:
|
||||||
type: String
|
type: String
|
||||||
title: Display mode
|
title: Akismet API Key
|
||||||
default: 'page'
|
default: ''
|
||||||
enum:
|
hint: 'Prevent spam by using the Akismet service. Enter your API key here to enable. Leave empty to disable.'
|
||||||
- inline
|
|
||||||
- page
|
|
||||||
hint: Whether to display the comments under the content (inline) or on a dedicated page (page).
|
|
||||||
order: 1
|
order: 1
|
||||||
|
minDelay:
|
||||||
|
type: Number
|
||||||
|
title: Post delay
|
||||||
|
default: 30
|
||||||
|
hint: 'Minimum delay (in seconds) between comments per IP address.'
|
||||||
|
maxWidth: 400
|
||||||
|
order: 2
|
||||||
|
@ -6,7 +6,7 @@ logo: https://static.requarks.io/logo/disqus.svg
|
|||||||
website: https://disqus.com/
|
website: https://disqus.com/
|
||||||
displayMode: footer
|
displayMode: footer
|
||||||
codeTemplate: true
|
codeTemplate: true
|
||||||
isAvailable: true
|
isAvailable: false
|
||||||
props:
|
props:
|
||||||
accountName:
|
accountName:
|
||||||
type: String
|
type: String
|
||||||
|
Loading…
Reference in New Issue
Block a user