Repository navigation
Conversation
Introduce main/assets/m3/, a self-contained Material 3 layer (tonal palettes generated from a seed colour, design tokens, components, page patterns, a runtime dynamic-colour generator and shared UI behaviour), and rebuild every page on top of it without touching application logic. Design system - palettes.css: full light/dark tonal palettes with the M3 role mapping (primary, secondary, tertiary, neutral, neutral-variant, error + containers, inverse and fixed roles), generated by gen_palette.py through CIELAB with gamut-clamped chroma; six named seeds selectable with <html data-seed>. - tokens.css: type scale, shape, elevation, motion, spacing and z-index tokens, plus responsive visibility helpers and the Pusab display face. - components.css: buttons, icon buttons, chips, cards, lists, menus, dialogs, bottom sheets, scrims, tabs, segmented buttons, switches, sliders, text fields, tables, expansion panels, snackbars, tooltips, progress and loading indicators with hover/focus/pressed/disabled/loading/error states. - color.js: dynamic colour engine (seed generation, light/dark/system themes, the seed picker, theme-colour meta sync, legacy theme-key bridge). - ui.js: drawer, menu, dialog, tab, segmented, chip, copy, range and reveal behaviours, snackbars and scroll locking. Pages - Boot menu, team, download, rating system, about, tools, 404, WhatsApp redirect, feedback app and its terms/FAQ/contact pages, and the demon list, pemon list, impossible list, about and leaderboard pages all rebuilt as M3 surfaces: app bars, navigation drawer/tabs, cards, data tables, dialogues and responsive layouts in light and dark themes. - The demon list pages now share one stylesheet and one application script; the duplicated inline scripts and styles, the duplicate PapaParse include and the dead per-page theme code are gone. Every id, class and data attribute the list application consumes is preserved, so filtering, search, sorting, favourites, progress, achievements, ratings, reviews, statistics, comparison, recommendations, export and CSV loading behave exactly as before. Verified with a headless DOM pass over all pages: no runtime errors, the list app renders and filters data, the feedback app renders/searches/filters and opens its detail dialog, theme switching and the dynamic-colour picker work, and no internal links or asset references are broken. Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
The generated dark container roles clamp to a tone that keeps at least 4.5:1 contrast against their on-container labels: the crimson seed (and any bright runtime seed) previously landed at 4.4:1 for on-primary-container, so the generator and the runtime colour engine now walk the tonal ramp until the pair is readable. Verified across every named seed, the light/dark selectors and the prefers-color-scheme fallback, plus nine runtime seeds. Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Deploying gdips with
|
| Latest commit: |
b176881
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://30accb25.gdips.pages.dev |
| Branch Preview URL: | https://arena-3ce7a9ec-site.gdips.pages.dev |
Add main/assets/m3/README.md: load order, colour roles and seeds, how to regenerate the palettes, the typescale/spacing/shape/elevation tokens, the component inventory, the declarative behaviour hooks and the accessibility and print rules the system guarantees. Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Missing or broken assets - Hotlinked logo (gdi.ps.fhgdps.com icon.png, 61 uses), imgur logo and the Wikipedia/yt3/rickgdps avatars are replaced with local files. New brand mark (assets/brand/) renders favicon, apple-touch, PWA and maskable icons. Contributor avatars are local initials SVGs (assets/people/). - Font Awesome 6.4.0, PapaParse 5.3.2, Roboto Flex and JetBrains Mono are vendored under assets/vendor/ with their licenses, replacing cdnjs and Google Fonts requests. - sw.js was registered by the demon list but did not exist; added a same-origin network-first shell cache. - 404 page was served as error.html while _redirects pointed at 404.html; renamed to 404.html and switched its asset/link paths to root-absolute so deep unknown URLs render correctly. - pages/id/rate.html loaded assets three levels up and was unstyled; replaced with 301 redirects to rating-system/. - Removed unused batik.css and bg-pattern.png (695 KB). - Sitemap rebuilt from the real page list (duplicate root entry removed). - Manifest icons point to local files; theme colour matches the brand. Polish - Emoji (flag, heart, sparkles, gamepad, favicon emoji) replaced with icon font glyphs so they render consistently. - App-bar rows share the content measure so header and body edges align; the feedback CTA no longer sits 8px from the viewport edge. - Demon list error-state actions are labelled pills instead of clipped icon circles; the list chrome uses the GDIPS mark. - Print control in the demon list gets an accessible name. - Asset caching headers for /assets/* and no-cache for sw.js. Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Every link to the old dashboard host (gdi.ps.fhgdps.com) now points at a local /dashboard route on the site. main/_redirects forwards /dashboard and /dashboard/* with a 302 to https://gdips.wasmer.app/dashboard/..., so the destination can change in one place. php/page.php, README.md and .github/profile/README.md run outside Pages routing, so they use the absolute https://gdips.wasmer.app URL instead. Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
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.
What this does
Rebuilds the whole GDIPS front-end on a Material You 3 (Material Design 3) design system while keeping every existing feature, data flow and business rule intact.
Design system —
main/assets/m3/palettes.css— full tonal palettes (light + dark) with the M3 role mapping, generated from seed colours through CIELAB with gamut-clamped chroma. Six named seeds selectable via<html data-seed>.tokens.css— type scale, shape, elevation, motion, spacing and z-index tokens, responsive helpers, Pusab display face.components.css— buttons, icon buttons, chips, cards, lists, menus, dialogs, sheets, scrims, tabs, segmented buttons, switches, sliders, text fields, tables, expansion panels, snackbars, tooltips, progress/loading, with hover, focus, pressed, disabled, loading and error states.color.js— dynamic colour engine: generate a palette from any seed, light/dark/system themes, seed picker, theme-colour meta sync, legacy theme-key bridge.ui.js— drawer, menu, dialog, tab, segmented, chip, copy, range and reveal behaviours, snackbars, scroll locking.gen_palette.py— the offline generator forpalettes.css(contrast-safe container tones).Pages
Boot menu, team, download, rating system, about, tools, 404, WhatsApp redirect, the feedback app plus terms/FAQ/contact, and the demon list, pemon list, impossible list, about and leaderboard pages — all rebuilt with app bars, navigation drawers/tabs, cards, data tables and responsive layouts in light and dark themes.
Behaviour preserved
Every id, class and data attribute the list application consumes is untouched: CSV loading, localStorage cache and offline fallback, search + suggestions, difficulty/sort menus, advanced filters, pagination and infinite scroll, grid/list view, favourites, recently viewed, completions, progress, achievements, ratings, reviews, statistics, comparison, recommendations, export, keyboard shortcuts, toasts, service-worker registration, the feedback table/cache/export/auto-refresh flow and the rating predictor thresholds.
The demon list pages now share one stylesheet and one application script, removing duplicated inline scripts/styles, a duplicated PapaParse include and dead per-page theme code.
Verification