feat: Notifications page, Sidebar layout fixes, and Achievements enhancements
continuous-integration/drone/push Build is failing
continuous-integration/drone/push Build is failing
- implemented /notifications page with overdue/upcoming alerts - Fixed sidebar scrolling in collapsed mode - Moved notification button to sidebar footer - Enhanced Achievements page with streak stats and tooltips - Improved XP history to show task titles - Added missing translations (en/de) - Removed top bar header - Fixed Docker environment routing
This commit is contained in:
+108
-77
@@ -12,7 +12,15 @@
|
||||
"upcomingTitle": "Upcoming: {{task}}",
|
||||
"upcomingBody": "Due in {{time}}",
|
||||
"overdueTitle": "Overdue: {{task}}",
|
||||
"overdueBody": "This task is now overdue!"
|
||||
"overdueBody": "This task is now overdue!",
|
||||
"settings": {
|
||||
"title": "Browser Notifications",
|
||||
"description": "Receive alerts for upcoming and overdue tasks.",
|
||||
"denied": "Permission denied. Please enable in browser settings.",
|
||||
"request": "Request Permission"
|
||||
},
|
||||
"recent": "Recent Alerts",
|
||||
"empty": "All caught up! No urgent alerts."
|
||||
},
|
||||
"unscheduled": {
|
||||
"title": "Unscheduled Tasks",
|
||||
@@ -267,7 +275,9 @@
|
||||
"publicLeaderboardDesc": "Show my profile on the global leaderboard",
|
||||
"searchable": "Allow others to find me",
|
||||
"searchableDesc": "Allow users to search for me to share tasks",
|
||||
"shareAccess": "Share access to all tasks..."
|
||||
"shareAccess": "Share access to all tasks...",
|
||||
"2fa": "Two-Factor Authentication",
|
||||
"2faDesc": "Secure your account with email-based 2FA"
|
||||
},
|
||||
"admin": {
|
||||
"title": "Admin Settings",
|
||||
@@ -317,85 +327,85 @@
|
||||
"deletedDescription": "Your label has been deleted successfully.",
|
||||
"share": "Share Label"
|
||||
},
|
||||
"security": {
|
||||
"2fa": "Two-Factor Authentication",
|
||||
"2faDesc": "Secure your account with email-based 2FA"
|
||||
},
|
||||
"ai": {
|
||||
"enableUser": "Enable AI Assistant",
|
||||
"enableUserDesc": "Allow the AI assistant to help you with tasks and organization."
|
||||
},
|
||||
"mcp": {
|
||||
"title": "MCP Server",
|
||||
"description": "Configure the Model Context Protocol server.",
|
||||
"enableLabel": "Enable MCP Server",
|
||||
"enableDesc": "Turn on the MCP server to expose task data to AI agents.",
|
||||
"status": "Status",
|
||||
"running": "Running",
|
||||
"url": "Server URL",
|
||||
"apiKey": "API Key",
|
||||
"noKey": "No API Key configured",
|
||||
"generate": "Generate New Key",
|
||||
"instructions": "The MCP server runs on the same port as the application (/api/mcp).",
|
||||
"portLabel": "Port",
|
||||
"portDesc": "The port is determined by the main application."
|
||||
},
|
||||
"templates": {
|
||||
"title": "Project Templates",
|
||||
"description": "Use templates to quickly create projects",
|
||||
"manageTemplates": "Manage Templates"
|
||||
},
|
||||
"mcp": {
|
||||
"title": "MCP Server Configuration",
|
||||
"description": "Configure the Model Context Protocol (MCP) server settings.",
|
||||
"descriptionDetail": "The MCP server runs on the same port as the application (/api/mcp).",
|
||||
"enableLabel": "Enable MCP Server",
|
||||
"enableDesc": "Allow external AI tools to connect via MCP protocol.",
|
||||
"portLabel": "Port (Informational)",
|
||||
"portDesc": "Currently runs on the main application port. Separate port configuration coming soon.",
|
||||
"status": "Server Status",
|
||||
"running": "Active",
|
||||
"url": "Endpoint URL (SSE)",
|
||||
"apiKey": "Access Token",
|
||||
"generate": "Generate Token",
|
||||
"revoke": "Revoke Token",
|
||||
"generated": "Access Token generated",
|
||||
"revoked": "Access Token revoked",
|
||||
"noKey": "No token active. Generate one to connect.",
|
||||
"copy": "Copy to Clipboard",
|
||||
"copied": "Copied!",
|
||||
"instructions": "Configure your MCP client (e.g. Claude Desktop) with this URL and Token."
|
||||
},
|
||||
"ai": {
|
||||
"title": "AI Configuration",
|
||||
"description": "Configure the global AI provider for the assistant.",
|
||||
"provider": "AI Provider",
|
||||
"apiKey": "API Key",
|
||||
"model": "Model Name",
|
||||
"baseUrl": "Base URL",
|
||||
"systemPrompt": "System Prompt",
|
||||
"systemPromptPlaceholder": "Define the AI's persona and rules...",
|
||||
"save": "Save AI Settings",
|
||||
"saved": "Settings saved",
|
||||
"error": "Failed to save settings",
|
||||
"ollama": {
|
||||
"placeholder": "Optional for Ollama",
|
||||
"pull": "Pull Model",
|
||||
"pullPlaceholder": "e.g. llama3",
|
||||
"fetch": "Fetch Models",
|
||||
"found": "Found {{count}} models",
|
||||
"pullSuccess": "Model pulled successfully",
|
||||
"pullError": "Failed to pull model",
|
||||
"connectError": "Could not connect to Ollama"
|
||||
}
|
||||
},
|
||||
"routines": {
|
||||
"title": "Routine Configuration",
|
||||
"description": "Configure global morning and evening routine schedules.",
|
||||
"morningLabel": "Morning Routine",
|
||||
"eveningLabel": "Evening Routine",
|
||||
"time": "Start Time",
|
||||
"saved": "Routine settings saved",
|
||||
"error": "Failed to save settings",
|
||||
"save": "Save Routines",
|
||||
"goodMorning": "Good Morning",
|
||||
"goodEvening": "Good Evening",
|
||||
"morningSubtitle": "Let's plan your day for success.",
|
||||
"eveningSubtitle": "Time to reflect and unwind.",
|
||||
"dayComplete": "Day Complete! Great job."
|
||||
}
|
||||
},
|
||||
"smtp": {
|
||||
"title": "Email Settings (SMTP)",
|
||||
"description": "Configure outgoing email server",
|
||||
"host": "Host",
|
||||
"port": "Port",
|
||||
"user": "User",
|
||||
"password": "Password",
|
||||
"from": "From Address",
|
||||
"secure": "Secure (TLS)",
|
||||
"save": "Save Email Settings",
|
||||
"saving": "Saving...",
|
||||
"saveSuccess": "Settings saved successfully"
|
||||
"apiKey": "Access Token",
|
||||
"generate": "Generate Token",
|
||||
"revoke": "Revoke Token",
|
||||
"generated": "Access Token generated",
|
||||
"revoked": "Access Token revoked",
|
||||
"noKey": "No token active. Generate one to connect.",
|
||||
"copy": "Copy to Clipboard",
|
||||
"copied": "Copied!",
|
||||
"instructions": "Configure your MCP client (e.g. Claude Desktop) with this URL and Token."
|
||||
},
|
||||
"ai": {
|
||||
"title": "AI Configuration",
|
||||
"description": "Configure the global AI provider for the assistant.",
|
||||
"provider": "AI Provider",
|
||||
"apiKeyLabel": "API Key",
|
||||
"model": "Model Name",
|
||||
"baseUrl": "Base URL",
|
||||
"systemPrompt": "System Prompt",
|
||||
"systemPromptPlaceholder": "Define the AI's persona and rules...",
|
||||
"enableUser": "Enable AI Chat",
|
||||
"enableUserDesc": "Allow access to the AI chat assistant",
|
||||
"save": "Save AI Settings",
|
||||
"saved": "Settings saved",
|
||||
"error": "Failed to save settings",
|
||||
"ollama": {
|
||||
"placeholder": "Optional for Ollama",
|
||||
"pull": "Pull Model",
|
||||
"pullPlaceholder": "e.g. llama3",
|
||||
"fetch": "Fetch Models",
|
||||
"found": "Found {{count}} models",
|
||||
"pullSuccess": "Model pulled successfully",
|
||||
"pullError": "Failed to pull model",
|
||||
"connectError": "Could not connect to Ollama"
|
||||
}
|
||||
},
|
||||
"routines": {
|
||||
"title": "Routine Configuration",
|
||||
"description": "Configure global morning and evening routine schedules.",
|
||||
"morningLabel": "Morning Routine",
|
||||
"eveningLabel": "Evening Routine",
|
||||
"time": "Start Time",
|
||||
"saved": "Routine settings saved",
|
||||
"error": "Failed to save settings",
|
||||
"save": "Save Routines",
|
||||
"goodMorning": "Good Morning",
|
||||
"goodEvening": "Good Evening",
|
||||
"morningSubtitle": "Let's plan your day for success.",
|
||||
"eveningSubtitle": "Time to reflect and unwind.",
|
||||
"dayComplete": "Day Complete! Great job."
|
||||
},
|
||||
"aiChat": {
|
||||
"title": "AI Assistant",
|
||||
"welcome": "How can I help you manage your tasks today?",
|
||||
"thinking": "Thinking...",
|
||||
@@ -565,7 +575,17 @@
|
||||
"grandmaster": "Grandmaster",
|
||||
"virtuoso": "Virtuoso",
|
||||
"legend": "Legend",
|
||||
"mythic": "Mythic"
|
||||
"mythic": "Mythic",
|
||||
"titan": "Titan",
|
||||
"sentinel": "Sentinel",
|
||||
"vanguard": "Vanguard",
|
||||
"oracle": "Oracle",
|
||||
"ascendant": "Ascendant",
|
||||
"ethereal": "Ethereal",
|
||||
"celestial": "Celestial",
|
||||
"divine": "Divine",
|
||||
"omnipotent": "Omnipotent",
|
||||
"eternal": "Eternal"
|
||||
},
|
||||
"leaderboardPage": {
|
||||
"title": "Leaderboard",
|
||||
@@ -599,6 +619,7 @@
|
||||
"achievements": {
|
||||
"title": "Achievements",
|
||||
"subtitle": "Track your progress and goals",
|
||||
"overview": "Overview",
|
||||
"rewardsDescription": "Spend your {{xp}} XP on exclusive rewards!",
|
||||
"addReward": "Add Reward",
|
||||
"createCustomReward": "Create Custom Reward",
|
||||
@@ -607,6 +628,8 @@
|
||||
"rewardCost": "Cost (XP)",
|
||||
"createRewardBtn": "Create Reward",
|
||||
"currentStreak": "Current Streak",
|
||||
"weeklyStreak": "Weekly Streak",
|
||||
"monthlyStreak": "Monthly Streak",
|
||||
"days": "{{count}} Days",
|
||||
"bestStreak": "Best: {{count}} Days",
|
||||
"xpActivity": "XP Activity",
|
||||
@@ -653,7 +676,7 @@
|
||||
"create_subtask": "Subtask Created",
|
||||
"update_task": "Task Updated",
|
||||
"complete_task": "Task Completed",
|
||||
"complete_task_late": "Task Completed (Late)",
|
||||
"complete_task_late": "Task Completed",
|
||||
"ai_action": "AI Assistant Used",
|
||||
"daily_streak": "Daily Streak Bonus",
|
||||
"daily_clear_bonus": "Daily Clear Bonus",
|
||||
@@ -675,6 +698,8 @@
|
||||
"completeTaskLate": "Complete Task (Late)",
|
||||
"aiAction": "AI Action",
|
||||
"dailyStreak": "Daily Streak",
|
||||
"weeklyStreak": "Weekly Streak (7 Days)",
|
||||
"monthlyStreak": "Monthly Streak (30 Days)",
|
||||
"streakTooltip": "Log in daily to increase your streak!",
|
||||
"streakBonus": "Weekly & Monthly bonuses available: 7 days (+300 XP), 30 days (+1000 XP)."
|
||||
}
|
||||
@@ -800,6 +825,12 @@
|
||||
"createAccount": "Create Account",
|
||||
"registrationDisabled": "Registration is currently disabled.",
|
||||
"heroTitle": "TaskFlow",
|
||||
"heroSubtitle": "Master your productivity with AI-driven task management, gamified achievements, and intelligent focus modes."
|
||||
"heroSubtitle": "Boost productivity with gamified task management and AI assistance.",
|
||||
"2faVerification": "2FA Verification",
|
||||
"2faCodeSent": "2FA Code Sent",
|
||||
"checkEmail": "Please check your email for the verification code.",
|
||||
"enterCodeSentTo": "Enter the 6-digit code sent to",
|
||||
"codeExpiresIn10": "Code expires in 10 minutes",
|
||||
"verify": "Verify"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user