fix: reverse FAB menu order + persist iOS PWA session

- FAB menu items reordered so Task is closest to button (top),
  Search is furthest (bottom)
- auth.ts: session maxAge=30d + updateAge=1d so the JWT cookie is
  written as a persistent cookie (Max-Age header), preventing iOS
  PWA from losing the session when the app is closed/backgrounded

v1.81.5
This commit is contained in:
mARTin 2026-04-01 20:25:23 +02:00
parent ef7fbf4a9c
commit 3657fb284f
3 changed files with 18 additions and 16 deletions

View File

@ -1,6 +1,6 @@
{
"name": "my-weekly-todo-list",
"version": "1.81.4",
"version": "1.81.5",
"description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view",
"main": "index.js",
"scripts": {

View File

@ -8942,9 +8942,17 @@ export default function WeeklyView() {
)}
{showMobileFabMenu && (
<div className="mobile-fab-menu">
<button className="mobile-fab-menu-item" onClick={() => { setShowMobileFabMenu(false); setShowMobileFabSheet(true); }}>
<div className="mobile-fab-menu-icon" style={{ background: "#0ea5e9" }}><Plus size={18} /></div>
<span>{profile.language === "de" ? "Aufgabe" : "Task"}</span>
<button className="mobile-fab-menu-item" onClick={() => { setShowMobileFabMenu(false); setIsSearchOpen(true); }}>
<div className="mobile-fab-menu-icon" style={{ background: "#10b981" }}><Search size={18} /></div>
<span>{profile.language === "de" ? "Suchen" : "Search"}</span>
</button>
<button className="mobile-fab-menu-item" onClick={() => { setShowMobileFabMenu(false); setShowFocusMode(true); }}>
<div className="mobile-fab-menu-icon" style={{ background: "#f59e0b" }}><Zap size={18} /></div>
<span>{profile.language === "de" ? "Fokus" : "Focus"}</span>
</button>
<button className="mobile-fab-menu-item" onClick={() => { setShowMobileFabMenu(false); setShowProjectsSidebar(true); }}>
<div className="mobile-fab-menu-icon" style={{ background: "#6366f1" }}><FolderPlus size={18} /></div>
<span>{profile.language === "de" ? "Projekt" : "Project"}</span>
</button>
<button className="mobile-fab-menu-item" onClick={() => {
setShowMobileFabMenu(false);
@ -8954,17 +8962,9 @@ export default function WeeklyView() {
<div className="mobile-fab-menu-icon" style={{ background: "#8b5cf6" }}><Calendar size={18} /></div>
<span>{profile.language === "de" ? "Termin" : "Event"}</span>
</button>
<button className="mobile-fab-menu-item" onClick={() => { setShowMobileFabMenu(false); setShowProjectsSidebar(true); }}>
<div className="mobile-fab-menu-icon" style={{ background: "#6366f1" }}><FolderPlus size={18} /></div>
<span>{profile.language === "de" ? "Projekt" : "Project"}</span>
</button>
<button className="mobile-fab-menu-item" onClick={() => { setShowMobileFabMenu(false); setShowFocusMode(true); }}>
<div className="mobile-fab-menu-icon" style={{ background: "#f59e0b" }}><Zap size={18} /></div>
<span>{profile.language === "de" ? "Fokus" : "Focus"}</span>
</button>
<button className="mobile-fab-menu-item" onClick={() => { setShowMobileFabMenu(false); setIsSearchOpen(true); }}>
<div className="mobile-fab-menu-icon" style={{ background: "#10b981" }}><Search size={18} /></div>
<span>{profile.language === "de" ? "Suchen" : "Search"}</span>
<button className="mobile-fab-menu-item" onClick={() => { setShowMobileFabMenu(false); setShowMobileFabSheet(true); }}>
<div className="mobile-fab-menu-icon" style={{ background: "#0ea5e9" }}><Plus size={18} /></div>
<span>{profile.language === "de" ? "Aufgabe" : "Task"}</span>
</button>
</div>
)}

View File

@ -87,7 +87,9 @@ export const authOptions: NextAuthOptions = {
],
debug: true,
session: {
strategy: "jwt"
strategy: "jwt",
maxAge: 30 * 24 * 60 * 60, // 30 days
updateAge: 24 * 60 * 60, // refresh cookie on each daily visit (keeps iOS PWA alive)
},
pages: {
signIn: "/auth/login",