Implement configuration-based mod management and fix navigation spacing
## Major Features Added ### Configuration-Based Mod Management - Implement proper Luanti mod system using load_mod_* entries in world.mt - Add mod enable/disable via configuration instead of file copying - Support both global mods (config-enabled) and world mods (physically installed) - Clear UI distinction with badges: "Global (Enabled)", "World Copy", "Missing" - Automatic registry verification to sync database with filesystem state ### Game ID Alias System - Fix minetest_game/minetest technical debt with proper alias mapping - Map minetest_game → minetest for world.mt files (matches Luanti internal behavior) - Reference: https://github.com/luanti-org/luanti/blob/c9d4c33174c87ede1f49c5fe5e8e49a784798eb6/src/content/subgames.cpp#L21 ### Navigation Improvements - Fix navigation menu spacing and text overflow issues - Change "Configuration" to "Config" for better fit - Implement responsive font sizing with clamp() for better scaling - Even distribution of nav buttons across full width ### Package Registry Enhancements - Add verifyAndCleanRegistry() to automatically remove stale package entries - Periodic verification (every 5 minutes) to keep registry in sync with filesystem - Fix "already installed" errors for manually deleted packages - Integration across dashboard, ContentDB, and installation workflows ## Technical Improvements ### Mod System Architecture - Enhanced ConfigParser to handle load_mod_* entries in world.mt files - Support for both configuration-based and file-based mod installations - Proper mod type detection and management workflows - Updated world details to show comprehensive mod information ### UI/UX Enhancements - Responsive navigation with proper text scaling - Improved mod management interface with clear action buttons - Better visual hierarchy and status indicators - Enhanced error handling and user feedback ### Code Quality - Clean up gitignore to properly exclude runtime files - Add package-lock.json for consistent dependency management - Remove excess runtime database and log files - Add .claude/ directory to gitignore 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+11
-10
@@ -144,18 +144,22 @@ body {
|
||||
|
||||
.nav-item {
|
||||
flex: 1;
|
||||
min-width: 140px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
display: block;
|
||||
padding: 16px 20px;
|
||||
padding: 14px 16px;
|
||||
text-decoration: none;
|
||||
color: var(--text-light);
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
letter-spacing: 0.5px;
|
||||
font-size: clamp(0.75rem, 1.2vw, 0.9rem);
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
transition: all 0.1s ease;
|
||||
border-right: var(--border-width) solid var(--border-dark);
|
||||
background: linear-gradient(180deg,
|
||||
@@ -679,14 +683,11 @@ body {
|
||||
}
|
||||
|
||||
/* Responsive design */
|
||||
@media (max-width: 1024px) and (min-width: 769px) {
|
||||
.nav-item {
|
||||
min-width: 160px;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.nav-link {
|
||||
padding: 12px 16px;
|
||||
font-size: 0.85rem;
|
||||
padding: 12px 8px;
|
||||
font-size: clamp(0.7rem, 1.1vw, 0.85rem);
|
||||
letter-spacing: 0.3px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user