Skip to content

feat(ui): modularize settings into separate template partials#43

Merged
patchmemory merged 3 commits intomainfrom
pr/settings-modularization
Feb 8, 2026
Merged

feat(ui): modularize settings into separate template partials#43
patchmemory merged 3 commits intomainfrom
pr/settings-modularization

Conversation

@patchmemory
Copy link
Owner

Summary

Refactored the large index.html file (2848 lines) by extracting 7 settings sections into self-contained partial templates for better maintainability.

Changes

New Partial Templates (in settings/ directory)

  • _general.html (989 lines): System info, config export/import, security, user management, audit log
  • _neo4j.html (177 lines): Neo4j connection settings with connection management
  • _chat.html (265 lines): LLM provider configuration
  • _interpreters.html (118 lines): Interpreter mappings and toggles
  • _plugins.html (8 lines): Plugin registry summary
  • _rclone.html (146 lines): Rclone interpretation and mount management
  • _integrations.html (1015 lines): API endpoints, table formats, fuzzy matching

Main Template Refactoring

  • index.html reduced from 2848 → 141 lines (95% reduction)
  • Uses {% include %} directives to compose sections
  • Keeps only shared CSS and tab navigation JavaScript
  • All section-specific JS moved into respective partials

Cleanup

  • Deleted obsolete settings.html (2067 lines)
  • /settings route already redirects to / (landing page)

Tests

  • ✅ All pytest tests pass (25/25)
  • ✅ Added TODO placeholders in E2E tests for future updates

Benefits

  • ✨ Easier to find and edit specific settings sections
  • 🔧 Reduced merge conflicts
  • 📦 Each partial is self-contained with HTML + JS
  • 🎯 Maintained identical functionality and appearance

Related

  • Implements: task:ui/settings/modularization (RICE: 18)
  • Lines changed: +2,744, -4,782

🤖 Generated with Claude Code

patchmemory and others added 3 commits February 8, 2026 14:40
Refactored the large index.html file (2848 lines) by extracting 7 settings
sections into self-contained partial templates:

**New partial templates in settings/ directory:**
- _general.html (989 lines): System info, config export/import, security,
  user management, audit log with 4 JS init functions
- _neo4j.html (177 lines): Neo4j connection settings with connection
  management JS
- _chat.html (265 lines): LLM provider configuration with initChatSettings
- _interpreters.html (118 lines): Interpreter mappings and toggles with
  dynamic table
- _plugins.html (8 lines): Plugin registry summary
- _rclone.html (146 lines): Rclone interpretation and mount management with JS
- _integrations.html (1015 lines): API endpoints, table formats, fuzzy
  matching with 3 JS init functions

**Main index.html changes:**
- Reduced from 2848 to 141 lines (95% reduction)
- Now uses {% include %} directives to compose sections
- Keeps only shared CSS and tab navigation JavaScript
- All section-specific JS moved into respective partials

**Cleanup:**
- Deleted obsolete settings.html file (2067 lines)
- /settings route already redirects to / (landing page)

**Tests:**
- All pytest tests pass (25/25)
- Added TODO placeholders in E2E tests for future updates

**Benefits:**
- Easier to find and edit specific settings sections
- Reduced merge conflicts
- Each partial is self-contained with HTML + JS
- Maintained identical functionality and appearance

Related: task:ui/settings/modularization

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@patchmemory patchmemory merged commit 9d1846e into main Feb 8, 2026
1 check passed
@patchmemory patchmemory deleted the pr/settings-modularization branch February 8, 2026 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant