mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-03 03:55:26 +03:00
14c0c5ff65
refs https://github.com/TryGhost/Team/issues/1310 We want to use parts of the "Brand setting" form in a separate streamlined settings screen after site setup but that wasn't possible without a lot of duplication. - extracted individual form fields into separate components for re-use - included minor refactors like using `uploader.registerFileInput` and `uploader.triggerFileDialog` instead of continually duplicating the same file input trigger method - fixed accessibility issues - changed input titles from `<div>` to `<label>` and associated with the component's input fields - changed `<img {{on "click" upload}}>` to `<input type="image">` so they act as proper buttons and are linked to the label (required a styling change so `img` and `input[type="image"]` are treated equally) - finished cleanup of `.description-container-labs` by renaming to `.description-container`
56 lines
3.2 KiB
Handlebars
56 lines
3.2 KiB
Handlebars
<div class="flex flex-column h-100" {{css-transition "gh-nav-contextual"}} data-test-nav-menu="design" ...attributes>
|
|
<header class="gh-nav-header">
|
|
<LinkTo @route="settings" class="gh-nav-menu-back-button">{{svg-jar "arrow-left-small"}} Settings</LinkTo>
|
|
</header>
|
|
<section class="gh-nav-body gh-nav-design">
|
|
<div class="gh-nav-top" {{on "click" this.transitionBackToIndex}}>
|
|
<div class="gh-nav-list gh-nav-main">
|
|
<LinkTo @route="settings.design" class="gh-nav-menu-title" @current-when="settings.design.index" {{on "click" this.closeAllSections}}>Site design</LinkTo>
|
|
|
|
{{#let (eq this.openSection "brand") as |isOpen|}}
|
|
<button class="gh-nav-design-tab {{if isOpen "active"}}" type="button" {{on "click" (fn this.toggleSection "brand")}} data-test-nav-toggle="general">
|
|
{{svg-jar "paintbrush"}} Brand
|
|
<span class="gh-nav-button-expand">{{svg-jar (if isOpen "arrow-up-stroke" "arrow-down-stroke")}}</span>
|
|
</button>
|
|
{{#liquid-if isOpen}}
|
|
<div class="gh-nav-design-settings" data-test-nav-group="general">
|
|
<Settings::Design::GeneralSettingsForm
|
|
@didUpdate={{perform this.themeManagement.updatePreviewHtmlTask}}
|
|
/>
|
|
</div>
|
|
{{/liquid-if}}
|
|
{{/let}}
|
|
|
|
{{#each this.customThemeSettings.settingGroups as |group|}}
|
|
{{#let (eq this.openSection group.key) as |isOpen|}}
|
|
<button class="gh-nav-design-tab {{if isOpen "active"}}" type="button" {{on "click" (fn this.toggleSection group.key)}}>
|
|
{{svg-jar group.icon}} {{group.name}}
|
|
<span class="gh-nav-button-expand">{{svg-jar (if isOpen "arrow-up-stroke" "arrow-down-stroke")}}</span>
|
|
</button>
|
|
|
|
{{#liquid-if isOpen}}
|
|
<div class="gh-nav-design-settings" data-test-nav-group={{group.key}}>
|
|
<Settings::Design::ThemeSettingsForm
|
|
@themeSettings={{group.settings}}
|
|
@updatePreview={{perform this.themeManagement.updatePreviewHtmlTask}}
|
|
/>
|
|
</div>
|
|
{{/liquid-if}}
|
|
{{/let}}
|
|
{{/each}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="gh-nav-bottom">
|
|
<div class="gh-change-theme">
|
|
<LinkTo class="gh-nav-design-tab" @route="settings.design.change-theme" {{on "click" this.closeAllSections}} data-test-nav="change-theme">
|
|
<div>
|
|
<span>Change theme</span>
|
|
<span class="active-theme" data-test-text="current-theme">Current: {{this.activeTheme.name}}{{#if this.activeTheme.package.version}} - v{{this.activeTheme.package.version}}{{/if}}</span>
|
|
</div>
|
|
<div class="gh-nav-design-tabicon">{{svg-jar "sync"}}</div>
|
|
</LinkTo>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div> |