Commit Graph
100 Commits
Author SHA1 Message Date
Kasper Fabricius Kristensen 493d242c12 fix(dashboard): Add Breadcrumb components (#10079)
**What**
- Adds Breadcrumb component to all routes that needs breadcrumbs.
- The Breadcrumb components use a combination of loader data and useQuery to ensure that the displayed value is kept up to date if the underlying data is changed via a mutation.
- Also fixes a couple of places where the breadcrumb was not setup correctly.

Resolves CMRC-688
2024-11-15 13:13:03 +00:00
Kasper Fabricius Kristensen 8ed3d87c23 fix(dashboard): Add missing inventory list zones (#10117)
Resolves CMRC-710
2024-11-15 13:09:26 +00:00
Kasper Fabricius Kristensen dea86d8c87 fix(dashboard): Fix active nav link styling for built-in routes (#10082)
**What**
- Ensures that NavLinks are correctly styled for both built-in and extension routes.
2024-11-14 18:32:52 +00:00
Kasper Fabricius Kristensen a153bc477c fix(admin-shared,dashboard): Add missing injection zones (#10098)
**What**
- Adds missing InjectionZones for ProductVariant details page.
- Removes v1 related zones, such as GiftCard and DraftOrder.
2024-11-14 18:32:36 +00:00
Kasper Fabricius KristensenandFrane Polić 904f0926f1 fix(dashboard): Load product variant edit page and fix product detail query key (#10029)
**What**
- Fixes Edit Variant form so it properly loads the product variant
- Fixes the query key for product details to prevent the cache from being shared between queries for the same ID but with different params.

Resolves CMRC-685

Co-authored-by: Frane Polić <16856471+fPolic@users.noreply.github.com>
2024-11-12 08:40:08 +00:00
Kasper Fabricius Kristensen 34f4f695c0 fix(types): Add AdminBatchUpdateProductVariant type (#10009) 2024-11-11 19:30:44 +01:00
Kasper Fabricius Kristensen 49f3f0cd54 fix(dashboard): Reduce data loaded by product details page (#9991) 2024-11-10 08:33:36 +01:00
Kasper Fabricius Kristensen d19d7a66ff fix(dashboard): Allow using enter key to create newline in Textarea (#9913)
* fix(dashboard):Allow using enter key to create newline in Textarea

* update scheam file
2024-11-05 08:54:28 +01:00
Kasper Fabricius Kristensen e2058683f4 chore(dashboard): Setup test and script for validating i18n (#9799)
**What**
- Adds a test that validates that en.json and $schema.json matches, this will help us catch missing translations, and prevent us from forgetting to update the schema when we delete/add new keys.
- Adds a script for validating translations against the translation schema. This can be used to validate that community PRs for i18n contain all the required keys. To use the script you can run `yarn i18n:validate <file name>` e.g. `yarn i18n:validate da.json` which will look for a da.json file in the translation folder, and validate it against the schema. We handle this with a script as we don't want to do so through a test. Doing it with a test would mean that if we update the schema, we would also have to update all translations files that we don't maintain ourselves. The purpose of the script is just to allow us to easily review community PRs and also as a tool for people opening PR's to check their translations agains the schema, as it will print missing/additional keys.
- Also adds a script to generate a schema from the en.json file. After adding/deleting keys to en.json you should run `yarn i18n:generate`.
2024-11-04 09:45:07 +00:00
Kasper Fabricius Kristensen a0034a0fef fix(dashboard): Allow float values for product prices (#9859) 2024-11-04 09:04:29 +01:00
Kasper Fabricius Kristensen 59e6747800 feat(dashboard,ui): DateFilter should open correctly (#9775) 2024-10-24 17:28:03 +02:00
Kasper Fabricius Kristensen 7b6793f846 fix(dashboard): Prevent reusing same Component for nested UI routes (#9725)
**What**
- Fixes a bug that caused nested UI routes to reuse their parents Component.
2024-10-24 11:06:49 +00:00
Kasper Fabricius Kristensen 1c1ba88220 fix(dasbhoard): Revert keybound form for public pages (#9710)
**What**
- We recently changed all forms to require Cmd/Ctrl + Enter to submit, this makes sense for our forms within modals, but not so much for our public pages such as the login page.
- This PR removes the need to hold Cmd or Ctrl when trying to submit the forms on the login page, reset password page, and register page.
- Also fixes some incorrect styling on the reset password and register pages.
2024-10-22 15:00:35 +00:00
Kasper Fabricius Kristensen 68cb7d0b27 fix(admin-vite-plugin): Generate correct UI Route tree (#9699) 2024-10-22 10:55:16 +02:00
Kasper Fabricius Kristensen 9f53683508 feat(dashboard,types): Translate all OrderBy filters (#9691)
Resolves CC-616

**Note**
- I have added some missing fields to a couple of types, to resolve TS errors in the dashboard.
- For the ApiKey types I have left the created_at, updated_at, etc. as type Date, as changing them to string, caused @medusajs/medusa to fail building. We need to clean up the types at a later time.
2024-10-21 18:09:55 +00:00
Kasper Fabricius Kristensen 7cc599a68c fix(dasboard): Grammer issues on invite page (#9683) 2024-10-21 10:01:22 +02:00
Kasper Fabricius Kristensen 82e32f9da4 test(admin-vite-plugin): React Invalid hook call on Windows (#9647) 2024-10-18 09:38:28 +00:00
Kasper Fabricius Kristensen 7a47f5211d fix(dashboard): Hide usage insights (#9651)
**What**
- Hides everything related to usage insights from the profile page.

**Why**
- We haven't set up usage insights tracking in V2, so hiding the UI for disabling/enabling it. We can re-add it again later if we decide we want to continue tracking how the dashboard is used.
2024-10-18 08:20:05 +00:00
Kasper Fabricius Kristensen 10ae60e155 fix(ui): Fix Avatar styling (#9645)
Resolves CC-138
2024-10-17 15:26:00 +00:00
Kasper Fabricius Kristensen 902087e569 fix(dashboard): Ensure all progress tabs are 200px wide (#9644)
**What**
- Fixes onE FocusModal where the ProgressTabs weren't 200px wide. All others already have the correct width.

Resolves CC-110
2024-10-17 15:17:10 +00:00
Kasper Fabricius Kristensen b50ac9730e fix(dashboard): Fix styling of nested NavLinks (#9637)
**What**
Adds the `end` prop to NavLinks, so they only use their active style when the current path is a perfect match.
This was added to prevent MenuItems from extensions both showing the parent and child items as active, when the child route was active.

Also added a check to prevent users from adding nested settings NavLinks.


<img width="218" alt="Skærmbillede 2024-10-17 kl  14 25 12" src="https://github.com/user-attachments/assets/9e4d530a-c7b4-410e-aaaf-5a21ac86eb03">
<img width="221" alt="Skærmbillede 2024-10-17 kl  14 24 03" src="https://github.com/user-attachments/assets/6769b951-8e48-4725-a373-dc64ed6936ce">
2024-10-17 14:16:31 +00:00
Kasper Fabricius Kristensen 1d540af783 feat(dashboard): Submit forms on Cmd + Enter (#9623)
**What**
- Changes all forms to only submit on Cmd/Ctrl + Enter instead of just Enter.
- Cleans up the position of submit/cancel buttons in many FocusModals that still had them in the header.
- Fixes responsiveness of multiple forms
- Removes the SplitView component, and replaces its usages with StackedDrawer/Modal to align the UX across the project.

Resolves CC-103, CC-535
2024-10-17 09:38:12 +00:00
Kasper Fabricius Kristensen 6a6fd6ee4c fix(dashboard,ui): Fix outline flash on FocusModal (#9624)
**What**
- Fixes an issue where the `outline` would flash on FocusModals when the focus was transferred to the modal.
- Fixes an issue where the selected value of the combobox component was misaligned for single value comboboxes.

Resolves CC-604
2024-10-17 06:56:08 +00:00
Kasper Fabricius Kristensen 3388764af4 fix(admin-vite-plugin): Replace slashes for Windows (#9602) 2024-10-16 08:39:07 +00:00
Kasper Fabricius Kristensen 813efeae51 fix(admin-vite-plugin): Normalize file paths and add tests (#9595)
**What**
- #9338 had a regression which caused the import path in some virtual modules to be invalid on Windows.
- This PR fixes the issue so we now again create the correct import paths, and adds tests to prevent this from slipping in again.
2024-10-15 16:48:56 +00:00
Kasper Fabricius Kristensen ebb16d6020 fix(dashboard): Translate breadcrumbs (#9561)
**What**
- Adds translated keys for all static breadcrumbs.
2024-10-14 14:42:59 +00:00
Kasper Fabricius Kristensen 170b3a08b7 fix(dashboard): Prevent category names from overflowing in organize section (#9562)
**What**
- Prevents the name of parent and children categories from overflowing in the Organize section.

Resolves CC-586
2024-10-14 14:24:22 +00:00
Kasper Fabricius Kristensen 56135b9750 fix(dashboard): Change icon of Shipping Profiles card (#9563)
Resolves CC-156
2024-10-14 14:23:07 +00:00
Kasper Fabricius Kristensen 2a9fc0e514 fix(dashboard): Show progress on tabs in create form (#9553)
**What**
- Shows progress on tabs in create promotion form. This is a bit of a band-aid fix, the promotion form and domain needs some proper cleanup, but this will work for now.
- Adds missing translation of "Method" field.

Resolves CC-113
2024-10-14 10:36:31 +00:00
Kasper Fabricius Kristensen 089d4af301 fix(dashboard): Hide note input on orders (#9555)
**What**
- Hides the input for notes on the order details page.
- Should be re-added once we have support, so I have just commented out the component.
2024-10-14 10:10:33 +00:00
Kasper Fabricius Kristensen 3edb5d3470 fix(dashboard): Show SO name in DataGrid (#9554)
**What**
- Adds a Readonly cell with the SO name in the pricing DataGrid.

Resolves CC-555
2024-10-14 10:05:21 +00:00
Kasper Fabricius Kristensen 1b82f7a814 fix(dashboard): Adds routes for handling tax overrides for provinces (#9549) 2024-10-14 11:34:15 +02:00
Kasper Fabricius Kristensen 1f682daf5c fix(dashboard,ui): Fixes to Combobox and CategoryCombobox (#9537)
**What**
- Fixes the Combobox to keep the width of the content constant.
- Brings CategoryCombobox inline with the other Combobox component
- Adds keyboard navigation to the CategoryCombobox: You can now navigate options using ArrowUp and ArrowDown, and if an option has children you can use ArrowRight to see the children options.
- Add "outline-none" to the Drawer component to stop it from flashing whenever focus is dropped.
- Removes a dependency that was added to the UI package by mistake

Resolves CC-155
2024-10-12 14:46:32 +00:00
Kasper Fabricius Kristensen ccd40e6548 feat(dashboard): Add global search (#9504)
**What**
- Adds the ability to do global searches from cmd + k in the admin.
- The solution is temporary, until we have a proper search API.

**Note**
I have deviated a bit from the design, due to the constraints of this temporary solution:
- We don't have nested items, such as showing variants under a product (don't think having a proper search API will make this any easier, and not entirely sure how we would handle this for cases where a query returns multiple products, which is the only case that is designed)
- I have added a "Load {{count}} more" button instead of doing infinite scrolling, I am assuming the later is the intended behaviour based on the design file, but with 20+ sources of data changing so often it was resulting in some weird behaviours, so settled for the simpler approach for this temporary solution.
- Removed the "Details" label on search results as it seemed a bit repetitive
- I haven't added icons for the different types of search results, as there are only a couple of examples in the design doc, and I wasn't sure what to pick for all the different types of results. If we want to add icons, then I think it's something we can add when we revisit this later, but think its fine to omit, as each group of results is labeled, so they are easy to tell apart.

Resolves CC-574
2024-10-11 07:38:05 +00:00
Kasper Fabricius Kristensen d71343d6ab feat(dashboard,admin-vite-plugin,admin-bundler,admin-sdk): Rework admin extensions and introduce custom fields API (#9338) 2024-10-09 11:44:40 +00:00
Kasper Fabricius Kristensen 35e69d32f2 fix(dashboard): Remove token copy from badge (#9508)
**What**
- Removes the <Copy /> wrapper from the Token badge in API key tables.
- The usage of copy spawned to issues: the click was being propagated despite stopping propagation causing navigation to the API keys detail page, the Copy acts as a <a /> tag when it's a child of a <Link />, escaping react-router-dom and doing a "hard" navigate to the next page.

Fixes CC-576
2024-10-09 11:16:47 +00:00
Kasper Fabricius Kristensen a2545df823 fix(dashboard): max call error onKeyDown handler (#9141)
* fix(dashboard): max call error onKeyDown handler

* cleanup

* fix linting
2024-09-16 11:01:47 +02:00
Kasper Fabricius Kristensen e5b90b2d97 fix(dashboard): Fixes to campaign and promotions domains (#9022) 2024-09-05 22:18:38 +02:00
Kasper Fabricius Kristensen 0fe1201435 feat(admin-sdk,admin-bundler,admin-shared,medusa): Restructure admin packages (#8988)
**What**
- Renames /admin-next -> /admin
- Renames @medusajs/admin-sdk -> @medusajs/admin-bundler
- Creates a new package called @medusajs/admin-sdk that will hold all tooling relevant to creating admin extensions. This is currently `defineRouteConfig` and `defineWidgetConfig`, but will eventually also export methods for adding custom fields, register translation, etc. 
  - cc: @shahednasser we should update the examples in the docs so these functions are imported from `@medusajs/admin-sdk`. People will also need to install the package in their project, as it's no longer a transient dependency.
  - cc: @olivermrbl we might want to publish a changelog when this is merged, as it is a breaking change, and will require people to import the `defineXConfig` from the new package instead of `@medusajs/admin-shared`.
- Updates CODEOWNERS so /admin packages does not require a review from the UI team.
2024-09-04 19:00:25 +00:00
Kasper Fabricius Kristensen c3561fae3a fix(dashboard): Display breadcrumbs for variant route (#8983)
Resolves CC-63
2024-09-04 10:12:10 +00:00
Kasper Fabricius Kristensen 419cf1b7d7 fix(dashboard): Align product organization badges with design (#8975)
**What**
- Aligns implementation with design, all badges in the Organization card should be grey.
2024-09-04 06:49:49 +00:00
Kasper Fabricius Kristensen 58c78a7f62 fix(dashboard): Tab behaviour in DataGrid (#8973)
* fix focus in datagrid

* cleanup

* fix keyboard commands

* cleanup

* cleanup

* always allow handler for special focus to fire

* cleanup
2024-09-03 20:54:47 +02:00
Kasper Fabricius Kristensen c6ff9efdea fix(dashboard,admin-shared): Fixes to inventory page (#8941)
**What**
- Adds qty column to reservations table.
- Adds missing injections zones
- Fixes layout on long description field.

Resolves CC-121
2024-09-02 17:38:56 +00:00
Kasper Fabricius Kristensen d88e6474e9 fix(dashboard): Product create price columns race condition (#8943) 2024-09-02 18:56:05 +02:00
Kasper Fabricius Kristensen ddcb030ac7 fix(medusa): Allow filtering customers by has_account (#8947)
* add has account filter param

* add has account filter param
2024-09-02 18:19:50 +02:00
Kasper Fabricius Kristensen 3c2fa8cdad fix(dashboard): Fix copy invite link (#8933)
* fix invite url

* use window location instead of backend url
2024-09-02 11:40:18 +02:00
Kasper Fabricius Kristensen 16d8fb1d20 fix(dashboard): Pass query params to list SC request (#8863)
Resolves CC-331
2024-08-29 08:35:39 +00:00
Kasper Fabricius Kristensen b8572165cb feat(dashboard): DataGrid improvements [4/4] (#8798)
**What**
- Changes cell state strategy from tracking from lazy to eager. This has required some changes to the API of the DataGrid component, and createDataGridColumnHelper function.
- Displays error messages in both affected cells and their rows. The row indicator also provides an option to quickly jump to an error.
- Allows the user to hide all rows and columns that don't have errors, to help quickly get an overview of the errors in a large grid.
- The first column of a DataGrid is now pinned, making it easier for a user to tell which entity they are editing.
- Fixes and improvements to column visibility menu.
- Adds a shortcuts modal that explains the different available keyboard commands.
- Updates `@tanstack/react-table` to the latest version.

Resolves CC-269
2024-08-28 19:06:38 +00:00
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 cfdd056d70 fix(dashboard): Fix minor issues with Reservations and Inventroy Create forms (#8657) 2024-08-20 13:31:31 +02:00
Kasper Fabricius Kristensen a66bd3bd6b fix(dashboard): Use proper heading size (#8658) 2024-08-19 14:56:26 +02: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
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 4fda46d9b1 fix(dashboard): Fix spacing, media, and missing tip in product create form (#8338)
Resolves CC-146, CC-109
2024-07-31 07:06:42 +00:00
Kasper Fabricius Kristensen 2967221e73 fix(dashboard): Cell behaviour in DataGrid (#8183) 2024-07-30 18:18:07 +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
Kasper Fabricius Kristensen e9f1aafbb1 add as const (#8219) 2024-07-22 14:35:10 +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 2e3d444c9b chore(ui-preset,icons,toolbox): Update dark mode theme (#8168)
* run scripts

* chore(ui-preset,icons): Update dark mode theme

* fix nameing of icon
2024-07-18 08:56:35 +02: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 4cf4a36c9c fix(ui): Use correct text style for primary button (#8059)
* progress

* fix

* use correct style for primary button text
2024-07-10 15:07:04 +02: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 6e613f4f50 feat: Update toast design (#8018)
**What**
- Updates the Toast component and `toast` util to match the latest design. 
- Updates every usage of `toast` as `dismissableLabel` is no longer a valid prop, as we now render a X mark instead of a text button.
2024-07-09 16:14:19 +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 d46f9fda21 fix(admin-vite-plugin): ensure forward slashes are used for paths (#8023) 2024-07-09 17:12:48 +02:00
Kasper Fabricius Kristensen 880a91d569 fix(dashboard): Shipping Type tooltip (#8042) 2024-07-09 17:08:38 +02:00
Kasper Fabricius Kristensen 4736d9e2dd fix(dashboard): JSON view (#8038)
* updated json view

* cleanup

* cleanup
2024-07-09 16:45:22 +02:00
Kasper Fabricius Kristensen 4d750c13d9 make whole card clickable (#7984) 2024-07-08 10:03:04 +02:00
Kasper Fabricius Kristensen e11716fa1e fix(dashboard): Hide edit rank button when no categories exist (#7986)
RESOLVES CORE-2456
2024-07-05 17:42:02 +00: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
Kasper Fabricius Kristensen 492213cf03 fix(dashboard): add delete action to table (#7904) 2024-07-02 17:34:01 +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 KristensenandOli Juhl 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
Kasper Fabricius Kristensen d5c5628ffc feat(dashboard): Add Optimistic UI to category rank form + style updates (#7747)
**What**
- Makes rank updates optimistic, meaning that we override the local state (ranking) with what we expect the outcome of the request to be. If a request fails then we revert to the last known server state.
- Updates the style of dragged items.
- Fixes an issue where the tree would flicker when submitting the create form.
2024-06-18 14:46:32 +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
Kasper Fabricius Kristensen 50ce223e4b feat(types,js-sdk,medusa,fulfillment): Types and SDK methods related to Stock Locations (#7625) 2024-06-06 11:04:42 +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
Kasper Fabricius Kristensen 8387c72e96 fix(dashboard): Add empty state for media section (#7614) 2024-06-05 19:57:16 +02:00
Kasper Fabricius Kristensen d104d1a256 fix(dashboard): Fix styling of ChipGroup (#7608) 2024-06-04 18:19:31 +02:00
Kasper Fabricius Kristensen 9c44f08e0e fix(dashboard): Paginate Comboboxes in create and edit organization forms (#7602)
**What**
- Paginates comboboxes
- Loads categories relation on details page.
- Fix the endpoint used by client to fetch product tags (temp until we add sdk methods)

Resolves CORE-2073
2024-06-04 15:30:48 +00: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 67c88dfc96 fix(dashboard): styling of shipping profiles domain (#7600)
**What**
- Fixes h2 -> h1 in list view.
- Increases spacing between containers based on new design.

Resolves CORE-2121
2024-06-04 11:26:48 +00:00
Kasper Fabricius Kristensen b299aec620 fix(dashboard): Fix the color of name field (#7518)
RESOLVES CORE-2111
2024-06-03 11:15:50 +00:00
Kasper Fabricius Kristensen e73b6ce691 fix(ui,ui-preset,icons): Fix styling of Select, DropdownMenu, and Checkbox (#7525)
* progress

* progress

* fix: checkbox styling

* fix(ui,ui-preset): Fix the styling of Select, DropdownMenu, and Checkbox

* update ellipse-solid-mini icon

* cleanup
2024-05-29 21:16:54 +02:00
Kasper Fabricius Kristensen e5e5eb6e18 fix(dashboard): Clean Edit Variant form payload of empty strings (#7512)
* fix(dashboard): Clean Edit Variant form paylod of empty strings

* fix(dashboard,medusa): Allow passing null to update variant to unset fields

* fix product edit form

* cleanup

* cleanup

* pass prop
2024-05-29 17:09:40 +02:00
Kasper Fabricius Kristensen 4483b7980d fix(dashboard): Fix the color of general fields (#7519) 2024-05-29 17:09:13 +02:00
Kasper Fabricius Kristensen 01703c155f feat(admin-sdk): Merge users Vite config (#7509)
**What**
- Allows users to customize the Vite config from `admin.vite` in `medusa-config.js`

**How**
```
/** @type {import('@medusajs/types').ConfigModule} */
module.exports = {
  projectConfig,
  admin: {
    backendUrl: "http://localhost:9000",
    // the config param is our default config
    vite: (config) => {
      return {
        define: {
          __TEST__: JSON.stringify("test"), // this will now be defined as a const that can be accessed in widgets
        },
      };
    },
  },
 // ...
};
```

The `vite` param is a callback that takes our default config as a param. If the user does not need to access our config they don't have to use it, as we merge their config with our own, but accessing the default config can be useful in some cases.
2024-05-28 19:16:03 +00:00
Kasper Fabricius Kristensen 5a9922916a feat(dashboard,types,js-sdk): Cleanup collection domain (#7502)
**What**
- Adds missing collection HttpTypes
- Adds missing sdk functions
- Adds usage of sdk to collection domain.
2024-05-28 18:53:55 +00:00
Kasper Fabricius Kristensen 75791f2cbd chore(icons,toolbox): Update icons (#7505) 2024-05-28 19:54:31 +02:00
Kasper Fabricius Kristensen ee0b93078f chore(ui-preset): Update styles (#7507) 2024-05-28 18:49:35 +02:00
Kasper Fabricius Kristensen 76ec10f375 feat(dashboard): Add campaign InjectionZones (#7494) 2024-05-28 11:40:53 +00:00