feat(applock): blinking PIN cursor + misc UI polish (#4110)
* feat(applock): show blinking cursor on PIN input Empty PIN slots used to render nothing, leaving no cue for which position is active. Add a thin underscore that blinks under the next-to-fill slot while the input is focused. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore(ui): misc settings polish + i18n refresh - applock screen: switch fixed positioning to full-height so the lock screen sits inside the safe area - applock dialog: split the recovery sentence so it reads cleanly without an em dash - settings: rename "Interface Language" to "Language" - translators: drop the "(Unavailable)" suffix from disabled providers; the row already greys out - ruler color picker: keep swatches clickable when ruler is off so users can still set a color before enabling - refresh translations across all locales for the changed strings Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -183,7 +183,7 @@ export default function AppLockDialog() {
|
||||
const description =
|
||||
mode === 'set'
|
||||
? _(
|
||||
'Pick a 4-digit PIN. You will need to enter it every time you open Readest. There is no way to recover a forgotten PIN — clearing the app data is the only way to reset it.',
|
||||
'Pick a 4-digit PIN. You will need to enter it every time you open Readest. There is no way to recover a forgotten PIN. Clearing the app data is the only way to reset it.',
|
||||
)
|
||||
: mode === 'change'
|
||||
? _('Enter your current PIN, then choose a new 4-digit PIN.')
|
||||
|
||||
@@ -273,7 +273,7 @@ const LangPanel: React.FC<SettingsPanelPanelProp> = ({ bookKey, onRegisterReset
|
||||
<div className='card border-base-200 bg-base-100 border shadow'>
|
||||
<div className='divide-base-200 divide-y'>
|
||||
<div className='config-item'>
|
||||
<span className=''>{_('Interface Language')}</span>
|
||||
<span className=''>{_('Language')}</span>
|
||||
<Select
|
||||
value={getCurrentUILangOption().value}
|
||||
onChange={handleSelectUILang}
|
||||
|
||||
@@ -63,11 +63,11 @@ const ReadingRulerSettings: React.FC<ReadingRulerSettingsProps> = ({
|
||||
{RULER_COLORS.map(({ value, className, hoverClassName }) => (
|
||||
<button
|
||||
key={value}
|
||||
disabled={!enabled}
|
||||
// disabled={!enabled}
|
||||
className={`btn btn-circle btn-sm ${className} ${hoverClassName} ${
|
||||
color === value ? 'ring-base-content ring-2 ring-offset-1' : ''
|
||||
} ${!enabled ? 'btn-disabled opacity-50' : ''}`}
|
||||
onClick={() => onColorChange(value)}
|
||||
} ${!enabled ? 'opacity-50' : ''}`}
|
||||
onClick={() => enabled && onColorChange(value)}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user