Commit Graph

61 Commits

Author SHA1 Message Date
Quentin Gliech 1a318e104a Upgrade compound-web and fix form refs 2023-08-02 13:11:33 +02:00
Quentin Gliech c454f5604b frontend: show pagination total count in more lists 2023-07-21 19:50:30 +02:00
Quentin Gliech 517438471c Better upstream OAuth provider pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech 6767c93a75 Better OAuth 2.0 sessions pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech a75a53cc24 Better user emails pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech 12ad572db8 Better SSO login pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech 24b29498a7 Better compatibility sessions pagination and filtering 2023-07-21 19:50:30 +02:00
Quentin Gliech 802cf142fd Remove the last authentication from the browser session model 2023-07-21 19:50:30 +02:00
Quentin Gliech 7e82ae845c WIP: use sea-query for dynamic paginated queries 2023-07-21 19:50:30 +02:00
Quentin Gliech ca520dfd9a 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 76653f9638 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 c21b28448d Fix lint 2023-06-20 16:53:53 +02:00
Quentin Gliech a592f00cf9 Fix the MatrixUser cache in urql 2023-06-20 16:53:53 +02:00
Quentin Gliech f67cc0d6d0 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 ebb87f0a5e Many frontend fixes & deps bumps 2023-06-20 16:53:53 +02:00
Quentin Gliech 4181cbc9d5 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 3672d2dbde Adopt eslint-config-matrix-org & bump deps 2023-06-14 09:24:49 +02:00
Germain b493f62251 Use Alert component for not logged in message 2023-06-14 09:24:49 +02:00
Germain 33da9f05fe First-pass for Compound styles 2023-06-14 09:24:49 +02:00
Quentin Gliech dfdfc25d00 Bump frontend dependencies
Also properly exclude generated files from eslint
2023-06-14 09:24:49 +02:00
Quentin Gliech b56c2350a4 Buttons to end compat and OAuth2 sessions 2023-06-14 09:24:49 +02:00
Quentin Gliech 119e3300de Schema update 2023-06-14 09:24:49 +02:00
Quentin Gliech 63d4bfd0d4 Ability to set the primary email and cleanup the email lists 2023-06-14 09:24:49 +02:00
Quentin Gliech 741873b84e Ability to remove emails 2023-06-14 09:24:49 +02:00
Quentin Gliech e8b7591d7e Nicer email management UI 2023-06-14 09:24:49 +02:00
Quentin Gliech aa8d5b6aed Fix the build and the CompatSsoLoginList query 2023-06-14 09:24:49 +02:00
Quentin Gliech 826e84904e Setup consistent import order and fix eslint errors 2023-06-14 09:24:49 +02:00
Quentin Gliech 3d6eba6acc Use the same pagination primitives in the session lists 2023-06-14 09:24:49 +02:00
Quentin Gliech d7403ca0fd WIP my account page 2023-06-14 09:24:49 +02:00
Quentin Gliech 3c933a9d29 WIP my account page 2023-06-14 09:24:49 +02:00
Quentin Gliech 574514638e WIP my account page 2023-06-14 09:24:49 +02:00
Quentin Gliech f62d045b8c WIP my account page 2023-06-14 09:24:49 +02:00
Quentin Gliech 415d06f209 WIP my account page 2023-06-14 09:24:49 +02:00
Quentin Gliech ed5c367df6 Have better output types on mutations 2023-04-25 16:39:15 +02:00
Quentin Gliech 3b0f2ea1b0 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 047a91907d Split the mutations and make them use an input object instead of different parameters 2023-04-25 16:39:15 +02:00
Quentin Gliech be765fe04f 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 558ee7f197 Bump frontend dependencies & setup better urql cache 2023-04-19 11:39:02 +02:00
Quentin Gliech 62f96ccab8 Bump frontend dependencies 2023-04-18 19:03:51 +02:00
Quentin Gliech b26d12f52f 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 960f1b8cec 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 34f0ec4d89 Bump frontend dependencies 2023-02-27 17:43:34 +01:00
Quentin Gliech 0e757d85e6 Bump Storybook to -beta.15 2022-12-28 12:22:10 +01:00
Quentin Gliech 7dfddc539c Adjust types in storybook 2022-12-08 16:36:34 +01:00
Quentin Gliech 933022850b Serve the SPA by the server 2022-11-18 13:43:01 +01:00
Quentin Gliech 6021aa691c Standalone pages to view an OAuth client and a browser session 2022-11-18 13:43:01 +01:00
Quentin Gliech 78778648ca Allow fetching more nodes by their IDs 2022-11-18 13:43:01 +01:00
Quentin Gliech 10815d8101 DateTime component 2022-11-18 13:43:01 +01:00
Quentin Gliech 408a7ba363 More components reuse 2022-11-18 13:43:01 +01:00
Quentin Gliech 8f4873b535 Cleanup Storybook config and add theme switcher 2022-11-18 13:43:01 +01:00