Commit Graph

61 Commits

Author SHA1 Message Date
Quentin Gliech
31f18a5c01 Upgrade compound-web and fix form refs 2023-08-02 13:11:33 +02:00
Quentin Gliech
d10ba8d226 frontend: show pagination total count in more lists 2023-07-21 19:50:30 +02:00
Quentin Gliech
ec1a87cfda Better upstream OAuth provider pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech
60f1e3af8c Better OAuth 2.0 sessions pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech
c8dfc87fdf Better user emails pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech
b1c4644f54 Better SSO login pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech
0f1babea3a Better compatibility sessions pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech
2b1d7d9d56 Remove the last authentication from the browser session model 2023-07-21 19:50:30 +02:00
Quentin Gliech
181ed9d16d WIP: use sea-query for dynamic paginated queries 2023-07-21 19:50:30 +02:00
Quentin Gliech
154162e917 frontend: Show all compatibilities sessions, not just SSO logins
Also cleans up a bunch of things in the frontend
2023-07-06 18:12:34 +02:00
Quentin Gliech
82afe9471c Better frontend assets handling and move the react app to /account/ (#1324)
This makes the Vite assets handling better, namely:

 - make it possible to include any vite assets in the templates
 - include the right `<link rel="preload">` tags for assets
 - include Subresource Integrity hashes
 - pre-compress assets and remove on-the-fly compression by the Rust server
 - build the CSS used by templates through Vite

It also moves the React app from /app/ to /account/, and remove some of the old SSR account screens.
2023-07-06 15:30:26 +02:00
Quentin Gliech
5079491947 Fix lint 2023-06-20 16:53:53 +02:00
Quentin Gliech
f158d8507e Fix the MatrixUser cache in urql 2023-06-20 16:53:53 +02:00
Quentin Gliech
86a280c0ea Frontend cleanups
Mainly:

 - better handling of GraphQL errors
 - better logout state
 - dependencies update
 - a way to end browser sessions in the GraphQL API
2023-06-20 16:53:53 +02:00
Quentin Gliech
018175185d Many frontend fixes & deps bumps 2023-06-20 16:53:53 +02:00
Quentin Gliech
f5ed39fa42 Refactor the matrix connection logic
Also make the display name available through the graphql api
2023-06-16 19:52:39 +02:00
Quentin Gliech
61bd47762f Adopt eslint-config-matrix-org & bump deps 2023-06-14 09:24:49 +02:00
Germain
514826387d Use Alert component for not logged in message 2023-06-14 09:24:49 +02:00
Germain
d723db9910 First-pass for Compound styles 2023-06-14 09:24:49 +02:00
Quentin Gliech
2318d3ab9d Bump frontend dependencies
Also properly exclude generated files from eslint
2023-06-14 09:24:49 +02:00
Quentin Gliech
869e2061a7 Buttons to end compat and OAuth2 sessions 2023-06-14 09:24:49 +02:00
Quentin Gliech
01991adc18 Schema update 2023-06-14 09:24:49 +02:00
Quentin Gliech
e967f8cca3 Ability to set the primary email and cleanup the email lists 2023-06-14 09:24:49 +02:00
Quentin Gliech
27c106fba9 Ability to remove emails 2023-06-14 09:24:49 +02:00
Quentin Gliech
b402bf0894 Nicer email management UI 2023-06-14 09:24:49 +02:00
Quentin Gliech
441e9211ef Fix the build and the CompatSsoLoginList query 2023-06-14 09:24:49 +02:00
Quentin Gliech
cdaaad5411 Setup consistent import order and fix eslint errors 2023-06-14 09:24:49 +02:00
Quentin Gliech
f7d37a5947 Use the same pagination primitives in the session lists 2023-06-14 09:24:49 +02:00
Quentin Gliech
c58ebd20fa WIP my account page 2023-06-14 09:24:49 +02:00
Quentin Gliech
f888be5103 WIP my account page 2023-06-14 09:24:49 +02:00
Quentin Gliech
39d9263ee7 WIP my account page 2023-06-14 09:24:49 +02:00
Quentin Gliech
bae3f2d9d0 WIP my account page 2023-06-14 09:24:49 +02:00
Quentin Gliech
e946e67b7e WIP my account page 2023-06-14 09:24:49 +02:00
Quentin Gliech
e5cc571a99 Have better output types on mutations 2023-04-25 16:39:15 +02:00
Quentin Gliech
42eefd4a98 Have a new viewer and viewerSession graphql query member
This deprecates `currentUser` and `currentBrowserSession`, but doesn't remove them (yet).

Also start to split the root query in multiple objects
2023-04-25 16:39:15 +02:00
Quentin Gliech
2fbcb5377e Split the mutations and make them use an input object instead of different parameters 2023-04-25 16:39:15 +02:00
Quentin Gliech
665487db40 Setup GraphQL mutations to add and verify email addresses
This refactors a bit how the connection to the repository is done in the
graphql handler, so that we can properly commit transactions.
2023-04-25 16:39:15 +02:00
Quentin Gliech
42ec761722 Bump frontend dependencies & setup better urql cache 2023-04-19 11:39:02 +02:00
Quentin Gliech
5796ba822d Bump frontend dependencies 2023-04-18 19:03:51 +02:00
Quentin Gliech
f8ca208b46 frontend: Migrate to jotai and urql
This cuts the bundle size by 50% and makes it easier to reason about state.
It removes the usage of react-router-dom and replaces it with a simple router atom based on jotai-location.
Since the screens will be quite simple, I don't expect that we'll need the advanced caching features of react-relay, hence the switch to urql.
2023-03-20 21:10:04 +01:00
Quentin Gliech
d8a5089613 Bump frontend dependencies
Also swap Jest with Vitest, so that we can drop the Babel config.
2023-03-14 12:07:09 +01:00
Quentin Gliech
9e7b6f4710 Bump frontend dependencies 2023-02-27 17:43:34 +01:00
Quentin Gliech
d3610e45f3 Bump Storybook to -beta.15 2022-12-28 12:22:10 +01:00
Quentin Gliech
9c56924a3d Adjust types in storybook 2022-12-08 16:36:34 +01:00
Quentin Gliech
28a9d54072 Serve the SPA by the server 2022-11-18 13:43:01 +01:00
Quentin Gliech
5a806bf8de Standalone pages to view an OAuth client and a browser session 2022-11-18 13:43:01 +01:00
Quentin Gliech
e37201b5c0 Allow fetching more nodes by their IDs 2022-11-18 13:43:01 +01:00
Quentin Gliech
3b3de6e86c DateTime component 2022-11-18 13:43:01 +01:00
Quentin Gliech
f04fe1da7f More components reuse 2022-11-18 13:43:01 +01:00
Quentin Gliech
6396192b40 Cleanup Storybook config and add theme switcher 2022-11-18 13:43:01 +01:00