feat: Implement AI Chat Agent, Email Notifications, and UI enhancements
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-12-12 08:35:48 +01:00
parent ccfb674318
commit 5d8976b1cd
58 changed files with 7867 additions and 844 deletions
+260 -38
View File
@@ -11,6 +11,7 @@
"create": "Create",
"kanban": "Kanban",
"achievements": "Achievements",
"leaderboard": "Leaderboard",
"settings": "Settings"
},
"taskList": {
@@ -64,12 +65,15 @@
"title": "New Task",
"titlePlaceholder": "What needs to be done?",
"descriptionPlaceholder": "Add a description (optional)",
"dueDate": "Due Date",
"priority": "Priority",
"label": "Label",
"noLabel": "No Label",
"dueDate": "Due date",
"create": "Create Task",
"cancel": "Cancel",
"create": "Create Task"
"smartInputActive": "Smart Input Active",
"energy": "Energy",
"minutesPlaceholder": "Minutes (optional)"
},
"taskDetails": {
"title": "Task Details",
@@ -174,6 +178,40 @@
"english": "English",
"german": "German (Deutsch)"
},
"account": {
"title": "Account",
"description": "Manage your account settings",
"username": "Username",
"userId": "User ID"
},
"social": {
"title": "Social & Privacy",
"description": "Manage your visibility and social features",
"publicLeaderboard": "Public Leaderboard",
"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..."
},
"admin": {
"title": "Admin Settings",
"description": "System administration and configuration",
"manageUsers": "Manage Users",
"smtpSettings": "SMTP / Email Settings"
},
"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"
},
"labels": {
"title": "Task Labels",
"description": "Create and manage labels to organize your tasks",
@@ -193,17 +231,80 @@
"updated": "Label updated",
"updatedDescription": "Your label has been updated successfully.",
"deleted": "Label deleted",
"deletedDescription": "Your label has been deleted successfully."
"deletedDescription": "Your label has been deleted successfully.",
"share": "Share Label"
},
"templates": {
"title": "Project Templates",
"description": "Use templates to quickly create projects",
"manageTemplates": "Manage Templates"
},
"mcp": {
"title": "MCP Server Integration",
"description": "Connect AI assistants to TaskFlow via Model Context Protocol.",
"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",
"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 (Optional, e.g. for Ollama)",
"enableUser": "Enable AI Assistant",
"enableUserDesc": "Show the AI chat widget."
}
},
"ai": {
"title": "AI Assistant",
"welcome": "How can I help you manage your tasks today?",
"thinking": "Thinking...",
"placeholder": "Ask a question...",
"error": "I encountered an error"
},
"userManagement": {
"title": "User Management",
"registration": "Registration",
"registrationDesc": "Control access to the platform",
"publicRegistration": "Public Registration",
"publicRegistrationDesc": "Allow new users to sign up",
"registeredUsers": "Registered Users",
"registeredUsersDesc": "Manage user accounts and roles",
"createUser": "Create User",
"roles": {
"admin": "Administrator",
"user": "User"
},
"table": {
"user": "User",
"role": "Role",
"status": "Status",
"xp": "XP / Level",
"actions": "Actions",
"activate": "Activate",
"deactivate": "Deactivate",
"active": "Active",
"inactive": "Inactive"
},
"settingsUpdated": "Settings updated successfully",
"userDeleted": "User deleted successfully",
"deleteUser": "Delete User",
"deleteConfirm": "Are you sure you want to delete user '{{username}}'? This action cannot be undone.",
"typeToConfirm": "Type username to confirm"
},
"projectTemplate": {
"title": "Project Templates",
"description": "Select a template to create a new project with pre-configured tasks",
"pageDescription": "Select a template to create a new project with pre-configured tasks",
"websiteRedesign": "Website Redesign",
"websiteDescription": "Comprehensive website redesign project with design, development, and testing phases",
"mobileApp": "Mobile App Launch",
@@ -324,14 +425,6 @@
"empty": "No active tasks. Enjoy your day!"
}
},
"gamification": {
"level": "Level {{level}}",
"streak": "{{count}}",
"xp": "{{count}} XP",
"nextLevel": "{{count}} XP",
"currentXP": "{{current}} / {{next}} XP",
"viewDetails": "View Details"
},
"ranks": {
"novice": "Novice",
"builder": "Builder",
@@ -339,9 +432,45 @@
"architect": "Architect",
"master": "Master"
},
"leaderboardPage": {
"title": "Leaderboard",
"subtitle": "Top performers in the community",
"globalRankings": "Global Rankings",
"globalRankingsDesc": "Users ranked by total XP (opt-in only)",
"noUsers": "No users on the leaderboard yet. Be the first to join in Settings!",
"xp": "XP"
},
"share": {
"taskTitle": "Share Task",
"allTasksTitle": "Share All Tasks",
"allTasksDesc": "Grant a user read-only access to ALL your tasks.",
"searchPlaceholder": "Search users by username...",
"noUsers": "No users found.",
"typeToSearch": "Type at least 2 characters to search.",
"grantAccess": "Grant Access",
"successTask": "Task shared successfully",
"errorTask": "Failed to share task",
"successAccess": "Access granted successfully",
"successAccessDesc": "User can now view all your tasks.",
"errorAccess": "Failed to grant access",
"sharedWith": "Shared with",
"unshare": "Unshare",
"confirmShareTitle": "Share Task",
"confirmShareDesc": "Are you sure you want to share this task with {{username}}?",
"confirm": "Confirm Share",
"cancel": "Cancel",
"removeSuccess": "Access removed successfully"
},
"achievements": {
"title": "Achievements",
"subtitle": "Track your progress and goals",
"rewardsDescription": "Spend your {{xp}} XP on exclusive rewards!",
"addReward": "Add Reward",
"createCustomReward": "Create Custom Reward",
"rewardTitle": "Title",
"rewardDescription": "Description",
"rewardCost": "Cost (XP)",
"createRewardBtn": "Create Reward",
"currentStreak": "Current Streak",
"days": "{{count}} Days",
"bestStreak": "Best: {{count}} Days",
@@ -358,16 +487,64 @@
"weekly": "Weekly",
"monthly": "Monthly",
"yearly": "Yearly",
"inventory": "Inventory",
"history": "History",
"fromLastWeek": "from last week",
"noInventory": "You have not purchased any rewards yet.",
"goToShop": "Go to Reward Shop",
"purchasedAt": "Purchased on {{date}}",
"xpHistory": "XP History",
"noHistory": "No history yet",
"types": {
"weekly_tasks": "Weekly Tasks",
"total_xp": "Total XP",
"streak": "Streak Days"
"streak": "Daily Streak"
}
},
"gamification": {
"energy": {
"low": "⚡ Low Energy",
"medium": "⚡⚡ Medium Energy",
"high": "⚡⚡⚡ High Energy"
},
"levelDetails": "Level Details",
"nextReward": "Next Level Reward",
"unlockReward": "Unlock advanced analytics at Level {{level}}",
"goalTitlePlaceholder": "e.g., Complete 50 Tasks",
"fromLastWeek": "from last week"
"level": "Level {{level}}",
"streak": "{{count}}",
"xp": "{{count}} XP",
"nextLevel": "{{count}} XP",
"currentXP": "{{current}} / {{next}} XP",
"viewDetails": "View Details",
"source": {
"task_completion": "Task Completed",
"daily_streak": "Daily Streak Bonus",
"daily_clear_bonus": "Daily Clear Bonus",
"goal_completed": "Goal Completed"
}
},
"rewards": {
"shopTitle": "Reward Shop",
"title": "Reward Shop",
"subtitle": "Spend your XP on rewards",
"buy": "Buy",
"owned": "Owned",
"insufficientFunds": "Not enough XP",
"buySuccess": "Purchase Successful",
"itemPurchased": "You bought {{item}}",
"buyFailed": "Purchase Failed",
"cost": "{{cost}} XP",
"defaults": {
"coffee": {
"title": "Coffee Break",
"description": "Enjoy a guilt-free 15min break"
},
"gaming": {
"title": "Gaming Session",
"description": "1 hour of video games"
},
"theme": {
"title": "Dark Theme",
"description": "Unlock the exclusive dark theme"
}
}
},
"analytics": {
"mon": "Mon",
@@ -400,25 +577,70 @@
"medium": "⚡⚡ Medium Energy",
"high": "⚡⚡⚡ High Energy"
},
"rewards": {
"shopTitle": "Reward Shop",
"buy": "Buy",
"insufficientFunds": "Not enough XP",
"owned": "Owned",
"processing": "Processing...",
"defaults": {
"coffee": {
"title": "Coffee Break",
"description": "Take a 15 min coffee break"
},
"gaming": {
"title": "Gaming Session",
"description": "1 hour of guilt-free gaming"
},
"theme": {
"title": "Golden Theme",
"description": "Unlock the golden theme"
}
}
"validation": {
"required": "Required",
"email": "Invalid email address",
"minLength": "Must be at least {{min}} characters",
"passwordMatch": "Passwords do not match"
},
"smartTask": {
"placeholder": "Type a task like 'Buy milk tomorrow'..."
},
"dependencies": {
"label": "Blocked By",
"selectPlaceholder": "Select blocking tasks...",
"blocked": "Blocked",
"blockedBy": "Waiting for"
},
"auth": {
"rememberMe": "Remember me",
"forgotPassword": "Forgot password?",
"email": "Email",
"forgotPasswordTitle": "Forgot Password",
"forgotPasswordDesc": "Enter your email to reset your password",
"resetPasswordTitle": "Reset Password",
"resetPasswordDesc": "Enter your new password below",
"sendResetLink": "Send Reset Link",
"backToLogin": "Back to Login",
"resetSuccess": "Password reset successful",
"resetEmailSent": "Reset email sent",
"resetEmailSentDesc": "If an account exists with that email, we've sent you instructions to reset your password.",
"checkSpam": "Please check your spam folder if you don't see it.",
"newPassword": "New Password",
"confirmPassword": "Confirm Password",
"resetBtn": "Reset Password",
"password": "Password",
"resetting": "Resetting...",
"sending": "Sending...",
"invalidToken": "Invalid Link",
"missingToken": "Missing reset token.",
"redirecting": "Redirecting to login...",
"changePassword": "Change Password",
"changePasswordDesc": "Enter your current password and a new password.",
"currentPassword": "Current Password",
"changing": "Changing...",
"passwordChangedSuccess": "Password changed successfully",
"changePasswordFailed": "Change password failed",
"incorrectCurrentPassword": "Incorrect current password",
"currentPasswordRequired": "Current password is required",
"passwordMinLength": "Password must be at least 6 characters",
"welcomeBack": "Welcome Back",
"signInDesc": "Sign in to your account or create a new one to get started",
"signInDescNoReg": "Sign in to your account to get started",
"login": "Login",
"register": "Register",
"usernameOrEmail": "Username or Email",
"username": "Username",
"enterUsernameOrEmail": "Enter username or email",
"chooseUsername": "Choose a username",
"enterEmail": "Enter your email",
"enterPassword": "Enter your password",
"loggingIn": "Logging in...",
"creatingAccount": "Creating account...",
"signIn": "Sign In",
"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."
}
}