diff --git a/src/lib/components/common/CustomizeSubtitleStyleButton.svelte b/src/lib/components/common/CustomizeSubtitleStyleButton.svelte index f3b3841..e7f7040 100644 --- a/src/lib/components/common/CustomizeSubtitleStyleButton.svelte +++ b/src/lib/components/common/CustomizeSubtitleStyleButton.svelte @@ -1,13 +1,21 @@ {#if !subtitle.isSilence} - + {#if subtitle.verse !== -1 && subtitle.surah !== -1} { if ($currentlyEditedSubtitleId === subtitle.id) { clearSubtitleToEdit(); diff --git a/src/lib/components/preview/BurnedSubtitles.svelte b/src/lib/components/preview/BurnedSubtitles.svelte index 2ecd2f7..0102b1b 100644 --- a/src/lib/components/preview/BurnedSubtitles.svelte +++ b/src/lib/components/preview/BurnedSubtitles.svelte @@ -66,6 +66,14 @@ {#if hasCustomIndividualSettings && $currentProject.projectSettings.individualSubtitlesSettings[currentSubtitle.id].glowEffect} diff --git a/src/lib/components/subtitles/WordsSelector.svelte b/src/lib/components/subtitles/WordsSelector.svelte index 95e5651..830e052 100644 --- a/src/lib/components/subtitles/WordsSelector.svelte +++ b/src/lib/components/subtitles/WordsSelector.svelte @@ -320,11 +320,12 @@ // Mets à jour les paramètres individuels custom $currentProject.projectSettings.individualSubtitlesSettings[subtitleId] = { glowEffect: false, - glowColor: '#ff0000', - glowRadius: 7, + glowColor: '#973b3b', + glowRadius: 12, bold: false, italic: false, - underline: false + underline: false, + hasAtLeastOneStyle: false }; // Met à jour la liste des sous-titres diff --git a/src/lib/components/subtitles/subtitlesSettingsUI/IndividualSubtitleSettings.svelte b/src/lib/components/subtitles/subtitlesSettingsUI/IndividualSubtitleSettings.svelte index ef08775..b7eab75 100644 --- a/src/lib/components/subtitles/subtitlesSettingsUI/IndividualSubtitleSettings.svelte +++ b/src/lib/components/subtitles/subtitlesSettingsUI/IndividualSubtitleSettings.svelte @@ -5,9 +5,23 @@ import { currentlyCustomizedSubtitleId } from '$lib/stores/LayoutStore'; import { currentProject } from '$lib/stores/ProjectStore'; import { onMount } from 'svelte'; + import { derived } from 'svelte/store'; export let subtitle: SubtitleClip; export let removeBorder = false; + + $: { + const settings = $currentProject.projectSettings.individualSubtitlesSettings[subtitle.id]; + if (settings) { + const newStyle = + settings.glowEffect || settings.bold || settings.italic || settings.underline; + + // Update only if the value changes to avoid a re-trigger + if (settings.hasAtLeastOneStyle !== newStyle) { + settings.hasAtLeastOneStyle = newStyle; + } + } + } {clip.isSilence ? 'silence' : clip.isCustomText ? 'Custom Text' : clip.text} + + {#if $currentProject.projectSettings.individualSubtitlesSettings[clip.id].hasAtLeastOneStyle} + + + {/if} diff --git a/src/lib/components/translations/TranslationInput.svelte b/src/lib/components/translations/TranslationInput.svelte index 245018c..645dd2e 100644 --- a/src/lib/components/translations/TranslationInput.svelte +++ b/src/lib/components/translations/TranslationInput.svelte @@ -305,7 +305,7 @@ {#if showCustomizationSettings} - + {/if} diff --git a/src/lib/models/Project.ts b/src/lib/models/Project.ts index 4983558..811dc66 100644 --- a/src/lib/models/Project.ts +++ b/src/lib/models/Project.ts @@ -97,4 +97,5 @@ export interface IndividualSubtitleSettings { bold: boolean; underline: boolean; italic: boolean; + hasAtLeastOneStyle: boolean; } diff --git a/src/routes/editor/+page.svelte b/src/routes/editor/+page.svelte index 956752d..a497874 100644 --- a/src/routes/editor/+page.svelte +++ b/src/routes/editor/+page.svelte @@ -46,7 +46,8 @@ bold: false, italic: false, underline: false, - glowEffect: false + glowEffect: false, + hasAtLeastOneStyle: false }; } });