Commit Graph
100 Commits
Author SHA1 Message Date
Kasper Fabricius Kristensen 490586f566 feat(medusa,dashboard,admin-sdk): Run admin dashboard from Medusa instance (#7330) 2024-05-15 19:52:09 +02:00
Kasper Fabricius Kristensen 9d0bfc2b39 chore(dashboard): Remove feature flag and always load v2 admin (#7251) 2024-05-06 18:07:44 +02:00
Kasper Fabricius Kristensen fdee748eed feat(dashboard): Product create from - details (#7121)
**What**
- First part of the product creation form.
- New components:
  - ChipInput - Allows users to input chips into a input field. Chips are created by hitting the `,` or `Enter / Return` keys. Deleting a chip is done by hitting `Backspace` when the cursor is next to chip, or clicking the `X` button in the chip. Used for inputting option values.
  - SortableList - A sortable drag-n-drop list that allows the user to re-arrange the order of items. Used for re-arranging the ranking of variants.
  - ChipGroup - New re-usable component that is used to render a group of values as Chips. This should be used for SplitView form items.
  - CategoryCombobox - (WIP) Nested Combobox component for selecting multiple categories a product should be associated with.
- New hooks:
  - useComboboxData - Hook for easily managing the state of comboboxes.
  - useDebouncedSearch - Hook for managing debounced search queries.
2024-05-03 10:37:36 +00:00
Kasper Fabricius Kristensen 40686ba980 fix(medusa,admin-ui): Remove forced backendUrl in development, and allow alternative host value. (#7128) 2024-04-24 09:50:59 +02:00
Kasper Fabricius Kristensen ea14a3bd68 fix(medusa): Add to default admin customer fields (#7126)
**What**
- Adds `has_account` to the default fields returned by the API.

**Why**
- The field is used heavily in the admin dashboard, so it makes sense to include it out of the box.
2024-04-23 08:52:09 +00:00
Kasper Fabricius Kristensen ef29981a54 fix(dashboard): Update API keys domains with new design (#7123)
**What**
- Adds new design
- Separates secret and publishable keys into two domains (re-uses the same code).
- Adds skeleton layout for loading state of details page.
- Adds toasts.
2024-04-22 20:03:28 +00:00
Kasper Fabricius Kristensen e2fabc1c05 fix(dashboard,medusa,fulfillment): Move Shipping Profiles to settings (#7090)
**What**
- Moves Shipping Profiles to settings
- Adds `q` and filters to shipping profile list endpoint
- Adds new details page for profiles
2024-04-19 14:11:32 +00:00
Kasper Fabricius Kristensen 7e66dd0dd0 fix(dashboard,medusa): Fixes to Customer and Customer Groups domains (#7081)
**What**
- Cleanup of domains
- Adds toasts
- Adds delete customer hook
- Fixes validation of create and update customer endpoints.
2024-04-17 08:32:21 +00:00
Kasper Fabricius Kristensen c3260a2c5a feat(ui, dashboard): Toast rework (#7076)
**What**
- Re-works how toasts work in Medusa UI. API is now built on top of `sonner` instead of `@radix-ui/react-toast`. This is a breaking change, and we will need to update the documentation once this has been merged and released (cc: @shahednasser).
- Adds an example of usage in the products list table in the new admin dashboard. As part of the coming weeks cleanup we will add toasts everywhere that they are currently missing.

CLOSES CORE-1977
2024-04-16 13:14:58 +00:00
Kasper Fabricius Kristensen 379ff7a36d fix(dashboard): Wrong hook usage in /collections/create (#7078)
**What**
- Use new hook for creating collections.
2024-04-16 10:59:01 +00:00
Kasper Fabricius Kristensen 51acd1da5b fix(dashboard): Minor cleanup and improve text legibility (#7045)
**What**
- Cleans up some artifacts from the V1 -> V2 migrations.
- Removes the MedusaProvider from the root in favor of a plain QueryClient.
- Applies font styles to make the text in admin resemble designs in Figma more closely.
2024-04-11 08:44:13 +00:00
Kasper Fabricius Kristensen 27387b7cf1 feat(dashboard): minor fixes to profile (#7046) 2024-04-11 09:52:28 +02:00
Kasper Fabricius Kristensen 276278cbe7 minor fixes to region domain and api (#7042) 2024-04-09 18:46:53 +02:00
Kasper Fabricius Kristensen 596faf2ad3 chore(dashboard): Cleanup Pricing domain (#7035)
**What**
- Adds missing translations
- Minor cleanup

**Note**
- The domain is still missing features that are supported in V1, but are currently not available in V2. The types are also all wrong, so will need to revisit after the pricing domain is revisited, types have been added, and missing features implemented.

CLOSES CORE-1901
2024-04-09 14:53:09 +00:00
Kasper Fabricius Kristensen 21be6ff7ed feat(dashboard): Secret keys domain (#7030)
* setup secret keys

* add secret keys

* fix merge
2024-04-09 15:11:32 +02:00
Kasper Fabricius Kristensen 0f05790ae4 feat(dashboard): Initial pricing domain (#6996)
**What**
- Sets up the initial work for Pricing domain
- Fixes Store domain

**Todo in follow up PR**
- Translations
- Add status when creating the Price List and allow updating it
- Improve DataGrid component
- Add missing functionality once backend support is added (customer_groups, region prices and update prices)

CLOSES CORE-1931
2024-04-08 18:22:53 +00:00
Kasper Fabricius Kristensen 7b4ff1ae57 align color for draft (#7005) 2024-04-08 13:29:21 +02:00
Kasper Fabricius Kristensen 8a5c6928f7 feat(dashboard): Migrate to new hooks and API client (#6963) 2024-04-05 18:27:08 +02:00
Kasper Fabricius Kristensen e915169e11 feat(dashboard): Edit variant options + create option callback for combobox (#6920) 2024-04-05 11:40:33 +02:00
Kasper Fabricius Kristensen 849010d875 feat(dashboard): Setup workflows in V2 routes (#6939) 2024-04-04 21:27:48 +02:00
Kasper Fabricius Kristensen 880bbbd4af feat(dashboard): Add forms for edit and create product options (#6907) 2024-04-04 18:14:05 +02:00
Kasper Fabricius Kristensen 6c6e5307cf feat(dashboard): Setup V2 collections (#6935) 2024-04-04 14:06:44 +02:00
Kasper Fabricius Kristensen 7385a67dc7 feat(dashboard): Update v2 store domain to follow conventions, and abstract some logic (#6927)
**What**
- Updates the V2 store domain.
- Abstracts some of the API requests logic into re-usable hooks

**Note**
- Partial PR as we need to add support for setting a default currency, region and location. Currently the `q` param is missing on all V2 endpoints, so we can't use our combobox component to list these options. Will be added later when that has been fixed in core.
- The PR includes a generic hook for fetching combobox data, that I added before realising that `q` is not currently supported. But keeping it as it will be useful once support is added.
2024-04-04 07:15:17 +00:00
Kasper Fabricius Kristensen 3044ecaf61 fix promotions loader (#6928) 2024-04-04 07:34:43 +02:00
Kasper Fabricius Kristensen 982fb44cde fix(dashboard): Combobox should not disable body after being closed (#6909)
**What**
- Fixes an issue where opening a Combobox inside a modal, and then closing the modal would result in the body preserving the `pointer-events: none;` style.
2024-04-02 14:31:27 +00:00
Kasper Fabricius Kristensen b2763647f7 feat(dashboard): Variant edit form (#6870)
**What**
- Adds form to edit variant details.
- If stock and inventory modules are installed we omit inputs for stock and inventory as they should be managed in a separate form in that case. (Still a bit unsure about this, but its what we have in the current admin)
2024-04-01 16:38:49 +00:00
Kasper Fabricius Kristensen 26531c5a38 feat(dashboard): Draft orders create (#6680)
**What**
- Adds Create draft order form
- Updates draft order details page to also display "custom" items.

**Note**
- Currently, the form is missing a way to input a discount code. Need to rethink this a bit, as the we can't implement the design in Figma.
- The current design is missing a way to select from a customers existing shipping addresses, we should add that to keep the features we have today.
- This PR uses `useInfiniteQuery` which does not work on our staging (due to duplicate dependencies as a result of building straight from the monorepo), so you will need to test locally.
2024-03-25 17:18:24 +00:00
Kasper Fabricius Kristensen 71efa15088 feat(dashboard): Order timeline (#6815)
**What**
- Adds the initial Timeline component.
- Not all events have been added, as it makes sense to add them with their respective RMA flows.
- Emoji picker is omitted from initial PR as it's a nice-to-have that we can add later.
2024-03-25 14:50:27 +00:00
Kasper Fabricius Kristensen 247ca3c3fa feat(dashboard, ui): Product image modals (#6779)
**What**
- Adds Media modals gallery and edit mode
- Fixes an issue with Hint from medusajs/ui.
2024-03-25 11:22:30 +00:00
Kasper Fabricius Kristensen 1b2e0b4031 feat(dashboard): Price List configurations section (#6663)
**What**
- Adds section for displaying price list configurations.

Closes CORE-1857
2024-03-25 11:07:47 +00:00
Kasper Fabricius Kristensen c3f26a6826 feat(dashboard,medusa): Draft order detail (#6703)
**What**
- Adds draft order details page
- Adds Shipping and Billing address forms to both draft order and order pages
- Adds Email form to both draft order and order pages
- Adds transfer ownership form to draft order, order and customer pages
- Update Combobox component allowing it to work with async data (`useInfiniteQuery`)

**@medusajs/medusa**
- Include country as a default relation of draft order addresses
2024-03-15 10:29:59 +00:00
Kasper Fabricius Kristensen c384ede3b1 feat(dashboard): Setup parallel V2 routes (#6691)
**What**
- Moves all current route definitions to `v1.tsx`
- Creates a new `v2.tsx` file for future V2 routes.
- Updates RouteProvider to serve V1 or V2 routes based on if `MEDUSA_V2` is set.

**How to use it**
When working on V2 domains you should set `MEDUSA_V2=true` in `/packages/admin-next/dashboard/.env`. We can't use the Feature Flag in the Medusa project since there are breaking changes in the `/admin/store` endpoint between the two versions, so it needs to be managed manually.

**For people implementing V2 domains**
To add a new route you should:

- Add the route component in `/v2-routes`
- Define which path will render it in `v2.tsx`.

I would prefer that we don't try to implement a lot of conditional code that will make the codebase unnecessarily complex. So if I was to implement the V2 login page, I would copy/past the v1 login route into `v2-routes`, make the required changes, eg. replace `useAdminLogin` with `useAdminCustomPost(...)`, instead of trying to force the current V1 Login page to work with both APIs.

There will hopefully be a lot of components/sections from each domain that is re-usable between versions. As an example if you are working on the Product details page for V2 you might want to reuse the `product-general-section.tsx` file, as it works without having to make any modifications. In that case I propose that we create a `modules/product` folder and move the component in there which we can them import into both the v1 and v2 version of the route.
2024-03-14 18:05:44 +00:00
Kasper Fabricius Kristensen 78e5ec459a feat(dashboard,medusa): Draft order list page (#6658)
**What**
- (dashboard) Adds list page for Draft Order domain
- (medusa) Adds the ability to filter draft orders
2024-03-11 13:22:35 +00:00
Kasper Fabricius Kristensen ee4ea796f6 chore: align version of dotenv (#6657) 2024-03-11 12:34:17 +01:00
Kasper Fabricius Kristensen e124762873 feat(medusa,dahsboard): Initial work on pricing domain (#6633)
**What**
- Initial work on pricing domain.
- List page
- Details page
- Partial edit form
- Fixes admin/price-lists/:id/products endpoint to allow filtering products by multiple ids.

**Note**
Pushing this now as the current design need a bit of tweaking so we display all relevant data to users. Future PR will include completed Edit moda, Create modal, Edit prices modal and Add prices modal.
2024-03-11 09:56:41 +00:00
Kasper Fabricius Kristensen b8bedb84cf feat(dashboard): Return Reasons domain (#6640)
**What**
- Adds Return Reason domain.
2024-03-11 09:10:56 +00:00
Kasper Fabricius Kristensen fb25471e92 feat(dashboard): Reservations and inventory item list pages (#6550)
**What**
- Adds list page for reservations and inventory items
- Adds new String filter type, that allows users to filter by a string, eg. "material === 'metal'"
- Adds new Number filter type, that allows users to filter by a number or numerical comparator, eg. quantity === 10 / quantity is gt 10 and lt 50.
2024-03-11 08:40:25 +00:00
Kasper Fabricius Kristensen 2d00625729 feat(dashboard): Workflow executions (#6564)
**What**
- v1 of executions domain

**TODO in follow up PR**
I think it might be a good idea for Carlos or Adrien to go over the design with Ludvig, and make sure we are displaying what is relevant to developers, and how things should be displayed. So this PR is just the initial implementation, and does not handle displaying things like compensation steps (not part of the current design), step input (not supported by the API but part of the design), etc.

Closes CORE-1751, CORE-1755
2024-03-09 18:46:10 +00:00
Kasper Fabricius Kristensen c2d56ca12b feat(medusa,dashboard): Tax settings pages and fixes to list tax rates endpoint (#6606)
**What**
- Adds pages for managing tax settings and tax rates for regions.
- Fixes `list` tax rates endpoint, which was missing pagination, search, order, and filters.

**Note**
The fix to the tax rate list endpoint is very rough, as I have had to reimplement most of the logic from our transformQuery middleware. This is because this endpoints does not follow normal convention for fields and expand and uses string arrays instead of strings separated by commas. Our middleware does not support this, and changing the endpoint to align with other endpoints on the expand and fields params would be a breaking change. Since this is very temporary until 2.0 I think it's okay for the time being.

CLOSES CORE-1654
2024-03-09 13:19:29 +00:00
Kasper Fabricius Kristensen e5dc918be5 feat(dashboard): Order details page (#6538)
**What**
- Adds the different display cards to the order details page. This does not include any of the different forms for editing various aspects of an order.
2024-03-05 13:06:50 +00:00
Kasper Fabricius Kristensen 44a5567d0d feat(dashboard): Regions domain (#6534)
**What**
- Implements new Region domain design
- Adds new SplitView component for managing adding nested relations in FocusModals, eg. adding countries to a region.
- Adds new Combobox component for multi select fields in forms

**medusajs/ui**
- Fix styling of RadioGroup.Choicebox component

CLOSES CORE-1650, CORE-1671
2024-02-29 13:16:14 +00:00
Kasper Fabricius Kristensen e076590ff2 feat(dashboard,medusa): Update Pub. API key table and add query params to endpoint (#6483)
**What**
- Updates table to use DataTable
- Adds some query params to sort/filter the returned pub. keys
2024-02-28 23:27:49 +00:00
Kasper Fabricius Kristensen 72a17d6cd7 feat(dashboard): Rework route modals (#6459)
**What**
- Reworks how RouteModals are setup.

**Why**
- With the current implementation it was possible to create a race-condition in the logic that handled displaying a prompt if the user tried to close a modal, while a child form was dirty. The race condition would cause a new prompt to spawn each time the user clicked the screen, making it impossible to dismiss the prompt. This only occurred in a few specific cases.

**How**
- Creates two new components: RouteFocusModal and RouteDrawer. The component shares logic for handling their own open/closed state, and now accept a form prop, that allows the modals to keep track of whether their child form is dirty. This change ensures that race conditions cannot occur, and that the prompt always only renders once when needed.
2024-02-22 09:03:40 +00:00
Kasper Fabricius Kristensen 44d43e8155 feat(dashboard, medusa, medusa-js, medusa-react, icons): DataGrid, partial Product domain, and ProductVariant hook (#6428)
The PR for the Products section is growing quite large, so I would like to merge this PR that contains a lot of the ground work before moving onto finalizing the rest of the domain.

**Note**
Since the PR contains changes to the core, that the dashboard depends on, the staging env will not work. To preview this PR, you will need to run it locally. 

## `@medusajs/medusa`

**What**
- Adds missing query params to `GET /admin/products/:id/variants`
- `options.values` has been added to the default relations of admin product endpoints.

## `medusa-react`

**What**
- Adds missing hook for `GET /admin/products/:id/variants`

## `@medusajs/dashboard`
- Adds base implementation for `DataGrid` component (formerly `BulkEditor`) (WIP)
- Adds `/products` overview page
- Adds partial `/products/create` page for creating new products (WIP - need to go over design w/ Ludvig before continuing)
- Adds `/products/:id` details page
- Adds `/products/:id/gallery` page for inspecting a products images in fullscreen.
- Adds `/products/:id/edit` page for editing the general information of a product
- Adds `/products/:id/attributes` page for editing the attributes information of a product
- Adds `/products/:id/sales-channels` page for editing which sales channels a product is available in
- Fixes a bug in `DataTable` where a table with two fixed columns would not display correctly

For the review its not important to test the DataGrid, as it is still WIP, and I need to go through some minor changes to the behaviour with Ludvig, as virtualizing it adds some constraints.

## `@medusajs/icons`

**What**
- Pulls latest icons from Figma

## TODO in next PR
- [ ] Fix the typing of POST /admin/products/:id as it is currently not possible to delete any of the nullable fields once they have been added. Be aware of this when reviewing this PR.
- [ ] Wrap up `/products/create` page
- [ ] Add `/products/:id/media` page for managing media associated with the product.
- [ ] Add `/products/id/options` for managing product options (need Ludvig to rethink this as the current API is very limited and we can implement the current design as is.)
- [ ] Add `/products/:id/variants/:id` page for editing a variant. (Possibly concat all of these into one BulkEditor page?)
2024-02-21 11:29:35 +00:00
Kasper Fabricius Kristensen d37ff8024d feat(dashboard,medusa,ui): Manual gift cards + cleanup (#6380)
**Dashboard**
- Adds different views for managing manual/custom gift cards (not associated with a product gift card).
- Cleans up several table implementations to use new DataTable component.
- Minor cleanup of translation file.

**Medusa**
- Adds missing query params for list endpoints in the following admin domains: /customers, /customer-groups, /collections, and /gift-cards.

**UI**
- Adds new sizes for Badge component.

**Note for review**
Since this PR contains updates to the translation keys, it touches a lot of files. For the review the parts that are relevant are: the /gift-cards domain of admin, the table overview of collections, customers, and customer groups. And the changes to the list endpoints in the core.
2024-02-12 13:47:37 +00:00
Kasper Fabricius Kristensen 85a44dfd01 fix(ui,ui-preset): Code component styles (#6357) 2024-02-09 10:11:22 +01:00
Kasper Fabricius Kristensen 73fd92a1af feat(dashboard): Log in, reset password, and accept invite pages (#6310) 2024-02-05 11:16:10 +01:00
Kasper Fabricius Kristensen 8cbf6c60fe feat(dashboard): DataTable component (#6297) 2024-02-02 21:56:55 +01:00
Kasper Fabricius Kristensen 1100c21c63 feat(dashboard): Users domain (#6212) 2024-01-30 17:20:06 +01:00
Kasper Fabricius Kristensen 90cff0777f fix(medusa): add support for order field on GET /admin/orders (#6258)
**What**
- Adds support for `order` field on `GET /admin/orders`
2024-01-29 16:00:45 +00:00
Kasper Fabricius Kristensen 134af77667 fix(medusa): GET /admin/shipping-options params (#6208) 2024-01-24 19:16:57 +01:00
Kasper Fabricius Kristensen 6404b9abd1 fix(medusa): List Users return type (#6204) 2024-01-24 13:57:05 +01:00
Kasper Fabricius Kristensen d68089b2aa fix(medusa): Implement listAndCount for UserService and update list endpoint (#6190) 2024-01-24 10:41:35 +01:00
Kasper Fabricius Kristensen c37c82c5b5 feat(dashboard): Pub Api Key domain (#6162)
**What**
- Adds Pub. Api Key domain

**Note**
- Pagination for sales channels associated with the pubkey is not implemented correctly as it is not supported by the API. Will open a separate issue on this, and revisit the impl. once fixed.

CLOSES CORE-1656
2024-01-23 20:15:16 +00:00
Kasper Fabricius Kristensen e49b6944e3 feat(dashboard): 3.0 product collection (#6120) 2024-01-18 15:01:34 +01:00
Kasper Fabricius Kristensen 80feb972cb feat(dashboard): Customer groups domain (#6098)
**What**
- Adds list, detail, edit, create, add customers views to the CG domain.

**Note**
- Missing metadata in forms (coming in separate PR for entire admin)
- Missing table filters (separate PR)

CLOSES CORE-1648
2024-01-17 14:25:59 +00:00
Kasper Fabricius Kristensen 6315a61189 feat(dashboard): add customers domain (#6093) 2024-01-16 15:23:45 +01:00
Kasper Fabricius Kristensen a2c149e7e5 feat(dashboard,ui): Streamline spacing and sizing (#6061) 2024-01-15 11:43:16 +01:00
Kasper Fabricius Kristensen 0c858f7fd4 add vercel config (#6018) 2024-01-08 10:38:18 +01:00
Kasper Fabricius Kristensen f868775861 chore: move next admin packages to core repo (#5983)
**What**
- Move packages for `next` version of admin to core repo

**Other**
- Since this PR introduces packages that depend on Vite 5, it also introduces @types/node@^20. We have never had a direct dependency on the types package for Node, and as far as I can see that has resulted in us using the types from Node.js@8, as those are a dependency of one of our dependencies. With the introduction of @types/node@^20, two of our packages had TS errors because they were using the NodeJS.Timer type, which was deprecated in Node.js@14. We should add specific @types/node packages to all our packages, but I haven't done so in this PR to keep it as clean as possible.
- Q: @olivermrbl I've added the new packages to the ignore list for changeset, is this enough to prevent them from being published?
2024-01-08 09:26:46 +00:00
Kasper Fabricius Kristensen 8ab5baf78a fix(admin-ui): Bulk editor default fields (#5829)
* fix(ui): Bump cva and minor type fixes

* fix version of cva

* fix default fields
2023-12-10 19:36:08 +01:00
Kasper Fabricius Kristensen 591ba2388d fix(ui): Bump cva and minor type fixes (#5818)
**What**
- Bumps `class-variance-authority` to new beta version - `cva@beta`.
- Updates all usages of `cva` to new API.
- Clear up the naming of types in `usePrompt`

**Why**
- A bug in how `class-variance-authority` exported its types mean that we were relying on patching the package to ensure that the correct types made it into the build of our UI package. This was important to ensure intellisense for component variants, such as `<Button size="large" />`. Previously in the UI monorepo, having the patch was enough to ensure that the correct types made it into the build, but that was not the case after we moved the design system to the core repo. The issue with types is fixed in the `@1` version of `cva` which is currently in beta. I have pinpointed the version to the current beta version to ensure stability despite the package currently being in beta.
2023-12-07 20:13:44 +00:00
Kasper Fabricius Kristensen 4e9d954549 fix(medusa-react): Allow setting maxRetries on MedusaProvider (#5765)
* allow settign maxRetries on MedusaProvider

* add changeset

* set default maxRetries to 3
2023-11-29 15:42:46 +00:00
Kasper Fabricius Kristensen d5526736ec fix(admin-ui): fix height of Bulk Editor cells to always be 40px (#5737) 2023-11-27 16:34:53 +00:00
Kasper Fabricius Kristensen 5f6751a61f fix(admin-ui): Fix Y-axis scroll in bulk editor (#5726) 2023-11-27 11:13:11 +00:00
Kasper Fabricius Kristensen 07934cdaac fix(admin-ui): Edit prices requires at least one product (#5710) 2023-11-24 13:54:07 +00:00
Kasper Fabricius Kristensen f4c489fb85 fix(admin-ui): Fix issue with null product categories (#5707)
* fix(admin-ui): If categories is null on a product the details page should not crash

* cleanup variant warning to reflect pricing changes
2023-11-24 12:51:32 +00:00
Kasper Fabricius Kristensen 22bea2724d fix(medusa): Normalize subscriber paths (#5703) 2023-11-23 17:33:51 +00:00
Kasper Fabricius Kristensen b25b29fe7b fix(ui): code block styles (#5692)
**What**
- Improves the styling of CodeBlock prism theme
2023-11-23 11:59:17 +00:00
Kasper Fabricius KristensenandOli Juhl 57573ed4d7 feat(medusa): Alternative Subscriber API and new ScheduledJobs API (#5624)
* workking subscribers API

* progress

* update registrar args

* cleanup

* progress

* progress

* tests

* rename to loaders

* rm build artifacts

* improve validation and change jobs args to object

* spread context on subscribe

* add changeset

* address comments

* fix spelling of warning and add warning on Redis not enabled for Scheduled Jobs

* fix tests

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-11-16 20:36:02 +01:00
Kasper Fabricius Kristensen a67a8e7e90 fix(ui): Fixed CodeBlock line number width (#5640)
**What**
- Fixes the width of lineNumbers in the CodeBlock component according to the widest number.
- Introduces a new prop on snippets that allows users to hide the copy button. Also updated docs to reflect this.

Before:
![image](https://github.com/medusajs/medusa/assets/45367945/07852c2e-434c-44df-93b7-4078148cb74f)

After:
<img width="742" alt="image" src="https://github.com/medusajs/medusa/assets/45367945/5ce845f7-b8c7-411c-abfb-fa03448aeb1a">

Closes #5639
2023-11-16 10:50:04 +00:00
Kasper Fabricius KristensenandOli Juhl 2947f57db1 fix(medusa): Update wrapHandler so it also passes errors in non-async route handlers to the errorHandler middleware (#5597)
* fix: Align @types/react versions across UI packages

* update codeowners

* fix: Update wrapHandler so it also catches errors for non-async route handlers

* rm chaining

* align wrapHandler in utils and add deprecation note

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-11-15 19:41:10 +01:00
Kasper Fabricius Kristensen c08240df3f fix(admin-ui): Preserve decimal numbers when locale uses commas (#5641)
**What**
- Ensure that we format numbers with `.` as the decimal separator, even when the users locale uses `,`. This changes still allows users to use comma as the decimal separator, but the transformation we use before writing to state converts the number to use a dot instead.
2023-11-15 17:18:26 +00:00
Kasper Fabricius Kristensen a2a45b6fef fix: minor fixes to IconButton and Button documentation (#5636)
**What**
- Updates example on IconButton page so it no longer uses IconBadge
- Removes the "small" size from Button props as it no longer exists.
2023-11-15 15:53:05 +00:00
Kasper Fabricius Kristensen 52800710a2 fix(medusa): Error handling middleware should be applied when no config is exported (#5634)
**What**
- Fixes an issue where the default errorHandler middleware was not applied if the user did not have a `middlewares.ts` file.
- Updates the type of `MiddlewaresConfig` so `middlewares` is now optional, as people might want to only set a bodyParser config for a matcher and not provide any additional middleware.
2023-11-14 20:48:10 +00:00
Kasper Fabricius Kristensen e3f1da92db fix(admin-ui, ui): Align @types/react versions across UI packages (#5596)
* fix: Align @types/react versions across UI packages

* update codeowners
2023-11-10 08:31:30 +01:00
Kasper Fabricius Kristensen c68da6d685 feat(medusa): API routes body parser config (#5537) 2023-11-09 09:10:45 +01:00
Kasper Fabricius Kristensen e4ce2f4e07 chore(ui,icons,ui-preset,toolbox): Move design system packages to monorepo (#5470) 2023-11-07 22:17:44 +01:00
Kasper Fabricius Kristensen d7e1887221 fix(admin-ui): Prevent comma decimal separator from converting inputs to NaN (#5566)
**What**
- Using the Price List bulk editor with a locale that uses comma as the decimal separator would convert decimal numbers to NaN. This PR fixes that by replacing commas with dots, before passing the values on to the state manager.

Closes #5565
2023-11-06 13:26:35 +00:00
Kasper Fabricius Kristensen f7e9829881 fix(admin-ui): Prevent oversized product request in Price List domain (#5535)
* fix(admin-ui): Prevent oversized product request in Price List domain

* add changeset
2023-11-02 17:05:08 +01:00
Kasper Fabricius Kristensen 8e48be58ef fix(admin-ui): Make regions in tax setting scrollable (#5530)
* fix overflow

* intersection observer and changeset
2023-11-02 13:03:45 +01:00
Kasper Fabricius Kristensen 2548ea8e5e fix(medusa): Make file based routing compatible with Windows pathing (#5497) 2023-10-31 14:46:24 +01:00
Kasper Fabricius Kristensen b69f182571 fix(admin-ui): modify webpack config to prevent throwing sourcemap errors (#5484) 2023-10-30 12:06:58 +01:00
Kasper Fabricius Kristensen ea2ee343f0 fix(admin-ui): PriceList bulk editor fixes (#5456)
* fix: rounding on decimal numbers, wrap in form

* add changeset

* fix: decimal numbers in product details

* fix: resolve an issue where double clicking an already selected cell would freeze it
2023-10-26 09:56:36 +02:00
ddff919655 feat(medusa): support file based routing (#5365)
* feat(medusa): Implement file base routing mechanism

* cleanup

* cleanup and improvements

* improve tests

* update tests

* Create tame-trains-grin.md

* fix tests, move fixtures

* fix tests

* lint

* init work

* work on supported methods

* add config generator

* progress

* progress

* rework middleware registartion

* progress

* progress

* export MiddlewareConfig  type

* add type extensions

* work on improving logs

* work on loggers

* apply cors, json parsing, and admin authentication per default

* address feedback

* rm changeset

---------

Co-authored-by: adrien2p <adrien.deperetti@gmail.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-10-18 16:26:27 +02:00
Kasper Fabricius Kristensen 3376f4ccc1 fix(admin-ui): alias design system packages (#5358)
* alias design system packages

* add changeset
2023-10-13 14:49:17 -07:00
Kasper Fabricius Kristensen e04927a3cb fix(admin-ui): Price list domain fixes (#5339)
**Fixes**
- Fixes an issue where click the Delete button on a table item in the Price List overview would also navigate to the Price Lists page
- Fixes an issue where Region prices were not showing which region they belong to in the Bulk Editor
- Fixes an issue where the wrong widgets were being injected into the Price List domain

**Improvements**
- Align label for Expiry date field
- Add form validation to require setting the prices of at least one product variant when creating or adding prices to a Price List.
- Show a prompt warning if prices have not been set for all selected products in the create and add product flows.
2023-10-12 08:34:46 +00:00
0f34e0f381 feat(admin-ui, medusa, medusa-react, medusa-js): Price List UI revamp (#5233)
* progress on cleanup

* rm forceMount

* close modal on succesful submit

* fix: invalidate price list query on useAdminCreatePriceListPrices

* sync translation keys

* add last translations

* sync translation keys

* improve tabbing between cells

* add comment

* fix: remove double variant, set collision boundary on column dropdown

* add widgets

* update lock file

* decrease details info size, and add missing status update function

* sync translation keys

* add snapshots and remove min/max

* add missing filter menu for customer groups table

* add translation keys for filter menu

* rm unused code

* Create tall-apricots-run.md

* Update tall-apricots-run.md

* fix: discard invalid paste values

* add translation keys

* bump snapshots + minor fixes

* rm console.log

* bump snapshots

* bump ui packages, and add missing tax inclusive display in New form

* update lock file

* fix filter menu

* update snapshot

* update ui package and fix sub menu position

---------

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-10-06 08:22:25 -07:00
Kasper Fabricius KristensenandShahed Nasser 4e3f3b54cb docs(ui,docs): Add documentation for Medusa UI 2.0.0 (#5227)
* add docs for medusa ui 2.0.0

* fix: copy as child example

* fix: dropdown menu example

* add accordion examples

* fix lint issues

* fix apos in progress tabs demo

* resolve comments

* add icon

* bump z-index on modals to prevent clashing with navbar

* add sidebar item and card

* undo modal z index changes

* add links to updated and new components

* update version

* rm inline code formatting on links

---------

Co-authored-by: Shahed Nasser <shahednasser@gmail.com>
2023-09-27 18:56:25 +03:00
Kasper Fabricius Kristensen cb67760f71 fix(admin,admin-ui): copy public folder as part of admin build (#5057)
**What**
- Copies `/public` folder into Admin build
- Updates the version of `dotenv` to match the version used in other Medusa dependencies. This will prevent errors when trying to link the `admin` package into a local repository for testing.
2023-09-15 09:47:11 +00:00
Kasper Fabricius Kristensen 545022145b fix(admin): Export RouteProps and SettingProps (#4950)
* fix: export SettingProps and RouteProps from admin package

* add changeset
2023-09-05 19:22:52 +02:00
Kasper Fabricius KristensenandShahed Nasser 3ad2136888 feat(api-reference): Add rewrite to UI docs (#4791)
* add rewrite to UI docs

* add base rewrite

---------

Co-authored-by: Shahed Nasser <shahednasser@gmail.com>
2023-08-17 19:31:22 +03:00
Kasper Fabricius Kristensen 1e8d044b16 add versions (#4795) 2023-08-17 17:10:40 +02:00
f1a05f4725 feat(admin, admin-ui, medusa-js, medusa-react, medusa): Support Admin Extensions (#4761)
Co-authored-by: Rares Stefan <948623+StephixOne@users.noreply.github.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-08-17 12:14:45 +00:00
Kasper Fabricius Kristensen 063d9b6d55 fix(admin-ui): Ensure order of variant options matches order of product options (#4178) 2023-05-25 20:36:27 +02:00
Kasper Fabricius Kristensen 9a46c11f2a fix(admin-ui): Ensure that default invite link uses __BASE__ if set (#4173)
* ensure default invite link uses __BASE__ if it exists

* add changeset
2023-05-25 20:27:18 +02:00
Kasper Fabricius Kristensen 2829537592 fix(admin-ui): Template download path (#4050)
* pin react-router-dom

* fix template download path

* add changeset
2023-05-09 12:13:54 +02:00
Kasper Fabricius Kristensen a7adb8fbf4 fix(admin-ui): Pin react-router-dom (#3999)
**What**
- Pins the version of `react-router-dom` to `6.8.0` as the upgrade to `6.11.0` broke usage of `useNavigate` in nested routes.
2023-05-03 14:31:18 +00:00
Kasper Fabricius Kristensen 596566a510 fix(admin-ui): Navigating to tax settings should not break URL (#3989)
* fix navigation to taxes page, and switch out react-helmet with react-helemt-async

* add changeset

* pinpoint react-hot-toast
2023-05-03 13:40:04 +02:00
Kasper Fabricius Kristensen 788ddc0f43 fix(medusa, admin-ui, medusa-react): Gift Card update fixes and admin UI cleanup (#3676)
* fix gc domain issues

* add changeset

* update changeset

* more minor fixes, remove breadcrumb

* more cleanup

* address feedback
2023-04-02 19:04:32 +02:00