Commit Graph

120 Commits

Author SHA1 Message Date
Kasper Fabricius Kristensen
3706bf51af feat(dashboard): Wrap each route in an ErrorBoundary (#8674)
**What**
- Updates the copy of the different error types
- Wraps each route (+ custom routes) in an ErrorBoundary to preserve app layout on error (sidebar and topbar)

![Skærmbillede 2024-08-20 kl  12 35 53](https://github.com/user-attachments/assets/0c589fc4-b279-4b66-9d66-1b99a7406696)

**Note**
If the user goes to a route that does not exist at all, e.g. `/some-weird-url`, then we have no way of knowing if the user is inside of a context where we can render the sidebar and topbar (as they require the user to be authenticated). So in this case we still show an ErrorBoundary where the two aren't included (see second picture), and include a button that takes the user to "/", which depending on whether the user is logged in will take them to "/login" or "/orders".

![image](https://github.com/user-attachments/assets/08dde48a-3bb8-41a1-9a0e-2c41716baf0b)

Resolves CC-248
2024-08-20 13:09:30 +00:00
Kasper Fabricius Kristensen
894db4a150 feat(dashboard): Hitting escape restores previous value (#8654)
* feat(dashboard): Hitting escape restores previous value

* update lock
2024-08-19 14:02:30 +02:00
Kasper Fabricius Kristensen
cbdec98df1 fix check for displaying placeholder value (#8649) 2024-08-19 11:01:36 +02:00
Kasper Fabricius Kristensen
8c784a8b30 fix(dashboard): Replace react-nestable with new SortableTree component (#8599)
**What**
- Removes `react-nestable` dependency in favour of our own solution based on `@dnd-kit/core`

Resolves CC-217
2024-08-18 20:21:03 +00:00
Kasper Fabricius Kristensen
b2250ed7b1 feat(dashboard): BulkEditor Boolean cell behaviour (#8418)
* progress

* progress

* add special Space behaviour for boolean cells

* prevent shift clicking setting rangeEnd outside of anchor column
2024-08-13 08:47:54 +02:00
Christian
4eb2e8379f feat: create return reason (#8516)
* feat: create and edit return reasons

* add prop to hide data table header

* make return reasons searchable

* hide table header
2024-08-12 07:47:07 +02:00
Christian
d4c5f6593d Feat: admin return reason list (#8482)
* feat: add missing endpoints to return reason sdk

* add return reason list route

* add return reason query hooks

* fix update return reasons in order modules service

* fix store/return-reasons middleware

* add missing tests for /return-resasons/:id
2024-08-08 16:24:13 +02:00
Christian
04044c984b chore: update notifcations drawer design (#8469) 2024-08-06 18:51:06 +02:00
Stevche Radevski
3a068c6b27 feat: Use tag ids instead of values wherever possible (#8394) 2024-08-02 09:22:03 +02:00
Frane Polić
2280d31396 feat(dashboard, js-sdk, types): receive return e2e (#8305)
**What**
- receive return flow
- order summary section adjustments
- fix received item in summary
- activity event

---

CLOSES TRI-79 CC-256
2024-08-01 18:29:11 +00:00
Stevche Radevski
d36d48df76 feat: Show notice on new notifications (#8390) 2024-08-01 17:10:34 +02:00
Kasper Fabricius Kristensen
6629be92e1 feat(dashboard,medusa,types): Add Product Tag management (#8349)
Resolves CC-69
2024-07-31 07:21:09 +00:00
Kasper Fabricius Kristensen
2967221e73 fix(dashboard): Cell behaviour in DataGrid (#8183) 2024-07-30 18:18:07 +02:00
Stevche Radevski
1066499402 feat: Add support for product imports (#8298)
* feat: Add support for product imports

* fix: Add product import template to import UI
2024-07-30 16:46:08 +02:00
Stevche Radevski
b539c6d5bb feat: Add support for product export in UI (#8281)
* feat: Add support for product export in UI

* fix:Return the backend URL for private files of local file provider
2024-07-29 21:50:22 +02:00
Kasper Fabricius Kristensen
1d773c536f fix(dashboard,types,js-sdk): Cleanup settings/store (#8336)
**What**
- Cleans up Store domain of all TS errors
- Adds layout component to Store domain
- Adds currencies types and js-sdk methods
- Fixes a bug that caused Table rows to render incorrectly when takings up more then the viewport height.
2024-07-29 19:44:40 +00:00
Kasper Fabricius Kristensen
56f634da4b fix(dashboard): Fix CountrySelect (#8301)
Resolves CC-214
2024-07-27 15:27:13 +00:00
Stevche Radevski
47c132c70b feat: Add empty state to notifications and remove no more data (#8277)
CLOSES CC-242
CLOSES CC-243
CLOSES CC-245
2024-07-25 15:08:16 +00:00
Stevche Radevski
a26b7cf253 feat: Implement notifications feed (#8224)
Designs: https://www.figma.com/design/z3aUuOVWUKmdHH0ofmMpEV/Web-app-3.0?node-id=10-50&t=9k6K9k7oJh5tIi09-0

![Screenshot 2024-07-22 at 17 02 10](https://github.com/user-attachments/assets/bc7da39f-8ddb-4f93-bf4e-884f063bc1c6)


CLOSES CC-219
2024-07-25 07:37:01 +00:00
Frane Polić
f7d1cd259e feat(dashboard, order, medusa, types, js-sdk): Request return e2e flow (#7848) 2024-07-24 19:19:00 +02:00
Kasper Fabricius Kristensen
75c5d5ad9e feat(dashboard,js-sdk,types): Update app layout, and add user sdk methods (#8182)
**What**
- Updates app layout (sidebar and topbar)
- Adds "System" option to theme toggle (we now default to system)
- Adds sdk methods for user endpoints (RESOLVES CC-67)
2024-07-19 11:18:48 +00:00
Kasper Fabricius Kristensen
b5a44ef6b1 feat(dashboard,medusa): Add updated Metadata Form (#8084)
**What**
- Adds new Metadata form component.
- Adds the Metadata section as an option to the Page layouts

<img width="576" alt="Skærmbillede 2024-07-11 kl  11 34 06" src="https://github.com/medusajs/medusa/assets/45367945/417810ee-26e2-4c8a-86e3-58ef327054af">
<img width="580" alt="Skærmbillede 2024-07-11 kl  11 34 33" src="https://github.com/medusajs/medusa/assets/45367945/437a5e01-01e2-4ff7-8c7e-42a86d1ce2b3">


**Note**
- When Metadata contains non-primitive data, we disable those rows, and show a placeholder value, a tooltip and an alert describing that the row can be edited through the API. I want to add a JSON editor to allow editing these things in admin, but awaiting approval on that.
- This PR only adds the new form to a couple of pages, to keep the PR light, especially since metadata is not implemented correctly in all validators so also needs some changes to the core. This still show some examples of how its used with the new Page layout components. Will follow up with more pages in future PRs. 
- We try to convert the inputs to the best fitting primitive, so if a user types "true" then we save the value as a boolean, "130" as number, "testing" as a string, etc.
2024-07-11 13:54:59 +00:00
Kasper Fabricius Kristensen
04ec8e758f fix(dashboard): Add safe zone around link Table rows (#8058)
**What**
- After adding Table rows as links there was an issue where clicking close to a Checkbox in a row would click the link. This PR adds a safe zone around the Checkboxes, so you don't end up navigating when trying to select a row.

![image](https://github.com/medusajs/medusa/assets/45367945/7091d6d5-665d-41c7-8b2b-63244fef73b2)

RESOLVES CORE-2566
2024-07-10 10:34:11 +00:00
Kasper Fabricius Kristensen
046a34bdfc feat(dashboard,types,js-sdk,ui): Tax Regions UI (#7935) 2024-07-10 09:26:43 +00:00
Kasper Fabricius Kristensen
24fc6befd2 fix(dashboard): Allow cmd+click on table rows (#8045) 2024-07-09 17:57:09 +02:00
Kasper Fabricius Kristensen
4736d9e2dd fix(dashboard): JSON view (#8038)
* updated json view

* cleanup

* cleanup
2024-07-09 16:45:22 +02:00
Stevche Radevski
cbf2fcd559 Feat: Add tax inclusivity to admin (#8003)
* feat: Add price preference to sdk

* feat: Plug tax inclusivity settings for region in UI

* feat: Add price inclusivity indicator to variant and shipping price table columns

* fix: Rename price title to correct variable name

* feat: Add support for tax inclusive crud on region

* fix: Use the region endpoint for updating tax inclusivity

* chore: Factor out price columns from hooks
2024-07-09 09:26:20 +02:00
Kasper Fabricius Kristensen
4d750c13d9 make whole card clickable (#7984) 2024-07-08 10:03:04 +02:00
Kasper Fabricius Kristensen
50df3cea00 fix(vite-plugin-admin): Ensure UI Routes are HMR (#7982)
* fix(vite-plugin-admin): Ensure UI Routes are HMR

* cleanup
2024-07-05 19:30:06 +02:00
Shahed Nasser
eafa3560ae chore(dashboard): text changes and fixes (#7925)
- Improvements to existing texts
- Add subtitles to sections where useful.
- Added the ability to edit the message shown in a list when no records are found + change the message where necessary
- Change documentation link to `https://docs.medusajs.com/v2`.
2024-07-05 12:14:10 +00:00
Frane Polić
32982e708a fix(dashboard): order list statuses (#7948)
* fix: order list statuses

* refactor: remove todo
2024-07-04 16:17:53 +02:00
Frane Polić
da645e4073 fix(dashboard): reset table scroll on page change (#7916) 2024-07-03 12:43:27 +02:00
Stevche Radevski
8244fe03b7 fix: Several fixes based on preview testing (#7906)
* fix: Add searchable properties on currency

* fix: Format product type dates in table

* fix: Preserve line whitespace in section row

* fix: Continue through tabs on Enter in create product form

* fix: Pagination in variant prices section

* fix: Add missing inventory edit item translation

* fix: Use the correct options URL for editing

* fix: Correctly get the variant title in inventory item details

* fix: Completely remove variant titles section in inventory item
2024-07-02 14:56:34 +02:00
Kasper Fabricius Kristensen
a84e5a6ced fix(ui,dashboard): Revamp DatePicker component (#7891)
**What**
- Revamps the DatePicker component. 
- Addresses all issues with broken DatePickers across admin.

**Note**
- Part of this PR is adding a I18nProvider which is used to set the locale that is used for our DatePicker and Calendar components. Per default they use the browser locale. In the current implementation, we are grabbing the locale to use from the language that is picked in the "Profile" section. This means that currently the only possible locale is "en-US", meaning times uses AM/PM. This is likely not what we want, but we need to make a decision on how we want to handle this globally, will create a ticket for it and we can then clean it up later on.
- This PR does not include "presets" or a DateRange picker that were part of the old implementation. Will open tickets to re-add this later on, but since we aren't using it in admin any where it makes sense to address later.
- This PR also bumps and pin every `@radix-ui` dependency in `@medusajs/ui` and `@medusajs/dashboard`. Our different versions were pulling in multiple versions of internal radix dependencies which were breaking Popover and Dialog behaviour across admin. One thing to note is that Radix have started to print warnings for missing Descriptions and Titles in dialogs. We should add these as we go, for better accessibility. Its not an urgent task but something we can add as we clean up admin over the following weeks. 

CLOSES CORE-2382
2024-07-02 08:59:32 +00:00
Kasper Fabricius Kristensen
c1740218e9 feat(dashboard,types,js-sdk,ui): Add missing Price List features (#7856)
**What**
- Adds missing features to Price List domain
- Adds `StackedFocusModal` and `StackedDrawer` components that should replace SplitView across the project.
- Add Footer to FocusModal
- Adds missing js-sdk functions and types

**Note**
The DatePickers in the PriceLists forms do not work as intended atm. The component is broken, and needs to be fixed. I am working on a fix, but choose to move that work into a separate branch, to prevent this PR from getting bigger then it already is. Will update once the fixes have been merged.
2024-06-28 14:08:23 +00:00
Kasper Fabricius Kristensen
aee75f6ba0 feat(dashboard): Add global commands (#7782)
* add global commands

* update lock

* shorten keybinds

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2024-06-24 13:00:52 +02:00
Kasper Fabricius Kristensen
e47d8d80d6 fix(dashboard): Fix CSS in Safari (#7791) 2024-06-21 14:42:39 +02:00
Frane Polić
79a8f0ef2c feat(dashboard): move shipping profile to locations (#7777) 2024-06-20 06:47:40 +00:00
Kasper Fabricius Kristensen
2d8d2c4255 feat(dashboard,js-sdk,types,admin-shared): Add Product Types domain (#7732) 2024-06-17 16:50:55 +00:00
Kasper Fabricius Kristensen
2e8e7b27b6 fix(dashboard,types,js-sdk): Locations & Shipping fixes and cleanup (#7715) 2024-06-17 16:10:39 +02:00
Kasper Fabricius Kristensen
2f76fbc6ed feat(dashboard,types,sdk,medusa,ui): ProductCategory domain (#7675)
**What**
- Add missing features to ProductCategory domain in admin
- Add types
- Add SDK

**UI**
- Moves the TooltipProvider from the component to an export. Users should now wrap their entire application in a TooltipProvider. This change was made to take advantage of the built-in features of Radix Tooltip, and allows us to skip the delayDuration when moving the cursor from one tooltip to another within 500ms.
- Fixes the layout of the Hint component, as the create form revealed that it was off.
- Fixes an issue where focus styles were missing from the dropdown menu.

**Note**
- ~~We currently don't have an endpoint for deleting categories, so I have disabled the button in the admin. See CORE--2286~~ PR has been opened to add delete endpoint, so I have re-enabled the delete button.
- The update category workflow seems to be broken, it's possible for the `mpath` of a category to reach an invalid state, that breaks `include_descendants_tree` from working. See CORE-2287.
- The ProductCategory model is incorrect. All fields are optional and it's not possible to set the description to null, which means the only way of unsetting it is to set it to `""`. See CORE-2276.
- The design for the Organize drag-n-drop form is not final. Ludvig will create a final design, and we can then update the form.
- Currently, all things related to Metadata is left out, as we need to update the flow for metadata according to the latest designs.

RESOLVES CORE-1960, CORE-2230
*except for the above mentioned issues.
2024-06-12 11:15:12 +00:00
Stevche Radevski
8e2a42b786 Clean up product typings (#7663)
There are a lot of issues in the admin after applying the correct typings, but fixing those should be done gradually, it's better to keep it out of this PR
2024-06-11 09:28:40 +00:00
Frane Polić
f08f0d6cc9 feat(dashboard): inventory create flow (#7650) 2024-06-10 17:37:36 +02:00
Frane Polić
987141ab2d fix(dashboard) editor columns (#7534)
* fix: reorg variant editor columns, auto select default sales channel when creating products

* fix: remove return

* fix: add placeholders on options create inputs, add placeholder for chip input

* fix: gaps on details pages

* fix: address feedback
2024-06-07 10:59:19 +02:00
Kasper Fabricius Kristensen
1f203774cb feat(dashboard): SwitchBox component (#7607)
**What**
- In the latest design changes, the Switch component needs to be wrapped in a container with a label and description. It doesn't make sense to add this "variant" to `@medusajs/ui`, so I have created a local component that we can use every time the design calls for this setup, to avoid re-implementing it multiple times, and the design being inconsistent across usages. 
- Updates the Product domain forms to use the component. There are other places that needs to be updated to use it, but we can tackle those in our clean up tasks. I have checked with Ludvig and this design should be used everywhere we previously had the design shown in the first image.

 
<img width="604" alt="image" src="https://github.com/medusajs/medusa/assets/45367945/053e40c4-fa8f-4cac-96b3-659deeb6d760">

<img width="745" alt="image" src="https://github.com/medusajs/medusa/assets/45367945/890eb28f-83ac-4fa6-968f-cc204f1acd1e">
2024-06-06 08:09:38 +00:00
Frane Polić
d285e60961 feat(dashboard,core-flows,medusa): update fulfillment flows (#7589)
* fix: fulfillment ops

* fix: cancel fulfillment route

* fix: adjustInventoryLevelsStep throwing

* feat: cancel order and fix endpoint

* fix: type

* feat: order domain sdk

* feat: delete unused file

* fix: import
2024-06-06 08:58:21 +02:00
Kasper Fabricius Kristensen
d104d1a256 fix(dashboard): Fix styling of ChipGroup (#7608) 2024-06-04 18:19:31 +02:00
Kasper Fabricius Kristensen
3f75e207ce fix(dashboard): Use ChipInput for option forms (#7603)
Resolves CORE-2069, CORE-2068
2024-06-04 14:48:04 +00:00
Kasper Fabricius Kristensen
75791f2cbd chore(icons,toolbox): Update icons (#7505) 2024-05-28 19:54:31 +02:00
Frane Polić
6117af2704 feat(dashboard): restructure create product flow (#7374) 2024-05-28 13:59:02 +02:00