feat: assets move + comments migration + admin users UI
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:analytics.title') }}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:analytics.subtitle') }}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{$t('admin:api.title')}}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft {{$t('admin:api.subtitle')}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:auth.title') }}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:auth.subtitle') }}
|
||||
@@ -92,7 +92,7 @@
|
||||
.overline.my-5 {{$t('admin:auth.strategyConfiguration')}}
|
||||
.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')
|
||||
v-select(
|
||||
v-select.mb-3(
|
||||
v-if='cfg.value.type === "string" && cfg.value.enum'
|
||||
outlined
|
||||
:items='cfg.value.enum'
|
||||
@@ -103,8 +103,9 @@
|
||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||
persistent-hint
|
||||
: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"'
|
||||
:key='cfg.key'
|
||||
:label='cfg.value.title'
|
||||
@@ -115,7 +116,7 @@
|
||||
persistent-hint
|
||||
inset
|
||||
)
|
||||
v-textarea(
|
||||
v-textarea.mb-3(
|
||||
v-else-if='cfg.value.type === "string" && cfg.value.multiline'
|
||||
outlined
|
||||
:key='cfg.key'
|
||||
@@ -126,7 +127,7 @@
|
||||
persistent-hint
|
||||
:class='cfg.value.hint ? "mb-2" : ""'
|
||||
)
|
||||
v-text-field(
|
||||
v-text-field.mb-3(
|
||||
v-else
|
||||
outlined
|
||||
:key='cfg.key'
|
||||
@@ -136,6 +137,7 @@
|
||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||
persistent-hint
|
||||
:class='cfg.value.hint ? "mb-2" : ""'
|
||||
:style='cfg.value.maxWidth > 0 ? `max-width:` + cfg.value.maxWidth + `px;` : ``'
|
||||
)
|
||||
v-divider.mt-3
|
||||
.overline.my-5 {{$t('admin:auth.registration')}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{$t('admin:comments.title')}}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:comments.subtitle')}}
|
||||
@@ -45,7 +45,7 @@
|
||||
.overline.my-5 {{$t('admin:comments.providerConfig')}}
|
||||
.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')
|
||||
v-select(
|
||||
v-select.mb-3(
|
||||
v-if='cfg.value.type === "string" && cfg.value.enum'
|
||||
outlined
|
||||
:items='cfg.value.enum'
|
||||
@@ -56,8 +56,9 @@
|
||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||
persistent-hint
|
||||
: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"'
|
||||
:key='cfg.key'
|
||||
:label='cfg.value.title'
|
||||
@@ -68,7 +69,7 @@
|
||||
persistent-hint
|
||||
inset
|
||||
)
|
||||
v-textarea(
|
||||
v-textarea.mb-3(
|
||||
v-else-if='cfg.value.type === "string" && cfg.value.multiline'
|
||||
outlined
|
||||
:key='cfg.key'
|
||||
@@ -79,7 +80,7 @@
|
||||
persistent-hint
|
||||
:class='cfg.value.hint ? "mb-2" : ""'
|
||||
)
|
||||
v-text-field(
|
||||
v-text-field.mb-3(
|
||||
v-else
|
||||
outlined
|
||||
:key='cfg.key'
|
||||
@@ -89,6 +90,7 @@
|
||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||
persistent-hint
|
||||
:class='cfg.value.hint ? "mb-2" : ""'
|
||||
:style='cfg.value.maxWidth > 0 ? `max-width:` + cfg.value.maxWidth + `px;` : ``'
|
||||
)
|
||||
</template>
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:contribute.title') }}
|
||||
.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-tab
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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')
|
||||
.body-2.pa-3 {{ $t('admin:contribute.github') }}
|
||||
a.ml-3(href='https://github.com/users/NGPixel/sponsorship', :title='$t(`admin:contribute.becomeASponsor`)')
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:dashboard.title') }}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{ $t('admin:dashboard.subtitle') }}
|
||||
@@ -95,7 +95,7 @@
|
||||
v-flex(xs12)
|
||||
v-card.dashboard-contribute.animated.fadeInUp.wait-p4s
|
||||
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
|
||||
.subtitle-1 {{$t('admin:contribute.title')}}
|
||||
.body-2.mt-3: strong {{$t('admin:dashboard.contributeSubtitle')}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text Developer Tools
|
||||
.subtitle-1.grey--text Flags
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text Editor
|
||||
.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-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:extensions.title') }}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:extensions.subtitle') }}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:general.title') }}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:general.subtitle') }}
|
||||
@@ -111,41 +111,39 @@
|
||||
v-card.animated.fadeInUp.wait-p4s
|
||||
v-toolbar(color='indigo', dark, dense, flat)
|
||||
v-toolbar-title.subtitle-1 Features
|
||||
v-spacer
|
||||
v-chip(label, color='white', small).indigo--text coming soon
|
||||
v-card-text
|
||||
v-switch(
|
||||
inset
|
||||
label='Asset Image Optimization'
|
||||
color='indigo'
|
||||
v-model='config.featureTinyPNG'
|
||||
persistent-hint
|
||||
hint='Image optimization tool to reduce filesize and bandwidth costs.'
|
||||
disabled
|
||||
)
|
||||
v-text-field.mt-3(
|
||||
outlined
|
||||
label='TinyPNG API Key'
|
||||
:counter='255'
|
||||
v-model='config.description'
|
||||
prepend-icon='mdi-subdirectory-arrow-right'
|
||||
hint='Get your API key at https://tinypng.com/developers'
|
||||
persistent-hint
|
||||
disabled
|
||||
)
|
||||
//- v-switch(
|
||||
//- inset
|
||||
//- label='Asset Image Optimization'
|
||||
//- color='indigo'
|
||||
//- v-model='config.featureTinyPNG'
|
||||
//- persistent-hint
|
||||
//- hint='Image optimization tool to reduce filesize and bandwidth costs.'
|
||||
//- disabled
|
||||
//- )
|
||||
//- v-text-field.mt-3(
|
||||
//- outlined
|
||||
//- label='TinyPNG API Key'
|
||||
//- :counter='255'
|
||||
//- v-model='config.description'
|
||||
//- prepend-icon='mdi-subdirectory-arrow-right'
|
||||
//- hint='Get your API key at https://tinypng.com/developers'
|
||||
//- persistent-hint
|
||||
//- disabled
|
||||
//- )
|
||||
|
||||
v-divider.mt-3
|
||||
v-switch(
|
||||
inset
|
||||
label='Page Ratings'
|
||||
color='indigo'
|
||||
v-model='config.featurePageRatings'
|
||||
persistent-hint
|
||||
hint='Allow users to rate pages.'
|
||||
disabled
|
||||
)
|
||||
//- v-divider.mt-3
|
||||
//- v-switch(
|
||||
//- inset
|
||||
//- label='Page Ratings'
|
||||
//- color='indigo'
|
||||
//- v-model='config.featurePageRatings'
|
||||
//- persistent-hint
|
||||
//- hint='Allow users to rate pages.'
|
||||
//- disabled
|
||||
//- )
|
||||
|
||||
v-divider.mt-3
|
||||
//- v-divider.mt-3
|
||||
v-switch(
|
||||
inset
|
||||
label='Page Comments'
|
||||
@@ -153,19 +151,18 @@
|
||||
v-model='config.featurePageComments'
|
||||
persistent-hint
|
||||
hint='Allow users to leave comments on pages.'
|
||||
disabled
|
||||
)
|
||||
|
||||
v-divider.mt-3
|
||||
v-switch(
|
||||
inset
|
||||
label='Personal Wikis'
|
||||
color='indigo'
|
||||
v-model='config.featurePersonalWikis'
|
||||
persistent-hint
|
||||
hint='Allow users to have their own personal wiki.'
|
||||
disabled
|
||||
)
|
||||
//- v-divider.mt-3
|
||||
//- v-switch(
|
||||
//- inset
|
||||
//- label='Personal Wikis'
|
||||
//- color='indigo'
|
||||
//- v-model='config.featurePersonalWikis'
|
||||
//- persistent-hint
|
||||
//- hint='Allow users to have their own personal wiki.'
|
||||
//- disabled
|
||||
//- )
|
||||
|
||||
component(:is='activeModal')
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.blue--text.text--darken-2 Edit Group
|
||||
.subtitle-1.grey--text {{group.name}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.blue--text.text--darken-2.animated.fadeInLeft Groups
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s Manage groups and their permissions
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:locale.title') }}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:locale.subtitle') }}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text Logging
|
||||
.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-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:mail.title') }}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:mail.subtitle') }}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{$t('navigation.title')}}
|
||||
.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(value='TREE')
|
||||
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-title {{$t('admin:navigation.modeSiteTree.title')}}
|
||||
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-list-item(value='MIXED')
|
||||
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-title {{$t('admin:navigation.modeCustom.title')}}
|
||||
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-list-item(value='STATIC')
|
||||
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-title {{$t('admin:navigation.modeStatic.title')}}
|
||||
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-list-item(value='NONE')
|
||||
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-title {{$t('admin:navigation.modeNone.title')}}
|
||||
v-list-item-subtitle {{$t('admin:navigation.modeNone.description')}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap, v-if='page.id')
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.blue--text.text--darken-2.animated.fadeInLeft Page Details
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.blue--text.text--darken-2.animated.fadeInLeft Visualize Pages
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s Dendrogram representation of your pages
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.blue--text.text--darken-2.animated.fadeInLeft Pages
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s Manage pages
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft Rendering
|
||||
v-spacer
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{$t('admin:search.title')}}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:search.subtitle')}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:security.title') }}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:security.subtitle') }}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:ssl.title') }}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft {{ $t('admin:ssl.subtitle') }}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{$t('admin:storage.title')}}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{$t('admin:storage.subtitle')}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:system.title') }}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{ $t('admin:system.subtitle') }}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{$t('tags.title')}}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{$t('tags.subtitle')}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{$t('admin:theme.title')}}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:theme.subtitle')}}
|
||||
|
||||
@@ -91,9 +91,9 @@
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import validate from 'validate.js'
|
||||
import gql from 'graphql-tag'
|
||||
|
||||
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'
|
||||
|
||||
export default {
|
||||
@@ -227,7 +227,20 @@ export default {
|
||||
},
|
||||
apollo: {
|
||||
providers: {
|
||||
query: providersQuery,
|
||||
query: gql`
|
||||
query {
|
||||
authentication {
|
||||
strategies(
|
||||
isEnabled: true
|
||||
) {
|
||||
key
|
||||
title
|
||||
icon
|
||||
color
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
fetchPolicy: 'network-only',
|
||||
update: (data) => data.authentication.strategies,
|
||||
watchLoading (isLoading) {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.blue--text.text--darken-2.animated.fadeInLeft {{$t('admin:users.edit')}}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{user.name}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.blue--text.text--darken-2.animated.fadeInLeft Users
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s Manage users
|
||||
@@ -55,10 +55,12 @@
|
||||
td {{ props.item.providerKey }}
|
||||
td {{ props.item.createdAt | moment('from') }}
|
||||
td
|
||||
v-tooltip(left, v-if='props.item.isSystem')
|
||||
template(v-slot:activator='{ on }')
|
||||
v-icon(v-on='{ on }') mdi-lock-outline
|
||||
span System User
|
||||
span(v-if='props.item.lastLoginAt') {{ props.item.lastLoginAt | moment('from') }}
|
||||
em.grey--text(v-else) Never
|
||||
td.text-right
|
||||
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')
|
||||
.pa-3
|
||||
v-alert.text-left(icon='mdi-alert', outlined, color='grey')
|
||||
@@ -73,14 +75,14 @@
|
||||
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import gql from 'graphql-tag'
|
||||
|
||||
import usersQuery from 'gql/admin/users/users-query-list.gql'
|
||||
import providersQuery from 'gql/admin/users/users-query-strategies.gql'
|
||||
|
||||
import { StatusIndicator } from 'vue-status-indicator'
|
||||
import UserCreate from './admin-users-create.vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
StatusIndicator,
|
||||
UserCreate
|
||||
},
|
||||
data() {
|
||||
@@ -95,7 +97,8 @@ export default {
|
||||
{ text: 'Email', value: 'email', sortable: true },
|
||||
{ text: 'Provider', value: 'provider', 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: [],
|
||||
filterStrategy: 'all',
|
||||
@@ -127,7 +130,22 @@ export default {
|
||||
},
|
||||
apollo: {
|
||||
users: {
|
||||
query: usersQuery,
|
||||
query: gql`
|
||||
query {
|
||||
users {
|
||||
list {
|
||||
id
|
||||
name
|
||||
email
|
||||
providerKey
|
||||
isSystem
|
||||
isActive
|
||||
createdAt
|
||||
lastLoginAt
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
fetchPolicy: 'network-only',
|
||||
update: (data) => data.users.list,
|
||||
watchLoading (isLoading) {
|
||||
@@ -136,7 +154,20 @@ export default {
|
||||
}
|
||||
},
|
||||
strategies: {
|
||||
query: providersQuery,
|
||||
query: gql`
|
||||
query {
|
||||
authentication {
|
||||
strategies(
|
||||
isEnabled: true
|
||||
) {
|
||||
key
|
||||
title
|
||||
icon
|
||||
color
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
fetchPolicy: 'network-only',
|
||||
update: (data) => {
|
||||
return _.concat({
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
.subtitle-1 {{ $t('admin:utilities.importv1Title') }}
|
||||
v-card-text
|
||||
.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
|
||||
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?
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text {{$t('admin:utilities.title')}}
|
||||
.subtitle-1.grey--text {{$t('admin:utilities.subtitle')}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
v-layout(row, wrap)
|
||||
v-flex(xs12)
|
||||
.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
|
||||
.headline.primary--text.animated.fadeInLeft {{ $t('admin:webhooks.title') }}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{ $t('admin:webhooks.subtitle') }}
|
||||
|
||||
Reference in New Issue
Block a user