Add comprehensive backend features and mobile UI improvements
Backend: - Add 2FA authentication with TOTP support - Add API keys management system - Add audit logging for security events - Add file upload/management system - Add notifications system with preferences - Add session management - Add webhooks integration - Add analytics endpoints - Add export functionality - Add password policy enforcement - Add new database migrations for core tables Frontend: - Add module position system (top/bottom sidebar sections) - Add search and notifications module configuration tabs - Add mobile logo replacing hamburger menu - Center page title absolutely when no tabs present - Align sidebar footer toggles with navigation items - Add lighter icon color in dark theme for mobile - Add API keys management page - Add notifications page with context - Add admin analytics and audit logs pages 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,10 @@
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"email": "Email",
|
||||
"twoFactorCode": "2FA code",
|
||||
"twoFactorPrompt": "Enter the 6-digit code from your authenticator app (or an 8-character backup code).",
|
||||
"verifyCode": "Verify",
|
||||
"backToLogin": "Back to login",
|
||||
"loginTitle": "Login",
|
||||
"registerTitle": "Register",
|
||||
"alreadyHaveAccount": "Already have an account? Login",
|
||||
@@ -27,6 +31,8 @@
|
||||
},
|
||||
"sidebar": {
|
||||
"dashboard": "Dashboard",
|
||||
"search": "Search",
|
||||
"notifications": "Notifications",
|
||||
"feature1": "Feature 1",
|
||||
"feature2": "Feature 2",
|
||||
"feature3": "Feature 3",
|
||||
@@ -59,7 +65,14 @@
|
||||
"configTab": "Configuration",
|
||||
"orderSection": "Sidebar Order",
|
||||
"orderDesc": "Drag to reorder features in the sidebar",
|
||||
"applyOrder": "Apply"
|
||||
"applyOrder": "Apply",
|
||||
"visibility": "Visibility",
|
||||
"topSection": "Main Section",
|
||||
"bottomSection": "Bottom Section",
|
||||
"moveToTop": "Move to top",
|
||||
"moveToBottom": "Move to bottom",
|
||||
"noModulesTop": "No modules in this section",
|
||||
"noModulesBottom": "No modules in this section"
|
||||
},
|
||||
"sourcesPage": {
|
||||
"title": "Sources",
|
||||
@@ -306,13 +319,103 @@
|
||||
"languageDesc": "Select your preferred language",
|
||||
"english": "English",
|
||||
"italian": "Italiano",
|
||||
"preferences": "Preferences",
|
||||
"security": "Security",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"twoFactorTitle": "Two-factor authentication (2FA)",
|
||||
"twoFactorDesc": "Protect your account with TOTP codes from an authenticator app.",
|
||||
"enable2fa": "Enable 2FA",
|
||||
"qrCodeAlt": "2FA QR code",
|
||||
"secret": "Secret",
|
||||
"verificationCode": "Verification code",
|
||||
"verifyEnable2fa": "Verify and enable",
|
||||
"backupCodes": "Backup codes",
|
||||
"backupCodesDesc": "Generate new backup codes (requires a valid code).",
|
||||
"backupCodesSaveHint": "Save these codes in a safe place. Each code can be used once to access your account if you lose your authenticator.",
|
||||
"regenerateBackupCodes": "Regenerate backup codes",
|
||||
"disable2fa": "Disable 2FA",
|
||||
"disable2faDesc": "Disable two-factor authentication (requires your password and a valid code).",
|
||||
"disable2faConfirm": "Disable",
|
||||
"sessionsTitle": "Active sessions",
|
||||
"sessionsDesc": "View and revoke sessions on other devices.",
|
||||
"revokeAllOtherSessions": "Revoke all other sessions",
|
||||
"revokeSession": "Revoke",
|
||||
"currentSession": "Current",
|
||||
"inactiveSession": "Inactive",
|
||||
"sessionsEmpty": "No sessions found",
|
||||
"unknownDevice": "Unknown device",
|
||||
"unknownBrowser": "Unknown browser",
|
||||
"unknownOs": "Unknown OS",
|
||||
"lastActive": "Last active",
|
||||
"comingSoon": "User settings will be available soon...",
|
||||
"placeholderTitle": "Settings"
|
||||
},
|
||||
"notificationsPage": {
|
||||
"title": "Notifications",
|
||||
"unreadOnly": "Unread only",
|
||||
"markAllRead": "Mark all as read",
|
||||
"deleteRead": "Delete read",
|
||||
"markRead": "Mark as read",
|
||||
"empty": "No notifications",
|
||||
"loadError": "Failed to load notifications"
|
||||
},
|
||||
"analyticsPage": {
|
||||
"title": "Analytics",
|
||||
"usersTotal": "Total users",
|
||||
"usersActive": "Active users",
|
||||
"usersNew": "New users",
|
||||
"sessionsActive": "Active sessions",
|
||||
"logins24h": "Logins (24h)",
|
||||
"failedLogins24h": "Failed (24h)",
|
||||
"notificationsUnread": "Unread notifications",
|
||||
"userActivity7d": "User activity (7d)",
|
||||
"actions24h": "Actions (24h)",
|
||||
"generatedAt": "Generated at"
|
||||
},
|
||||
"auditPage": {
|
||||
"title": "Audit Log",
|
||||
"username": "Username",
|
||||
"action": "Action",
|
||||
"resourceType": "Resource type",
|
||||
"anyStatus": "Any status",
|
||||
"statusSuccess": "Success",
|
||||
"statusFailure": "Failure",
|
||||
"statusPending": "Pending",
|
||||
"statusError": "Error",
|
||||
"empty": "No audit log entries",
|
||||
"time": "Time",
|
||||
"user": "User",
|
||||
"resource": "Resource",
|
||||
"status": "Status",
|
||||
"ip": "IP",
|
||||
"prev": "Prev",
|
||||
"next": "Next",
|
||||
"page": "Page"
|
||||
},
|
||||
"apiKeysPage": {
|
||||
"title": "API Keys",
|
||||
"createTitle": "Create API key",
|
||||
"createDesc": "Generate an API key for external API access. The key is shown only once.",
|
||||
"namePlaceholder": "Key name (e.g. CI, integration, script)",
|
||||
"createButton": "Create",
|
||||
"showOnce": "Shown once",
|
||||
"copy": "Copy",
|
||||
"listTitle": "Your keys",
|
||||
"empty": "No API keys yet",
|
||||
"name": "Name",
|
||||
"prefix": "Prefix",
|
||||
"status": "Status",
|
||||
"lastUsed": "Last used",
|
||||
"usage": "Usage",
|
||||
"actions": "Actions",
|
||||
"revoke": "Revoke",
|
||||
"revoked": "Revoked"
|
||||
},
|
||||
"feature1": {
|
||||
"title": "Feature 1",
|
||||
"subtitle": "Feature 1 management",
|
||||
"comingSoon": "Feature coming soon...",
|
||||
"management": "Feature 1 Management"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user