Skip to content

feat(theme): add Nexus — AAA-grade UI/UX theme alongside DefaultRevamp#3728

Open
myream2003 wants to merge 2 commits into
NamelessMC:v2from
myream2003:feature/nexus-theme
Open

feat(theme): add Nexus — AAA-grade UI/UX theme alongside DefaultRevamp#3728
myream2003 wants to merge 2 commits into
NamelessMC:v2from
myream2003:feature/nexus-theme

Conversation

@myream2003

Copy link
Copy Markdown

Summary

Introduces Nexus, a complete new public-frontend theme that ships alongside the existing DefaultRevamp. DefaultRevamp, the core, all modules, and the panel templates are untouched — this PR is purely additive.

Nexus is dark-first with optional light mode, built on TailwindCSS + Alpine.js, and coexists with the legacy jQuery / Fomantic UI stack that modules rely on. Design language is in the Linear / Vercel / Discord / Notion / Raycast direction.

What's in the box

  • Theme bootstrap: template.php, template_settings/{settings.php,settings.tpl}, package.json, tailwind.config.js, postcss.config.js
  • Design system: src/styles/tokens.css (CSS-variable tokens), base.css, components.css (.nx-* component library), overrides.css (legacy compatibility layer that restyles .ui.button, .ui.segment, .ui.form, .ui.message, .ui.modal, .ui.grid, DataTables, Select2, etc. so module-emitted markup looks consistent)
  • Alpine bundle (src/scripts/main.js): theme / toast / modal / mobileNav / palette stores, Cmd+K command palette, x-tooltip & x-clipboard directives, global escape handling, jQuery coexistence
  • Layout: new header.tpl, glassmorphic sticky navbar.tpl with off-canvas mobile drawer, footer.tpl
  • All public-frontend pages re-implemented: landing, portal, auth flow (login/register/forgot/change/tfa/complete-signup/authme/registration-disabled/user-not-exist), profile (banner, tabs, wall posts with reactions, replies, edit/delete/block/banner modals), user CP (index, settings, navigation + baseline copies for the rest), forum (index/view-forum/view-topic/new-topic/edit/search/follow/merge/move/redirect-confirm/no-discussions), members directory, leaderboards, status, 403/404/maintenance, cookies/privacy/terms, custom, reactions modal, user popover
  • Widgets: online_staff, online_users, server_status, statistics, minecraft_account (with skinview3d), profile_posts, reactions, cookie_notice, widget_error, forum/latest_posts
  • Docs: README.md (install + build + activate + customize + smoke-test + troubleshooting), docs/CHANGES.md (file-by-file inventory)

Why

DefaultRevamp's Fomantic UI design is functional but dated. This PR provides a modern alternative without forcing anyone off the existing theme. Operators can switch between Nexus and DefaultRevamp from StaffCP → Layout → Templates at any time.

Crucially, the Smarty-variable contract is preserved. Every page consumes the same \$NAV_LINKS, \$USER_SECTION, \$WIDGETS_*, \$REACTIONS_*, \$FORUMS, \$REPLIES, etc. that DefaultRevamp does, so all controllers and module integrations keep working.

Not in this PR

  • Admin panel (custom/panel_templates/) — slated for a follow-up.
  • Email templates and deep TinyMCE skinning — slated for a follow-up.

Reviewer checklist

  • custom/templates/Nexus/ is fully self-contained
  • custom/templates/DefaultRevamp/, core/, modules/, and custom/panel_templates/ have zero diffs in this PR
  • Build artifacts (assets/css/*.css, assets/js/*.js, node_modules/) are gitignored
  • Smarty template safety: no PHP static method calls inside .tpl files, no unsupported \{ brace escapes, every {include file=…} target exists, every {\$smarty.foreach.X.…} has a matching name=X declaration

Local testing

cd custom/templates/Nexus
npm install
npm run build

Then StaffCP → Layout → Templates → activate Nexus. Walk the smoke-test plan in custom/templates/Nexus/README.md §6.

Test plan

  • Visit /, /forum, /profile/<user>, /login, /register on desktop + mobile — no console errors, theme toggle persists across reloads
  • Create / reply / react / edit / delete a forum topic
  • Edit profile + change avatar + post on wall + react
  • Cmd/Ctrl+K opens command palette, Escape closes overlays, off-canvas drawer works on mobile
  • Switch back to DefaultRevamp — everything still works (parallel-theme guarantee)
  • Lighthouse on local install: Performance ≥ 90, A11y ≥ 95

samerton and others added 2 commits April 19, 2026 09:44
Introduces a complete new public-frontend theme alongside the
existing DefaultRevamp, leaving DefaultRevamp untouched. Built
with TailwindCSS + Alpine.js and coexists with the legacy
jQuery / Fomantic stack that modules rely on.

What it ships
- Theme bootstrap: template.php, template_settings/{settings.php,settings.tpl}, package.json, tailwind.config.js, postcss.config.js
- Design system: tokens.css, base.css, components.css (.nx-* library), overrides.css (legacy Fomantic compatibility)
- Alpine bundle: theme/toast/modal/mobileNav/palette stores, Cmd+K palette, x-tooltip & x-clipboard directives
- Layout: header, glassmorphic navbar with off-canvas mobile drawer, footer
- All public-frontend pages: landing, portal, auth flow (login/register/forgot/change/tfa/complete-signup/authme/registration-disabled/user-not-exist), profile (with reactions, wall posts, banner modal), user CP (index, settings, navigation + baseline copies for the rest), forum module (index/view/topic/new/edit/search/follow/merge/move/redirects), members directory, leaderboards, status, 403/404/maintenance, cookies/privacy/terms, custom, reactions modal, user popover
- Widgets: online_staff, online_users, server_status, statistics, minecraft_account, profile_posts, reactions, cookie_notice, widget_error, forum/latest_posts

Why
- DefaultRevamp's Fomantic UI look is dated; bring the public frontend up to modern SaaS standards (Linear / Vercel / Discord / Notion / Raycast).
- New theme keeps the original Smarty-variable contract so all existing modules and controllers keep working.

Not in this PR
- Admin panel (custom/panel_templates/) — slated for a separate iteration.
- Email templates and TinyMCE skin polish — slated for a separate iteration.

Reviewer notes
- DefaultRevamp, core, modules, and panel templates are completely untouched.
- Build artifacts (assets/css/*.css, assets/js/*.js, node_modules/) are gitignored. Run `cd custom/templates/Nexus && npm install && npm run build` before activating.
- Smarty template error budget swept: removed PHP static method calls in templates, replaced unsupported \{ \} brace escapes with DOM-driven JS seeding, verified all {include file=…} targets exist.
@samerton samerton force-pushed the v2 branch 5 times, most recently from 56e84bc to e0daffa Compare May 31, 2026 12:29
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.

3 participants