Skip to content

feat(client): drop badges, add pl#777

Open
lenisko wants to merge 30 commits into
na-ji:mainfrom
lenisko:friends-lite
Open

feat(client): drop badges, add pl#777
lenisko wants to merge 30 commits into
na-ji:mainfrom
lenisko:friends-lite

Conversation

@lenisko

@lenisko lenisko commented Jun 8, 2025

Copy link
Copy Markdown
Contributor

After recent changes, Nia doesn't return badges data anymore...

  • Drop things we can't see anymore 😢
  • Added Total KM count
  • Add pl lang (translated only what can be seen)

I'll leave server side cleanup for you @na-ji unless we leave it?

Screenshots after changes, it looks fine on mobile as well. I've masked names for privacy.
p-1749348111-firefox
p-1749419080-firefox

lenisko added 30 commits June 8, 2025 03:58
Trainer levels not present in XPRequirements map caused undefined
access crash, resulting in SSR 500 errors on profile pages.
Ensures NODE_ENV is set during install/build/start to prevent
node-config-ts from baking wrong config into the bundle.
- Delete resolveConfig() — function did nothing, called in all API routes
- Delete unused leaderboardTabTranslations
- Remove unused ApiError interfaces from API routes
- typescript 5.2.2 → 5.7.3
- eslint 8.50.0 → 8.57.1
- @types/react 18.2.22 → 18.3.18
- clsx ^1.2.1 → ^2.1.1
Major bumps: react 19, next 16, ag-grid 32, typescript 6,
eslint 9, storybook 10, tailwind 4, vite 8, sequelize 6.37.
Remove deprecated @types/cron, storybook addon packages
(merged into core). Fix husky v9 prepare script.
- Parallelize period leaderboard DB queries with Promise.all
- Parallelize server bootstrap migrations with Promise.all
- Fix missing await on response.json() in Discord auth
- Migrate Leaderboard to ag-grid 32 API (columnDefs, no columnApi)
- Memoize columnDefs computation
- Add global JSX type declaration for React 19
- Migrate eslint config to flat config format (eslint 9)
- Fix husky v9 hook scripts
- Add TypeScript 6 ignoreDeprecations
- Exclude stories from main tsconfig
Frontend badge display was removed in d0afda4 but Trainer type
and fixture data still referenced event_badges field.
- Fix TeamLogo creating component during render (use static map)
- Simplify Profile by removing unnecessary tab state management
- Fix Tab.tsx prettier formatting
- Guard husky prepare script for production installs
cross-env and concurrently are devDependencies, not available
in production npm ci. NODE_ENV is set by systemd/Makefile instead.
- Pin Volta to Node 20.19.0 (Next 15+ requires Node >= 20.9)
- Migrate from deprecated job() to CronJob.from() (cron v4)
make install now runs volta install node@22 before npm ci
to ensure correct Node version on server.
Next 16 removed get-validated-args and command-args internals.
nextStart() now takes options object directly.
cross-env, tsx, typescript, fix-esm-import-path, @formatjs/cli
are needed during build but were in devDependencies, unavailable
with production npm ci. Moved to dependencies, removed cross-env
from build scripts (NODE_ENV set by Makefile).
Used in next.config.js, unavailable with production npm ci.
Next 16 defaults to Turbopack which is incompatible with
node-config-ts webpack plugin. Use --webpack flag explicitly.
Tailwind 4 handles nesting and autoprefixing natively.
Tailwind 4 moved PostCSS plugin to separate @tailwindcss/postcss package.
Tailwind 4 removed JS config support and PostCSS plugin path.
Staying on v3 until CSS-based theme migration is done.
ag-grid 32 removed standalone CSS files. Added essential
layout styles to custom ag-theme-leaderboard to restore
grid structure (flex layout, overflow, visibility).
ag-grid 32 removed CSS files and requires new theming API
not available in @ag-grid-community modular packages.
Reverting to v28 which has working CSS and AgGridColumn API.
ag-grid 28 peer-depends on React <=18 but works fine with 19.
- Replace @ag-grid-community/* modules with ag-grid-community + ag-grid-react
- Use AllCommunityModule instead of ClientSideRowModelModule
- Use columnDefs prop instead of AgGridColumn children
- Replace columnApi with api (getAllColumns -> getColumns)
- Memoize columnDefs with useMemo
- Import ag-grid base CSS from ag-grid-community/styles
Only one leaderboard section remains — remove tab wrapper.
Override ag-grid 35 focus/selected row border on click.
- Use justify-end to align PeriodSelect right
- Remove Transition wrapper (headlessui 2 uses data-[closed] attrs)
- Migrate Listbox.* sub-components to named exports (ListboxButton,
  ListboxOptions, ListboxOption, Label)
@lenisko

lenisko commented Apr 24, 2026

Copy link
Copy Markdown
Contributor Author

Ok. Updated a ton of things... removed dead code, fixed some things and it works. Have fun reviewing it!

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