Nathan Vasse
ebf7d38548
♻️ (front) make dedicated file for folder create modal
...
Nothing huge to say here, just make comply the gitlint.
2025-03-25 16:37:30 +01:00
Nathan Vasse
0ceb132536
✨ (front) add optimistic update mutation
...
This mutation is used to perform update mutations.
2025-03-25 16:37:30 +01:00
Nathan Vasse
9459ccb2fd
✨ (front) add getExtension function
...
This function is useful to guess to extension of an item.
2025-03-25 16:37:30 +01:00
Nathan Vasse
07847d112b
✨ (front) add update item method to drivers
...
We need this method to perform various update operations.
2025-03-25 16:37:30 +01:00
Nathan Vasse
c5b287403f
♻️ (front) add dot env proper setup
...
We need to publish these defaults in order to make bootstrap work.
2025-03-25 09:38:38 +01:00
Nathan Vasse
2e7f2e40b8
✨ (front) handle item title overflow in explorer
...
When there is a an overflow, we display a tooltip on hover.
Fixes #58
2025-03-24 17:38:10 +01:00
Nathan Vasse
2d128b3041
✨ (front) add keyboard navigation into explorer
...
This is a first approach, not guaranteed to be bullet proof in terms
of accessbility.
2025-03-24 17:15:24 +01:00
Nathan Vasse
0d59190192
✨ (front) make unique item delete work
...
This comes along with the multiple item deletion, we want to allow
unique deletion via the action menu.
2025-03-24 17:15:24 +01:00
Nathan Vasse
61eea3725d
♻️ (front) make use of the new mutation
...
Make use of the new hook in the selection bar as well as listen to
keyboard shortcuts to delete.
2025-03-24 17:15:24 +01:00
Nathan Vasse
0655e99c35
🌐 (front) update delete i18n
...
This new translation is more appropriate for one item deletion.
2025-03-24 17:15:24 +01:00
Nathan Vasse
d18ab72723
✨ (front) add useMutations dedicated hook
...
As we need to use this hook from multiple places, let's create
a dedicated centralized mutation.
2025-03-24 17:15:24 +01:00
Manuel Raynaud
4035107ada
💚 (back) fix tests related to expose filename in the serializer
2025-03-21 16:12:05 +01:00
Manuel Raynaud
f452c497b6
💻 (user) fix the User.language
...
The use of a lazy function here make the Django migration
detector to generate a migration every time we run `makemigrations`.
This is not mandatory to have a lazy here as the settings are loaded
once at runtime beginning.
As the choices makes noop migrations, we directly use the setting in
the initial migration.
2025-03-21 15:42:23 +01:00
Manuel Raynaud
32864214f8
✨ (back) create a default workspace on user creation
...
When a user is created, no matter the way it is created, a default
workspace is created for him.
2025-03-21 15:42:23 +01:00
Manuel Raynaud
9cbdee4788
✨ (back) add main_workspace property ot Item model
...
We want to flag an item as a main workspace. To do that a new property
main_workspace has been added to the Item model.
2025-03-21 15:42:23 +01:00
Manuel Raynaud
f4a6b9603a
✨ (back) enhance ordering on /items and /children
...
We want to manage more property for the ordering on /items and
/children. The type is added to the existing list.
2025-03-21 14:52:20 +01:00
Nathan Vasse
c6f029f30c
✨ (back) add filename into Item serializer
...
We need this attribute in order to guess the extension of each
file on the frontend side.
2025-03-21 14:28:04 +01:00
Nathan Vasse
7b93d63d81
✨ (front) add file logo in explorer
...
Enhance the ui by providing appropriate icon for file based on their
mime types.
2025-03-21 14:28:04 +01:00
Nathan Vasse
d013ea0c61
🐛 (front) fix frontend auth redirect
...
Due to the previous addition of throw on api error, this component
was not catching the error instead of redirecting to login.
2025-03-19 15:54:04 +01:00
Nathan Vasse
f95dcd7a36
♻️ (front) tidy up a bit
...
Small refactors here and there, nothing much complicated.
2025-03-19 15:45:21 +01:00
Nathan Vasse
dd660939e7
♻️ (front) make error handling work on file upload
...
Using mutateAsync makes the automatic global handling of error
don't work. It forces to catch the error locally each time, while
this is a strange behavior, this is totally assumed by
react query authors. So to bypass this while preversing the
sequential execution of uploading, we need to refactor this that
way.
2025-03-19 15:45:21 +01:00
Nathan Vasse
ab8e77bc76
✨ (front) display error toast
...
When a react query query or mutation is trigerring an error we
automatically display a toast with the most appropriate message
possible. It is also possible to bypass this automatic behavior
by giving a flag to the meta attribute of useQuery or useMutation.
2025-03-19 15:45:21 +01:00
Nathan Vasse
b4c734e60a
✨ (front) add toast type info and error
...
We need to have multiple types of toast to display various infos.
2025-03-19 15:45:21 +01:00
Nathan Vasse
aa2d52a5d2
♻️ (front) make fetchAPI throw on error
...
We want to trigger error handling mecanism when the response code
is not ok.
2025-03-19 15:45:21 +01:00
Nathan Vasse
19178e0ca4
✨ (front) add tooltip on update at
...
In will be usefull in some cases to know the exact date time string.
2025-03-19 15:45:08 +01:00
Nathan Vasse
796036c741
✨ (front) add x time go in explorer
...
We want to display easy to read date to improve readability.
2025-03-19 15:45:08 +01:00
Nathan Vasse
8e7a8a3f1d
✨ (front) open file on double click
...
I just have to add a body to this commit to pass gitlint :).
2025-03-19 15:45:08 +01:00
Manuel Raynaud
e7b7a6186b
✨ (back) expose mimetype property in Item serializers
...
The front application needs to know the file mimetype. We have this
information in the database, we add it yo the item serializers.
2025-03-19 15:38:24 +01:00
Manuel Raynaud
3730aea4b3
✨ (back) save file item mimetype in upload_ended endpoint
...
In order to know the WOPI client to use for a given item, we have to
save its mimetype to then use it.
2025-03-19 15:38:24 +01:00
Nathan Panchout and NathanVss
01345ca7ba
✨ (front) updated imports to the UI Kit
...
Imports have been modified to use the gouvfr UI Kit, replacing the old
one. This includes updating dependencies in the package.json file and
adding version 0.1.3 of the UI Kit.
2025-03-19 10:08:56 +01:00
Nathan Vasse
09042c8437
♻️ (front) fix casing problem in import
...
The config import was causing lots of warning in the console, due
to the casing.
2025-03-17 16:54:24 +01:00
Nathan Vasse
a11e166dff
✨ (front) add optimistic multi delete
...
We can now select mutiple files and delete them in one shot.
2025-03-17 16:54:24 +01:00
Nathan Vasse
50e196846a
✨ (front) add upload files
...
We can now drag n drop files anywhere in order to trigger an upload
to the current folder. This is a first version, we will improve it
soon.
2025-03-17 16:54:24 +01:00
Nathan Vasse
a586a02639
🌐 (front) add upload and delete translations
...
Those translations are gonna be used in the subsequent features.
2025-03-17 16:54:24 +01:00
Nathan Vasse
d6150e7db8
✨ (front) add file upload toast
...
This toast is made to show the uploaded and uploading files,
including their size and the progress of their upload.
2025-03-17 16:54:24 +01:00
Nathan Vasse
28f4024e6d
✨ (front) add circular progress component
...
This component will be used in order to display controlled
progress.
2025-03-17 16:54:24 +01:00
Nathan Vasse
e85a6f0061
✨ (front) add toaster component
...
We need to be able to put toast in the app with great control
over them. That's why the cunningham one is not enough, we cannot
make a toast stay on the screen, on programatically hide it.
With react-toatify we can :)
2025-03-17 16:54:24 +01:00
Nathan Vasse
231bf6c153
✨ (front) add upload and delete methods to driver
...
We need to prepare the drivers in order to implement the
file uploading.
2025-03-17 16:54:24 +01:00
Nathan Vasse
4321079d1f
🏷️ (front) add types to Item
...
We need to prepare the typings for upload policy.
2025-03-17 16:54:24 +01:00
Nathan Vasse
e3d57ae925
✨ (front) plug the ExplorerTree to backend
...
This is just a debug setup in order to be able to test the /tree
route.
2025-03-17 15:55:19 +01:00
Nathan Vasse
392b9c6b62
✨ (front) plug Breadcrumbs to actual data
...
Nothing great to say here, the title says it all at this point.
2025-03-17 15:55:19 +01:00
Nathan Vasse
04140d4dcc
✨ (front) plug the grid to the backend
...
Hell yeah! This is beginning to look great at this point.
2025-03-17 15:55:19 +01:00
Nathan Vasse
59c500f8ee
🏗️ (front) add more data to ExplorerContext
...
Share these new data across all the context will be simpler for
managing data.
2025-03-17 15:55:19 +01:00
Nathan Vasse
eb6365cd7b
✨ (front) add routes and normalize item from driver
...
We need some more routes. And also improve the normalization of the
items.
2025-03-17 15:55:19 +01:00
Nathan Vasse
9e78f0f1dd
♻️ (front) make navigation external of Explorer
...
We want to allow custom navigation for the explorer, so it cannot
by itself guess the right route to navigate.
2025-03-17 15:55:19 +01:00
Nathan Vasse
91d8a841c7
⬆️ (front) upgrade to react 19
...
We need to upgrade to react 19 to be able to use the latest version
of the ui kit.
2025-03-12 10:58:05 +01:00
Nathan Vasse
e60981cc03
♻️ (front) various chores
...
Small chores here and there, nothing amazing to see.
2025-03-11 16:07:49 +01:00
Nathan Vasse
ff362bcc40
♻️ (front) implement the new ExplorerProvider in layouts
...
The previous refactor implies some changes in the layouts. Also
add a redirect to an actual item.
2025-03-11 16:07:49 +01:00
Nathan Vasse
80863ec30a
✨ (front) add create folder and refactor provider
...
This form creates a folder inside the current one. The ExplorerProvider
has been extraction from Explorer because this one has to be on top of
the ExplorerTree as well to give him access to various contextual data
needed to construct the tree. Some additionnal debug data are also displayed
in the tree to make easier the setup of the tree. I also made some
var renaming for better DX. Also included the current item in the context.
2025-03-11 16:07:49 +01:00
Nathan Vasse
446c034580
✨ (front) add methods to drivers
...
In order to prepare the form to create folder we need to add methods.
2025-03-11 16:07:49 +01:00