feat: Implement AI Chat Agent, Email Notifications, and UI enhancements
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
+260
-38
@@ -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."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user