feat(theme): add Nexus — AAA-grade UI/UX theme alongside DefaultRevamp#3728
Open
myream2003 wants to merge 2 commits into
Open
feat(theme): add Nexus — AAA-grade UI/UX theme alongside DefaultRevamp#3728myream2003 wants to merge 2 commits into
myream2003 wants to merge 2 commits into
Conversation
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.
56e84bc to
e0daffa
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
template.php,template_settings/{settings.php,settings.tpl},package.json,tailwind.config.js,postcss.config.jssrc/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)src/scripts/main.js): theme / toast / modal / mobileNav / palette stores,Cmd+Kcommand palette,x-tooltip&x-clipboarddirectives, global escape handling, jQuery coexistenceheader.tpl, glassmorphic stickynavbar.tplwith off-canvas mobile drawer,footer.tplonline_staff,online_users,server_status,statistics,minecraft_account(with skinview3d),profile_posts,reactions,cookie_notice,widget_error,forum/latest_postsREADME.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
custom/panel_templates/) — slated for a follow-up.Reviewer checklist
custom/templates/Nexus/is fully self-containedcustom/templates/DefaultRevamp/,core/,modules/, andcustom/panel_templates/have zero diffs in this PRassets/css/*.css,assets/js/*.js,node_modules/) are gitignored.tplfiles, no unsupported\{brace escapes, every{include file=…}target exists, every{\$smarty.foreach.X.…}has a matchingname=XdeclarationLocal testing
cd custom/templates/Nexus npm install npm run buildThen StaffCP → Layout → Templates → activate Nexus. Walk the smoke-test plan in
custom/templates/Nexus/README.md§6.Test plan
/,/forum,/profile/<user>,/login,/registeron desktop + mobile — no console errors, theme toggle persists across reloads