diff --git a/frontend/src/components/PasswordInput.tsx b/frontend/src/components/PasswordInput.tsx index 75082e6..918f8ef 100644 --- a/frontend/src/components/PasswordInput.tsx +++ b/frontend/src/components/PasswordInput.tsx @@ -4,23 +4,30 @@ interface PasswordInputProps extends Omit, // All standard input props are inherited } -export default function PasswordInput({ style, ...props }: PasswordInputProps) { +export default function PasswordInput({ style, value, ...props }: PasswordInputProps) { const [visible, setVisible] = useState(false); + const hasValue = value !== undefined && value !== null && String(value).length > 0; return ( -
+
- + }
); } diff --git a/frontend/src/pages/Settings.tsx b/frontend/src/pages/Settings.tsx index 8778647..6d856a4 100644 --- a/frontend/src/pages/Settings.tsx +++ b/frontend/src/pages/Settings.tsx @@ -987,7 +987,7 @@ export default function Settings() { setTelegramBotToken(e.target.value)} - placeholder={notificationSettings?.telegram_configured ? '••••••••••••••••' : 'Enter your bot token'} + placeholder={notificationSettings?.telegram_configured ? 'Saved - enter new value to replace' : 'Enter your bot token'} />

Create a bot via @BotFather on Telegram to get a token

@@ -1056,7 +1056,7 @@ export default function Settings() { setDiscordWebhookUrl(e.target.value)} - placeholder={notificationSettings?.discord_configured ? '••••••••••••••••' : 'https://discord.com/api/webhooks/...'} + placeholder={notificationSettings?.discord_configured ? 'Saved - enter new value to replace' : 'https://discord.com/api/webhooks/...'} />

Server Settings → Integrations → Webhooks → New Webhook

@@ -1114,7 +1114,7 @@ export default function Settings() { setPushoverUserKey(e.target.value)} - placeholder={notificationSettings?.pushover_configured ? '••••••••••••••••' : 'Enter your user key'} + placeholder={notificationSettings?.pushover_configured ? 'Saved - enter new value to replace' : 'Enter your user key'} />

Find your User Key on the Pushover dashboard after logging in

@@ -1124,7 +1124,7 @@ export default function Settings() { setPushoverAppToken(e.target.value)} - placeholder={notificationSettings?.pushover_configured ? '••••••••••••••••' : 'Enter your app token'} + placeholder={notificationSettings?.pushover_configured ? 'Saved - enter new value to replace' : 'Enter your app token'} />

Create an application at pushover.net/apps to get an API token

@@ -1208,7 +1208,7 @@ export default function Settings() { setAnthropicApiKey(e.target.value)} - placeholder={aiSettings?.anthropic_configured ? '••••••••••••••••' : 'sk-ant-...'} + placeholder={aiSettings?.anthropic_configured ? 'Saved - enter new value to replace' : 'sk-ant-...'} />

Get your API key from{' '} @@ -1226,7 +1226,7 @@ export default function Settings() { setOpenaiApiKey(e.target.value)} - placeholder={aiSettings?.openai_configured ? '••••••••••••••••' : 'sk-...'} + placeholder={aiSettings?.openai_configured ? 'Saved - enter new value to replace' : 'sk-...'} />

Get your API key from{' '}