Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
7d93083
WIP Rewrite frontend components to use React Query
lhvy Oct 9, 2025
1727d1b
Stub out autotimetable button
lhvy Oct 15, 2025
a0cb8e7
Upgrade to React 19.2 and add back linting
lhvy Oct 20, 2025
6c7afe9
feat: put back tab context menu MVP (components only, no server inter…
mark-trann Oct 20, 2025
e6b99d1
Fix eslint errors and warnings
lhvy Oct 20, 2025
d5ed393
Enable React strict mode
lhvy Oct 20, 2025
edf5344
Add duplicate timetable route to backend
lhvy Oct 20, 2025
bab4cf8
feat: add in mutations for renaming, deleting, and setting primary ti…
mark-trann Oct 20, 2025
118ad64
feat: implement renaming, deletion and primary setting for timetables…
mark-trann Oct 20, 2025
c236f57
feat: implement duplication of timetables for react query
mark-trann Oct 20, 2025
0e73859
feat: fix controller and implement duplication of timetable
mark-trann Oct 20, 2025
cd0d68f
chore: remove mistaken import
mark-trann Oct 20, 2025
7682647
Fix lint errors
lhvy Oct 22, 2025
33c9210
Complete stubs for planner controls
lhvy Oct 22, 2025
ad30d44
Add timetable layout
lhvy Nov 11, 2025
db721a5
Implement friend functionality in react query (#1109)
lhvy Mar 31, 2026
72407d8
Fix friend routes causing errors for guests
lhvy Apr 8, 2026
98fea90
Fix broken graphql query
lhvy Apr 8, 2026
090ea99
Add event react query (#1092)
mark-trann Apr 11, 2026
0f92be6
Add tab reordering
lhvy Apr 23, 2026
03f67c8
Add backend type validation library
lhvy Apr 23, 2026
1c69316
Fix regressed changes from server-rewrite branch
lhvy May 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion client/eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@ import tseslint from 'typescript-eslint';

export default tseslint.config(
eslint.configs.recommended,
tseslint.configs.recommended,
tseslint.configs.strictTypeChecked,
tseslint.configs.stylisticTypeChecked,
react.configs.flat.recommended,
react.configs.flat['jsx-runtime'],
reactHooks.configs['recommended-latest'],
reactHooks.configs.flat.recommended,
pluginQuery.configs['flat/recommended'],
{
files: ['**/*.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}'],
Expand Down
70 changes: 35 additions & 35 deletions client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,43 +16,43 @@
"format": "prettier --write 'src/**/*.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}'"
},
"dependencies": {
"@apollo/client": "4.0.4",
"@apollo/client": "4.0.7",
"@emotion/react": "11.14.0",
"@emotion/styled": "11.14.1",
"@fontsource-variable/roboto-flex": "5.2.6",
"@fontsource-variable/roboto-flex": "5.2.8",
"@hello-pangea/dnd": "18.0.1",
"@heroicons/react": "2.2.0",
"@mui/icons-material": "7.3.2",
"@mui/lab": "7.0.0-beta.17",
"@mui/material": "7.3.2",
"@mui/system": "7.3.2",
"@mui/x-date-pickers": "8.11.1",
"@sentry/browser": "10.10.0",
"@sentry/node": "10.10.0",
"@sentry/react": "10.10.0",
"@tanstack/react-query": "5.86.0",
"@uiw/react-color": "2.8.0",
"axios": "1.11.0",
"@mui/icons-material": "7.3.4",
"@mui/lab": "7.0.1-beta.18",
"@mui/material": "7.3.4",
"@mui/system": "7.3.3",
"@mui/x-date-pickers": "8.14.1",
"@sentry/browser": "10.20.0",
"@sentry/node": "10.20.0",
"@sentry/react": "10.20.0",
"@tanstack/react-query": "5.90.5",
"@uiw/react-color": "2.9.0",
"axios": "1.12.2",
"clsx": "2.1.1",
"colorizr": "3.0.8",
"date-fns": "4.1.0",
"dayjs": "1.11.18",
"file-saver": "2.0.5",
"framer-motion": "12.23.12",
"framer-motion": "12.23.24",
"fuse.js": "7.1.0",
"graphql": "16.11.0",
"ics": "3.8.1",
"is-base64": "1.1.0",
"lodash-es": "4.17.21",
"react": "19.1.1",
"react-dom": "19.1.1",
"react-router": "7.8.2",
"react": "19.2.0",
"react-dom": "19.2.0",
"react-image-crop": "11.0.10",
"react-router": "7.9.4",
"react-transition-group": "4.4.5",
"react-window": "1.8.11",
"rxjs": "7.8.2",
"tailwind-merge": "3.3.1",
"uuid": "11.1.0",
"uuid": "13.0.0",
"web-vitals": "5.1.0",
"workbox-background-sync": "7.3.0",
"workbox-broadcast-update": "7.3.0",
Expand Down Expand Up @@ -80,38 +80,38 @@
]
},
"devDependencies": {
"@eslint/js": "9.34.0",
"@tailwindcss/postcss": "4.1.13",
"@tanstack/eslint-plugin-query": "5.86.0",
"@tanstack/react-query-devtools": "5.86.0",
"@eslint/js": "9.38.0",
"@tailwindcss/postcss": "4.1.14",
"@tanstack/eslint-plugin-query": "5.91.2",
"@tanstack/react-query-devtools": "5.90.2",
"@types/file-saver": "2.0.7",
"@types/is-base64": "1.1.3",
"@types/lodash-es": "4.17.12",
"@types/node": "22.15.30",
"@types/react": "19.1.12",
"@types/react-dom": "19.1.9",
"@types/react": "19.2.2",
"@types/react-dom": "19.2.2",
"@types/react-transition-group": "4.4.12",
"@types/react-window": "1.8.8",
"@vitejs/plugin-react-swc": "4.0.1",
"@vitejs/plugin-react-swc": "4.1.0",
"autoprefixer": "10.4.21",
"eslint": "9.34.0",
"eslint": "9.38.0",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-prettier": "5.5.4",
"eslint-plugin-react": "7.37.5",
"eslint-plugin-react-hooks": "5.2.0",
"eslint-plugin-react-hooks": "7.0.0",
"eslint-plugin-simple-import-sort": "12.1.1",
"eslint-plugin-unused-imports": "4.2.0",
"globals": "16.3.0",
"jsdom": "26.1.0",
"eslint-plugin-unused-imports": "4.3.0",
"globals": "16.4.0",
"jsdom": "27.0.1",
"postcss": "8.5.6",
"prettier": "3.6.2",
"tailwindcss": "4.1.13",
"typescript": "5.9.2",
"typescript-eslint": "8.42.0",
"vite": "7.1.4",
"tailwindcss": "4.1.14",
"typescript": "5.9.3",
"typescript-eslint": "8.46.1",
"vite": "7.1.11",
"vite-bundle-visualizer": "1.2.1",
"vite-tsconfig-paths": "5.1.4",
"vitest": "3.2.4"
},
"packageManager": "pnpm@10.15.1+sha512.34e538c329b5553014ca8e8f4535997f96180a1d0f614339357449935350d924e22f8614682191264ec33d1462ac21561aff97f6bb18065351c162c7e8f6de67"
"packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319"
}
Loading
Loading