Fix SSL SAN cert + React hydration #423

- SAN cert covers all 5 PWA domains (tasks,cal,plans,goals,chat)
- i18n hydration: SSR uses cs default, localStorage after mount
- Matches ThemeProvider pattern

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-29 14:56:25 +00:00
parent 565e72927d
commit b3c6999218
15 changed files with 125 additions and 43 deletions

View File

@@ -55,11 +55,12 @@ export default function TaskModal({ groups, onSubmit, onClose }: TaskModalProps)
{/* Modal panel with slide-up animation */}
<div
className={`relative w-full sm:max-w-lg bg-white dark:bg-gray-900 rounded-t-2xl sm:rounded-2xl shadow-2xl p-6 transition-all duration-200 ease-out ${
className={`relative w-full sm:max-w-lg bg-white dark:bg-gray-900 rounded-t-2xl sm:rounded-2xl shadow-2xl transition-all duration-200 ease-out modal-content flex flex-col px-6 pt-6 ${
visible
? "translate-y-0 opacity-100"
: "translate-y-8 opacity-0"
}`}
style={{ maxHeight: '90dvh', overscrollBehavior: 'contain' }}
>
{/* Drag handle for mobile */}
<div className="flex justify-center mb-3 sm:hidden">
@@ -88,11 +89,13 @@ export default function TaskModal({ groups, onSubmit, onClose }: TaskModalProps)
</button>
</div>
<TaskForm
groups={groups}
onSubmit={onSubmit}
onCancel={handleClose}
/>
<div className="overflow-y-auto flex-1 px-6 pb-20 -mx-6" style={{ WebkitOverflowScrolling: 'touch' }}>
<TaskForm
groups={groups}
onSubmit={onSubmit}
onCancel={handleClose}
/>
</div>
</div>
</div>
);