fix: admin rendering UI + dark mode
This commit is contained in:
@@ -29,11 +29,11 @@
|
||||
v-list-item-content
|
||||
v-list-item-title.body-2(:class='!str.isAvailable ? `grey--text` : (selectedStrategy === str.key ? `primary--text` : ``)') {{ str.title }}
|
||||
v-list-item-subtitle: .caption(:class='!str.isAvailable ? `grey--text text--lighten-1` : (selectedStrategy === str.key ? `blue--text ` : ``)') {{ str.description }}
|
||||
v-list-item-avatar(v-if='selectedStrategy === str.key')
|
||||
v-list-item-avatar(v-if='selectedStrategy === str.key', size='24')
|
||||
v-icon.animated.fadeInLeft(color='primary', large) mdi-chevron-right
|
||||
v-divider(v-if='idx < strategies.length - 1')
|
||||
|
||||
v-card.wiki-form.mt-3.animated.fadeInUp.wait-p2s
|
||||
v-card.mt-3.animated.fadeInUp.wait-p2s
|
||||
v-toolbar(flat, color='primary', dark, dense)
|
||||
.subtitle-1 {{$t('admin:auth.globalAdvSettings')}}
|
||||
v-card-text
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
v-flex(xs12, lg9)
|
||||
|
||||
v-card.wiki-form.animated.fadeInUp.wait-p2s
|
||||
v-card.animated.fadeInUp.wait-p2s
|
||||
v-toolbar(color='primary', dense, flat, dark)
|
||||
.subtitle-1 {{strategy.title}}
|
||||
v-card-text
|
||||
@@ -194,7 +194,7 @@
|
||||
.subtitle-1 {{$t('admin:auth.configReference')}}
|
||||
v-card-text
|
||||
.body-2 {{$t('admin:auth.configReferenceSubtitle')}}
|
||||
v-alert.mt-3.radius-7(v-if='host.length < 8', color='red', outline, :value='true', icon='warning')
|
||||
v-alert.mt-3.radius-7(v-if='host.length < 8', color='red', outlined, :value='true', icon='mdi-alert')
|
||||
i18next(path='admin:auth.siteUrlNotSetup', tag='span')
|
||||
strong(place='siteUrl') {{$t('admin:general.siteUrl')}}
|
||||
strong(place='general') {{$t('admin:general.title')}}
|
||||
|
@@ -54,7 +54,7 @@
|
||||
.body-2(v-else) {{$t('admin:dashboard.versionNew', { version: info.latestVersion })}}
|
||||
v-flex(xs12, xl6)
|
||||
v-card.radius-7.animated.fadeInUp.wait-p2s
|
||||
v-card-title.subtitle-1(:class='$vuetify.dark ? `grey darken-2` : `grey lighten-5`') Recent Pages
|
||||
v-card-title.subtitle-1(:class='$vuetify.theme.dark ? `grey darken-2` : `grey lighten-5`') Recent Pages
|
||||
v-data-table.pb-2(
|
||||
:items='recentPages'
|
||||
hide-default-footer
|
||||
@@ -71,7 +71,7 @@
|
||||
.caption Created {{ props.item.createdAt | moment('calendar') }}
|
||||
v-flex(xs12, xl6)
|
||||
v-card.radius-7.animated.fadeInUp.wait-p4s
|
||||
v-card-title.subtitle-1(:class='$vuetify.dark ? `grey darken-2` : `grey lighten-5`') Most Popular Pages
|
||||
v-card-title.subtitle-1(:class='$vuetify.theme.dark ? `grey darken-2` : `grey lighten-5`') Most Popular Pages
|
||||
v-data-table.pb-2(
|
||||
:items='popularPages'
|
||||
hide-default-footer
|
||||
|
@@ -8,10 +8,10 @@
|
||||
.headline.primary--text.animated.fadeInLeft Rendering
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s Configure how content is rendered #[v-chip(label, color='primary', small).white--text coming soon]
|
||||
v-spacer
|
||||
v-btn.animated.fadeInDown.wait-p2s(outline, color='grey', @click='refresh', large)
|
||||
v-icon refresh
|
||||
v-btn.mx-3.animated.fadeInDown.wait-p2s(outlined, color='grey', @click='refresh', large)
|
||||
v-icon mdi-refresh
|
||||
v-btn.animated.fadeInDown(color='success', @click='save', depressed, large)
|
||||
v-icon(left) check
|
||||
v-icon(left) mdi-check
|
||||
span {{$t('common:actions.apply')}}
|
||||
|
||||
v-flex.animated.fadeInUp(lg3, xs12)
|
||||
@@ -21,43 +21,49 @@
|
||||
flat
|
||||
dark
|
||||
)
|
||||
v-icon.mr-2 line_weight
|
||||
v-icon.mr-2 mdi-creation
|
||||
.subtitle-1 Pipeline
|
||||
v-expansion-panel.adm-rendering-pipeline(v-model='selectedCore')
|
||||
v-expansion-panel-content(
|
||||
hide-actions
|
||||
v-expansion-panels.adm-rendering-pipeline(
|
||||
v-model='selectedCore'
|
||||
accordion
|
||||
mandatory
|
||||
)
|
||||
v-expansion-panel(
|
||||
v-for='core in renderers'
|
||||
:key='core.key'
|
||||
)
|
||||
v-toolbar(
|
||||
slot='header'
|
||||
color='blue'
|
||||
dense
|
||||
dark
|
||||
flat
|
||||
)
|
||||
v-spacer
|
||||
.body-2 {{core.input}}
|
||||
v-icon.mx-2 arrow_forward
|
||||
.caption {{core.output}}
|
||||
v-spacer
|
||||
v-list.py-0(two-line, dense)
|
||||
template(v-for='(rdr, n) in core.children')
|
||||
v-list-item(
|
||||
avatar
|
||||
:key='rdr.key'
|
||||
@click='selectRenderer(rdr.key)'
|
||||
:class='currentRenderer.key === rdr.key ? (darkMode ? `grey darken-4-l4` : `blue lighten-5`) : ``'
|
||||
)
|
||||
v-list-item-avatar
|
||||
v-icon(:color='currentRenderer.key === rdr.key ? "primary" : "grey"') {{rdr.icon}}
|
||||
v-list-item-content
|
||||
v-list-item-title {{rdr.title}}
|
||||
v-list-item-sub-title {{rdr.description}}
|
||||
v-list-item-avatar
|
||||
status-indicator(v-if='rdr.isEnabled', positive, pulse)
|
||||
status-indicator(v-else, negative, pulse)
|
||||
v-divider.my-0(v-if='n < core.children.length - 1')
|
||||
v-expansion-panel-header(
|
||||
hide-actions
|
||||
ripple
|
||||
)
|
||||
v-toolbar(
|
||||
color='blue'
|
||||
dense
|
||||
dark
|
||||
flat
|
||||
)
|
||||
v-spacer
|
||||
.body-2 {{core.input}}
|
||||
v-icon.mx-2 mdi-arrow-right-bold-hexagon-outline
|
||||
.caption {{core.output}}
|
||||
v-spacer
|
||||
v-expansion-panel-content
|
||||
v-list.py-0(two-line, dense)
|
||||
template(v-for='(rdr, n) in core.children')
|
||||
v-list-item(
|
||||
:key='rdr.key'
|
||||
@click='selectRenderer(rdr.key)'
|
||||
:class='currentRenderer.key === rdr.key ? (darkMode ? `grey darken-4-l4` : `blue lighten-5`) : ``'
|
||||
)
|
||||
v-list-item-avatar(size='24')
|
||||
v-icon(:color='currentRenderer.key === rdr.key ? "primary" : "grey"') {{rdr.icon}}
|
||||
v-list-item-content
|
||||
v-list-item-title {{rdr.title}}
|
||||
v-list-item-subtitle: .caption {{rdr.description}}
|
||||
v-list-item-avatar(size='24')
|
||||
status-indicator(v-if='rdr.isEnabled', positive, pulse)
|
||||
status-indicator(v-else, negative, pulse)
|
||||
v-divider.my-0(v-if='n < core.children.length - 1')
|
||||
|
||||
v-flex(lg9, xs12)
|
||||
v-card.wiki-form.animated.fadeInUp
|
||||
@@ -70,20 +76,20 @@
|
||||
v-icon.mr-2 {{currentRenderer.icon}}
|
||||
.subtitle-1 {{currentRenderer.title}}
|
||||
v-spacer
|
||||
.pt-3.mt-1
|
||||
v-switch(
|
||||
dark
|
||||
color='white'
|
||||
label='Enabled'
|
||||
v-model='currentRenderer.isEnabled'
|
||||
)
|
||||
v-switch(
|
||||
dark
|
||||
color='white'
|
||||
label='Enabled'
|
||||
v-model='currentRenderer.isEnabled'
|
||||
hide-details
|
||||
)
|
||||
v-card-text.pb-4.pt-2.pl-4
|
||||
v-subheader.pl-0 Rendering Module Configuration
|
||||
.body-1.ml-3(v-if='!currentRenderer.config || currentRenderer.config.length < 1') This rendering module has no configuration options you can modify.
|
||||
.overline.my-5 Rendering Module Configuration
|
||||
.body-2.ml-3(v-if='!currentRenderer.config || currentRenderer.config.length < 1'): em This rendering module has no configuration options you can modify.
|
||||
template(v-else, v-for='(cfg, idx) in currentRenderer.config')
|
||||
v-select(
|
||||
v-if='cfg.value.type === "string" && cfg.value.enum'
|
||||
outline
|
||||
outlined
|
||||
:items='cfg.value.enum'
|
||||
:key='cfg.key'
|
||||
:label='cfg.value.title'
|
||||
@@ -103,7 +109,7 @@
|
||||
)
|
||||
v-text-field(
|
||||
v-else
|
||||
outline
|
||||
outlined
|
||||
:key='cfg.key'
|
||||
:label='cfg.value.title'
|
||||
v-model='cfg.value.value'
|
||||
@@ -111,7 +117,7 @@
|
||||
persistent-hint
|
||||
:class='cfg.value.hint ? "mb-2" : ""'
|
||||
)
|
||||
v-divider.my-3(v-if='idx < currentRenderer.config.length - 1')
|
||||
v-divider.my-5(v-if='idx < currentRenderer.config.length - 1')
|
||||
v-card-chin
|
||||
v-spacer
|
||||
.caption.pr-3.grey--text Module: {{ currentRenderer.key }}
|
||||
@@ -211,10 +217,17 @@ export default {
|
||||
|
||||
<style lang='scss'>
|
||||
.adm-rendering-pipeline {
|
||||
border-top: 1px solid #FFF;
|
||||
.v-expansion-panel--active .v-expansion-panel-header {
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.v-expansion-panel__header {
|
||||
padding: 0 0;
|
||||
.v-expansion-panel-header {
|
||||
padding: 0;
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
.v-expansion-panel-content__wrap {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@@ -8,13 +8,13 @@
|
||||
.headline.primary--text.animated.fadeInLeft {{$t('admin:search.title')}}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p2s {{$t('admin:search.subtitle')}}
|
||||
v-spacer
|
||||
v-btn.animated.fadeInDown.wait-p2s(outline, color='grey', @click='refresh', large)
|
||||
v-icon refresh
|
||||
v-btn.animated.fadeInDown.wait-p1s(color='black', dark, large, depressed, @click='rebuild')
|
||||
v-icon(left) cached
|
||||
v-btn.mx-1.animated.fadeInDown.wait-p2s(outlined, color='grey', @click='refresh', large)
|
||||
v-icon mdi-refresh
|
||||
v-btn.mx-2.animated.fadeInDown.wait-p1s(color='black', dark, large, depressed, @click='rebuild')
|
||||
v-icon(left) mdi-cached
|
||||
span {{$t('admin:search.rebuildIndex')}}
|
||||
v-btn.animated.fadeInDown(color='success', @click='save', depressed, large)
|
||||
v-icon(left) check
|
||||
v-btn.ml-1.animated.fadeInDown(color='success', @click='save', depressed, large)
|
||||
v-icon(left) mdi-check
|
||||
span {{$t('common:actions.apply')}}
|
||||
|
||||
v-flex(lg3, xs12)
|
||||
@@ -24,19 +24,19 @@
|
||||
v-list.py-0(two-line, dense)
|
||||
template(v-for='(eng, idx) in engines')
|
||||
v-list-item(:key='eng.key', @click='selectedEngine = eng.key', :disabled='!eng.isAvailable')
|
||||
v-list-item-avatar
|
||||
v-icon(color='grey', v-if='!eng.isAvailable') cancel
|
||||
v-icon(color='primary', v-else-if='eng.key === selectedEngine') radio_button_checked
|
||||
v-icon(color='grey', v-else) radio_button_unchecked
|
||||
v-list-item-avatar(size='24')
|
||||
v-icon(color='grey', v-if='!eng.isAvailable') mdi-minus-box-outline
|
||||
v-icon(color='primary', v-else-if='eng.key === selectedEngine') mdi-checkbox-marked-outline
|
||||
v-icon(color='grey', v-else) mdi-checkbox-blank-outline
|
||||
v-list-item-content
|
||||
v-list-item-title.body-2(:class='!eng.isAvailable ? `grey--text` : (selectedEngine === eng.key ? `primary--text` : ``)') {{ eng.title }}
|
||||
v-list-item-sub-title.caption(:class='!eng.isAvailable ? `grey--text text--lighten-1` : (selectedEngine === eng.key ? `blue--text ` : ``)') {{ eng.description }}
|
||||
v-list-item-avatar(v-if='selectedEngine === eng.key')
|
||||
v-icon.animated.fadeInLeft(color='primary') arrow_forward_ios
|
||||
v-list-item-subtitle: .caption(:class='!eng.isAvailable ? `grey--text text--lighten-1` : (selectedEngine === eng.key ? `blue--text ` : ``)') {{ eng.description }}
|
||||
v-list-item-avatar(v-if='selectedEngine === eng.key', size='24')
|
||||
v-icon.animated.fadeInLeft(color='primary', large) mdi-chevron-right
|
||||
v-divider(v-if='idx < engines.length - 1')
|
||||
|
||||
v-flex(lg9, xs12)
|
||||
v-card.wiki-form.animated.fadeInUp.wait-p2s
|
||||
v-card.animated.fadeInUp.wait-p2s
|
||||
v-toolbar(color='primary', dense, flat, dark)
|
||||
.subtitle-1 {{engine.title}}
|
||||
v-card-text
|
||||
@@ -45,18 +45,17 @@
|
||||
.caption.pt-3 {{engine.description}}
|
||||
.caption.pb-3: a(:href='engine.website') {{engine.website}}
|
||||
v-divider.mt-3
|
||||
v-subheader.pl-0 {{$t('admin:search.engineConfig')}}
|
||||
.body-1.ml-3(v-if='!engine.config || engine.config.length < 1') {{$t('admin:search.engineNoConfig')}}
|
||||
.overline.my-5 {{$t('admin:search.engineConfig')}}
|
||||
.body-2.ml-3(v-if='!engine.config || engine.config.length < 1'): em {{$t('admin:search.engineNoConfig')}}
|
||||
template(v-else, v-for='cfg in engine.config')
|
||||
v-select(
|
||||
v-if='cfg.value.type === "string" && cfg.value.enum'
|
||||
outline
|
||||
background-color='grey lighten-2'
|
||||
outlined
|
||||
:items='cfg.value.enum'
|
||||
:key='cfg.key'
|
||||
:label='cfg.value.title'
|
||||
v-model='cfg.value.value'
|
||||
prepend-icon='settings_applications'
|
||||
prepend-icon='mdi-settings-box'
|
||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||
persistent-hint
|
||||
:class='cfg.value.hint ? "mb-2" : ""'
|
||||
@@ -67,30 +66,28 @@
|
||||
:label='cfg.value.title'
|
||||
v-model='cfg.value.value'
|
||||
color='primary'
|
||||
prepend-icon='settings_applications'
|
||||
prepend-icon='mdi-settings-box'
|
||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||
persistent-hint
|
||||
)
|
||||
v-textarea(
|
||||
v-else-if='cfg.value.type === "string" && cfg.value.multiline'
|
||||
outline
|
||||
background-color='grey lighten-2'
|
||||
outlined
|
||||
:key='cfg.key'
|
||||
:label='cfg.value.title'
|
||||
v-model='cfg.value.value'
|
||||
prepend-icon='settings_applications'
|
||||
prepend-icon='mdi-settings-box'
|
||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||
persistent-hint
|
||||
:class='cfg.value.hint ? "mb-2" : ""'
|
||||
)
|
||||
v-text-field(
|
||||
v-else
|
||||
outline
|
||||
background-color='grey lighten-2'
|
||||
outlined
|
||||
:key='cfg.key'
|
||||
:label='cfg.value.title'
|
||||
v-model='cfg.value.value'
|
||||
prepend-icon='settings_applications'
|
||||
prepend-icon='mdi-settings-box'
|
||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||
persistent-hint
|
||||
:class='cfg.value.hint ? "mb-2" : ""'
|
||||
|
@@ -8,10 +8,10 @@
|
||||
.headline.primary--text.animated.fadeInLeft {{$t('admin:storage.title')}}
|
||||
.subtitle-1.grey--text.animated.fadeInLeft.wait-p4s {{$t('admin:storage.subtitle')}}
|
||||
v-spacer
|
||||
v-btn.animated.fadeInDown.wait-p2s(outline, color='grey', @click='refresh', large)
|
||||
v-icon refresh
|
||||
v-btn.mx-3.animated.fadeInDown.wait-p2s(outlined, color='grey', @click='refresh', large)
|
||||
v-icon mdi-refresh
|
||||
v-btn.animated.fadeInDown(color='success', @click='save', depressed, large)
|
||||
v-icon(left) check
|
||||
v-icon(left) mdi-check
|
||||
span {{$t('common:actions.apply')}}
|
||||
|
||||
v-flex(lg3, xs12)
|
||||
@@ -21,15 +21,15 @@
|
||||
v-list(two-line, dense).py-0
|
||||
template(v-for='(tgt, idx) in targets')
|
||||
v-list-item(:key='tgt.key', @click='selectedTarget = tgt.key', :disabled='!tgt.isAvailable')
|
||||
v-list-item-avatar
|
||||
v-icon(color='grey', v-if='!tgt.isAvailable') indeterminate_check_box
|
||||
v-icon(color='primary', v-else-if='tgt.isEnabled', v-ripple, @click='tgt.key !== `local` && (tgt.isEnabled = false)') check_box
|
||||
v-icon(color='grey', v-else, v-ripple, @click='tgt.isEnabled = true') check_box_outline_blank
|
||||
v-list-item-avatar(size='24')
|
||||
v-icon(color='grey', v-if='!tgt.isAvailable') mdi-minus-box-outline
|
||||
v-icon(color='primary', v-else-if='tgt.isEnabled', v-ripple, @click='tgt.key !== `local` && (tgt.isEnabled = false)') mdi-checkbox-marked-outline
|
||||
v-icon(color='grey', v-else, v-ripple, @click='tgt.isEnabled = true') mdi-checkbox-blank-outline
|
||||
v-list-item-content
|
||||
v-list-item-title.body-2(:class='!tgt.isAvailable ? `grey--text` : (selectedTarget === tgt.key ? `primary--text` : ``)') {{ tgt.title }}
|
||||
v-list-item-sub-title.caption(:class='!tgt.isAvailable ? `grey--text text--lighten-1` : (selectedTarget === tgt.key ? `blue--text ` : ``)') {{ tgt.description }}
|
||||
v-list-item-avatar(v-if='selectedTarget === tgt.key')
|
||||
v-icon.animated.fadeInLeft(color='primary') arrow_forward_ios
|
||||
v-list-item-subtitle: .caption(:class='!tgt.isAvailable ? `grey--text text--lighten-1` : (selectedTarget === tgt.key ? `blue--text ` : ``)') {{ tgt.description }}
|
||||
v-list-item-avatar(v-if='selectedTarget === tgt.key', size='24')
|
||||
v-icon.animated.fadeInLeft(color='primary', large) mdi-chevron-right
|
||||
v-divider(v-if='idx < targets.length - 1')
|
||||
|
||||
v-card.mt-3.animated.fadeInUp.wait-p2s
|
||||
@@ -84,22 +84,20 @@
|
||||
v-form
|
||||
.targetlogo
|
||||
img(:src='target.logo', :alt='target.title')
|
||||
v-subheader.pl-0 {{target.title}}
|
||||
.caption {{target.description}}
|
||||
.caption: a(:href='target.website') {{target.website}}
|
||||
.body-2.pt-3 {{target.description}}
|
||||
.body-2.pt-3.pb-5: a(:href='target.website') {{target.website}}
|
||||
v-divider.mt-3
|
||||
v-subheader.pl-0 {{$t('admin:storage.targetConfig')}}
|
||||
.body-1.ml-3(v-if='!target.config || target.config.length < 1') {{$t('admin:storage.noConfigOption')}}
|
||||
.overline.my-5 {{$t('admin:storage.targetConfig')}}
|
||||
.body-2.ml-3(v-if='!target.config || target.config.length < 1'): em {{$t('admin:storage.noConfigOption')}}
|
||||
template(v-else, v-for='cfg in target.config')
|
||||
v-select(
|
||||
v-if='cfg.value.type === "string" && cfg.value.enum'
|
||||
outline
|
||||
background-color='grey lighten-2'
|
||||
outlined
|
||||
:items='cfg.value.enum'
|
||||
:key='cfg.key'
|
||||
:label='cfg.value.title'
|
||||
v-model='cfg.value.value'
|
||||
prepend-icon='settings_applications'
|
||||
prepend-icon='mdi-settings-box'
|
||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||
persistent-hint
|
||||
:class='cfg.value.hint ? "mb-2" : ""'
|
||||
@@ -110,37 +108,35 @@
|
||||
:label='cfg.value.title'
|
||||
v-model='cfg.value.value'
|
||||
color='primary'
|
||||
prepend-icon='settings_applications'
|
||||
prepend-icon='mdi-settings-box'
|
||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||
persistent-hint
|
||||
)
|
||||
v-textarea(
|
||||
v-else-if='cfg.value.type === "string" && cfg.value.multiline'
|
||||
outline
|
||||
background-color='grey lighten-2'
|
||||
outlined
|
||||
:key='cfg.key'
|
||||
:label='cfg.value.title'
|
||||
v-model='cfg.value.value'
|
||||
prepend-icon='settings_applications'
|
||||
prepend-icon='mdi-settings-box'
|
||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||
persistent-hint
|
||||
:class='cfg.value.hint ? "mb-2" : ""'
|
||||
)
|
||||
v-text-field(
|
||||
v-else
|
||||
outline
|
||||
background-color='grey lighten-2'
|
||||
outlined
|
||||
:key='cfg.key'
|
||||
:label='cfg.value.title'
|
||||
v-model='cfg.value.value'
|
||||
prepend-icon='settings_applications'
|
||||
prepend-icon='mdi-settings-box'
|
||||
:hint='cfg.value.hint ? cfg.value.hint : ""'
|
||||
persistent-hint
|
||||
:class='cfg.value.hint ? "mb-2" : ""'
|
||||
)
|
||||
v-divider.mt-3
|
||||
v-subheader.pl-0 {{$t('admin:storage.syncDirection')}}
|
||||
.body-1.ml-3 {{$t('admin:storage.syncDirectionSubtitle')}}
|
||||
.overline.my-5 {{$t('admin:storage.syncDirection')}}
|
||||
.body-2.ml-3 {{$t('admin:storage.syncDirectionSubtitle')}}
|
||||
.pr-3.pt-3
|
||||
v-radio-group.ml-3.py-0(v-model='target.mode')
|
||||
v-radio(
|
||||
@@ -161,7 +157,7 @@
|
||||
value='pull'
|
||||
:disabled='target.supportedModes.indexOf(`pull`) < 0'
|
||||
)
|
||||
.body-1.ml-3
|
||||
.body-2.ml-3
|
||||
strong {{$t('admin:storage.syncDirBi')}} #[em.red--text.text--lighten-2(v-if='target.supportedModes.indexOf(`sync`) < 0') {{$t('admin:storage.unsupported')}}]
|
||||
.pb-3 {{$t('admin:storage.syncDirBiHint')}}
|
||||
strong {{$t('admin:storage.syncDirPush')}} #[em.red--text.text--lighten-2(v-if='target.supportedModes.indexOf(`push`) < 0') {{$t('admin:storage.unsupported')}}]
|
||||
@@ -171,8 +167,8 @@
|
||||
|
||||
template(v-if='target.hasSchedule')
|
||||
v-divider.mt-3
|
||||
v-subheader.pl-0 {{$t('admin:storage.syncSchedule')}}
|
||||
.body-1.ml-3 {{$t('admin:storage.syncScheduleHint')}}
|
||||
.overline.my-5 {{$t('admin:storage.syncSchedule')}}
|
||||
.body-2.ml-3 {{$t('admin:storage.syncScheduleHint')}}
|
||||
.pa-3
|
||||
duration-picker(v-model='target.syncInterval')
|
||||
i18next.caption.mt-3(path='admin:storage.syncScheduleCurrent', tag='div')
|
||||
@@ -182,17 +178,17 @@
|
||||
|
||||
template(v-if='target.actions && target.actions.length > 0')
|
||||
v-divider.mt-3
|
||||
v-subheader.pl-0 {{$t('admin:storage.actions')}}
|
||||
.overline.my-5 {{$t('admin:storage.actions')}}
|
||||
v-container.pt-0(grid-list-xl, fluid)
|
||||
v-layout(row, wrap, fill-height)
|
||||
v-flex(xs12, lg6, xl4, v-for='act of target.actions', :key='act.handler')
|
||||
v-card.radius-7.grey(flat, :class='$vuetify.dark ? `darken-3-d5` : `lighten-3`', height='100%')
|
||||
v-card-text
|
||||
.subtitle-1(v-html='act.label')
|
||||
.body-1.mt-2(v-html='act.hint')
|
||||
v-btn.mx-0.mt-3(
|
||||
.body-2.mt-4(v-html='act.hint')
|
||||
v-btn.mx-0.mt-5(
|
||||
@click='executeAction(target.key, act.handler)'
|
||||
outline
|
||||
outlined
|
||||
:color='$vuetify.dark ? `blue` : `primary`'
|
||||
:disabled='runningAction'
|
||||
:loading='runningActionHandler === act.handler'
|
||||
|
@@ -167,11 +167,17 @@ export default {
|
||||
]
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'darkMode' (newValue, oldValue) {
|
||||
this.$vuetify.theme.dark = newValue
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.darkModeInitial = this.darkMode
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.darkMode = this.darkModeInitial
|
||||
this.$vuetify.theme.dark = this.darkModeInitial
|
||||
},
|
||||
methods: {
|
||||
async save () {
|
||||
|
@@ -6,7 +6,7 @@
|
||||
.subtitle-1.pb-3.pl-0.primary--text Migrate all pages to target locale
|
||||
.body-2 If you created content before selecting a different locale and activating the namespacing capabilities, you may want to transfer all content to the base locale.
|
||||
.body-2.red--text: strong This operation is destructive and cannot be reversed! Make sure you have proper backups!
|
||||
v-toolbar.mt-5(flat, color='grey lighten-4', height='80')
|
||||
v-toolbar.radius-7.mt-5(flat, :color='$vuetify.theme.dark ? `grey darken-3-d5` : `grey lighten-4`', height='80')
|
||||
v-select(
|
||||
label='Source Locale'
|
||||
outlined
|
||||
|
Reference in New Issue
Block a user