Update fun module configuration and enhance CSS styles

- Added 'enabled' property to FunConfigSchema with a default value of true for better configuration management.
- Refactored getFunConfig to return a complete default configuration when no data is found.
- Improved globals.css by expanding CSS variables for light and dark themes, enhancing styling consistency across the application.
This commit is contained in:
smueller
2026-07-22 13:56:33 +02:00
parent 7bc1684566
commit 04e04eb11d
39 changed files with 2394 additions and 14 deletions

View File

@@ -0,0 +1,143 @@
{
"common": {
"save": "Save",
"saving": "Saving…",
"discard": "Discard",
"cancel": "Cancel",
"confirm": "Confirm",
"add": "Add",
"remove": "Remove",
"loading": "Loading…",
"yes": "Yes",
"no": "No",
"enabled": "Enabled",
"disabled": "Disabled",
"unsavedChanges": "You have unsaved changes",
"saveSuccess": "Changes saved",
"saveError": "Could not save changes",
"back": "Back",
"comingSoon": "Coming soon",
"close": "Close"
},
"nav": {
"dashboard": "Dashboard",
"overview": "Overview",
"settings": "Settings",
"modules": "Modules",
"access": "Dashboard access"
},
"moduleGroups": {
"moderation": "Moderation",
"engagement": "Engagement",
"utility": "Utility",
"community": "Community",
"integrations": "Integrations"
},
"modules": {
"moderation": { "label": "Moderation", "description": "Bans, warns, timeouts and the case system" },
"automod": { "label": "Auto-Moderation", "description": "Spam, raid and nuke protection" },
"logging": { "label": "Logging", "description": "Server event log channels" },
"welcome": { "label": "Welcome & Leave", "description": "Join and leave messages, autoroles" },
"verification": { "label": "Verification", "description": "Button and captcha verification" },
"leveling": { "label": "Leveling & XP", "description": "Text and voice XP, level rewards" },
"economy": { "label": "Economy", "description": "Currency, shop and games" },
"fun": { "label": "Fun & Games", "description": "Mini games and media commands" },
"giveaways": { "label": "Giveaways", "description": "Button-based giveaways" },
"tickets": { "label": "Tickets", "description": "Support ticket panels and transcripts" },
"selfroles": { "label": "Self Roles", "description": "Reaction, button and dropdown role panels" },
"tags": { "label": "Tags", "description": "Custom commands and auto-responders" },
"starboard": { "label": "Starboard", "description": "Highlight popular messages" },
"suggestions": { "label": "Suggestions", "description": "Community suggestion voting" },
"birthdays": { "label": "Birthdays", "description": "Birthday announcements and roles" },
"tempvoice": { "label": "Temp Voice", "description": "Join-to-create voice channels" },
"stats": { "label": "Server Stats", "description": "Auto-updating stat channels and invites" },
"feeds": { "label": "Social Feeds", "description": "Twitch, YouTube, RSS and Reddit notifications" },
"scheduler": { "label": "Scheduler", "description": "Scheduled and recurring announcements" },
"guildbackup": { "label": "Backups", "description": "Server backup and restore" }
},
"login": {
"title": "Nexumi",
"subtitle": "Sign in with Discord to manage your servers.",
"cta": "Login with Discord",
"footer": "By logging in you agree to the Nexumi Terms of Service and Privacy Policy.",
"errors": {
"access_denied": "You cancelled the Discord login.",
"invalid_request": "Invalid login request. Please try again.",
"invalid_state": "Your login session expired. Please try again.",
"oauth_failed": "Discord login failed. Please try again."
}
},
"dashboard": {
"guildList": {
"title": "Your servers",
"subtitle": "Select a server to manage, or invite Nexumi to a new one.",
"manage": "Manage",
"invite": "Invite",
"botMissing": "Not installed",
"empty": "No servers found. You need the Manage Server permission on a Discord server to appear here."
},
"overview": {
"title": "Overview",
"moduleStatusTitle": "Module status",
"moduleStatusEmpty": "No module data yet.",
"recentAuditTitle": "Recent dashboard activity",
"auditEmpty": "No dashboard changes yet.",
"auditPath": "Path",
"viewAllModules": "Manage modules"
}
},
"settings": {
"general": {
"title": "General settings",
"description": "Language, timezone and the moderation module toggle for this server.",
"localeLabel": "Dashboard & bot language",
"localeHint": "Used for bot replies and dashboard defaults on this server.",
"timezoneLabel": "Timezone",
"timezoneHint": "IANA timezone identifier, e.g. Europe/Berlin or America/New_York.",
"moderationLabel": "Moderation module",
"moderationHint": "Enable moderation commands (ban, kick, warn, purge, …) on this server."
}
},
"modulesPage": {
"title": "Modules",
"description": "Enable or disable individual Nexumi modules for this server.",
"configure": "Configure"
},
"access": {
"title": "Dashboard access",
"description": "Grant additional Discord roles access to specific dashboard sections, in addition to server administrators.",
"roleIdLabel": "Role ID",
"roleIdPlaceholder": "e.g. 123456789012345678",
"roleIdHint": "Right-click a role in Discord with Developer Mode enabled and choose \"Copy Role ID\".",
"modulesLabel": "Allowed modules",
"allModulesOption": "All modules",
"specificModulesOption": "Specific modules",
"addRule": "Add rule",
"removeRule": "Remove",
"noRules": "No additional access rules configured. Only server administrators can access the dashboard.",
"invalidRoleId": "Enter a valid Discord role ID (1720 digits)."
},
"modulePlaceholder": {
"title": "{module} settings",
"message": "Module settings arrive in Phase 7.",
"backToModules": "Back to modules"
},
"userMenu": {
"theme": "Theme",
"themeDark": "Dark",
"themeLight": "Light",
"logout": "Log out",
"loggingOut": "Logging out…"
},
"serverSwitcher": {
"switchServer": "Switch server",
"allServers": "All servers",
"noOtherServers": "No other manageable servers"
},
"errors": {
"unauthorized": "Please log in to continue.",
"forbidden": "You do not have access to this server.",
"notFound": "Not found.",
"generic": "Something went wrong. Please try again."
}
}