mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-25 11:55:03 +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`
47 lines
2.3 KiB
Handlebars
47 lines
2.3 KiB
Handlebars
<div data-test-setting="logo" ...attributes>
|
|
<GhUploader
|
|
@extensions={{this.imageExtensions}}
|
|
@onComplete={{this.imageUploaded}}
|
|
as |uploader|
|
|
>
|
|
<div>
|
|
<label class="gh-setting-title" for="publication-logo">Publication logo</label>
|
|
<div class="gh-setting-desc mb3">The primary logo, should be transparent and at least 600x72px</div>
|
|
|
|
<div class="gh-setting-action gh-uploadbutton-container gh-setting-action-smallimg flex flex-column">
|
|
{{#each uploader.errors as |error|}}
|
|
<div class="gh-setting-error" data-test-error="logo">{{or error.context error.message}}</div>
|
|
{{/each}}
|
|
{{#if uploader.isUploading}}
|
|
{{uploader.progressBar}}
|
|
{{else if this.settings.logo}}
|
|
<div class="gh-branding-image-container largeimg justify-center transparent-bg">
|
|
<input
|
|
id="publication-logo"
|
|
type="image"
|
|
class="blog-logo"
|
|
src={{this.settings.logo}}
|
|
{{on "click" uploader.triggerFileDialog}}
|
|
data-test-logo-img
|
|
>
|
|
<button type="button" class="gh-setting-action-smallimg-delete" {{on "click" (fn this.update null)}} data-test-delete-image="logo">
|
|
{{svg-jar "trash" class="w4 h4 fill-white"}}
|
|
</button>
|
|
</div>
|
|
{{else}}
|
|
<button id="publication-logo" type="button" class="gh-btn gh-btn-white self-start" {{on "click" uploader.triggerFileDialog}} data-test-image-upload-btn="logo">
|
|
<span>Upload logo</span>
|
|
</button>
|
|
{{/if}}
|
|
<div class="dn">
|
|
<GhFileInput
|
|
@multiple={{false}}
|
|
@action={{uploader.setFiles}}
|
|
@accept={{this.imageMimeTypes}}
|
|
@onInsert={{uploader.registerFileInput}}
|
|
data-test-file-input="logo" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</GhUploader>
|
|
</div> |