Polish journal entry save buttons and header controls
- Add hover titles to all save buttons
- Match warning color scheme across floating, inline, and header save buttons
- Fix floating save button visibility (Tailwind v4 hidden/md:inline-flex conflict)
- Hide floating save when no unsaved changes using {#if}
- Hide Config button when not in admin edit mode
- Remove the mobile/backup explicit Save button from header (redundant)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4,7 +4,9 @@
|
||||
* Extracted 2026-01-08 to modularize the massive Journal Entry view.
|
||||
* Handles: CodeMirror vs Plain vs Rendered HTML for both View and Edit modes.
|
||||
*/
|
||||
import { LockKeyhole, RefreshCcw, Save } from '@lucide/svelte';
|
||||
import {
|
||||
LockKeyhole, RefreshCcw, Save
|
||||
} from '@lucide/svelte';
|
||||
import { ae_loc } from '$lib/stores/ae_stores';
|
||||
import { journals_loc } from '$lib/ae_journals/ae_journals_stores';
|
||||
import AE_Comp_Editor_CodeMirror from '$lib/elements/element_editor_codemirror.svelte';
|
||||
@@ -67,6 +69,7 @@ const preferred_viewer = $derived(
|
||||
<div
|
||||
class="prose dark:prose-invert w-full max-w-none overflow-x-auto rounded-lg border border-gray-200 bg-white p-4 shadow-lg dark:border-gray-700 dark:bg-gray-900">
|
||||
<!-- The rendered HTML branch is intentionally trusted input from the journal editor pipeline. -->
|
||||
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
|
||||
{@html tmp_entry_obj?.content_md_html || ''}
|
||||
</div>
|
||||
{/if}
|
||||
@@ -120,21 +123,30 @@ const preferred_viewer = $derived(
|
||||
placeholder="Edit content..."></textarea>
|
||||
{/if}
|
||||
|
||||
<!-- Floating Save Button -->
|
||||
<button
|
||||
type="button"
|
||||
onclick={on_save}
|
||||
disabled={!has_changed}
|
||||
class="btn btn-sm md:btn-md lg:btn-lg preset-filled-success fixed top-84 right-6 z-20 hidden min-w-32 shadow-xl transition-all md:inline-flex"
|
||||
class:hidden={!has_changed}>
|
||||
<Save size="1.2em" class="mr-2" /> Save
|
||||
</button>
|
||||
<!-- Floating Save Button (desktop only) -->
|
||||
{#if has_changed}
|
||||
<button
|
||||
type="button"
|
||||
onclick={on_save}
|
||||
|
||||
class="
|
||||
btn btn-sm md:btn-md lg:btn-lg preset-tonal-warning hover:preset-filled-warning-500
|
||||
fixed top-84 right-6 z-20
|
||||
min-w-32 shadow-xl
|
||||
max-sm:hidden
|
||||
"
|
||||
title="Save changes"
|
||||
>
|
||||
<Save size="1.2em" class="" />Save
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
<!-- Inline Save Button (Mobile/Context) -->
|
||||
<button
|
||||
type="button"
|
||||
onclick={on_save}
|
||||
disabled={!has_changed}
|
||||
title="Save changes"
|
||||
class="btn preset-tonal-warning hover:preset-filled-warning-500 mt-4 w-full max-w-96"
|
||||
class:invisible={!has_changed}>
|
||||
<Save size="1.2em" class="mr-2" /> Save Changes
|
||||
|
||||
Reference in New Issue
Block a user