DossierSettings: show restart-required hint after language change
Instead of a temporary 'saved' checkmark, show a persistent warn-colored 'Neustart erforderlich' / 'Restart required' badge (in the newly selected language) until the window is closed. Guards against no-op clicks (same lang).
This commit is contained in:
@@ -13,7 +13,7 @@ export default function DossierSettingsApp() {
|
||||
const initial = (typeof window !== 'undefined' && window.PANEL_PARAMS) || {}
|
||||
const [lang, setLang] = useState(initial.lang || 'de')
|
||||
const [launcherOk, setLauncherOk] = useState(initial.launcherOk ?? null)
|
||||
const [saved, setSaved] = useState(false)
|
||||
const [needsRestart, setNeedsRestart] = useState(false)
|
||||
|
||||
useEffect(() => {
|
||||
notifyReady()
|
||||
@@ -24,10 +24,10 @@ export default function DossierSettingsApp() {
|
||||
}, [])
|
||||
|
||||
function handleLang(id) {
|
||||
if (id === lang) return
|
||||
setLang(id)
|
||||
bridgeSend('SAVE_LANG', { lang: id })
|
||||
setSaved(true)
|
||||
setTimeout(() => setSaved(false), 1800)
|
||||
setNeedsRestart(true)
|
||||
}
|
||||
|
||||
const label = (de, en) => lang === 'en' ? en : de
|
||||
@@ -55,16 +55,16 @@ export default function DossierSettingsApp() {
|
||||
<span style={{ fontWeight: 600, fontSize: 13, letterSpacing: '0.01em' }}>
|
||||
{label('Dossier-Einstellungen', 'Dossier Settings')}
|
||||
</span>
|
||||
{saved && (
|
||||
{needsRestart && (
|
||||
<span style={{
|
||||
fontSize: 10,
|
||||
color: 'var(--accent)',
|
||||
color: 'var(--warn)',
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
gap: 4,
|
||||
}}>
|
||||
<Icon name="check_circle" size={13} />
|
||||
{label('Gespeichert', 'Saved')}
|
||||
<Icon name="restart_alt" size={13} />
|
||||
{label('Neustart erforderlich', 'Restart required')}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user