Commit Graph
100 Commits
Author SHA1 Message Date
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
Kasper Fabricius Kristensen 164bb988e7 fix(dashboard): Make Region header h1 (#7485)
Closes CORE-2113
2024-05-28 08:56:08 +00:00
Kasper Fabricius Kristensen 9d3c7829bc fix(dashboard): Styling of dashed divider (#7483) 2024-05-28 08:48:26 +02:00
Kasper Fabricius Kristensen 2f20dbd50d fix(ui): Add checked style to RadioGroup.ChoiceBox (#7479)
<img width="362" alt="image" src="https://github.com/medusajs/medusa/assets/45367945/441ffdb3-557e-4eea-9fc0-b09a7a9e9d4a">

**What**
- Adds checked active shadow to component
- Cleans up usage of component in promotion domain

CLOSES CORE-2101, CORE-2075
2024-05-27 21:00:24 +00:00
Kasper Fabricius Kristensen 729c34b016 fix(dashboard): Users list styling (#7482)
CLOSES CORE-2109
2024-05-27 20:28:24 +00:00
Kasper Fabricius Kristensen e7091cfbb7 fix(dashboard): Profile styling (#7481) 2024-05-27 22:11:54 +02:00
Kasper Fabricius Kristensen 2efa016c6e feat(dashboard,admin-shared): Last injection zones (#7478)
* add reservations

* add final injection zones
2024-05-27 19:38:26 +02:00
Kasper Fabricius Kristensen eeb063ebdf fix(types): Export DetailWidgetProps (#7469)
* rename folder to ui, as admin breaks paths in integration tests for some reason

* rename to admin
2024-05-27 18:20:40 +02:00
Kasper Fabricius Kristensen 81c27e3524 feat(dashboard,admin-shared): InjectionZones for Profile, Store, Users and Login (#7471) 2024-05-27 15:45:51 +00:00
Kasper Fabricius Kristensen ab2e8fcd45 feat(dashboard,ui,types,admin-shared): Add more extension zones + pass data to widgets (#7465) 2024-05-27 12:47:12 +02:00
Kasper Fabricius Kristensen 0b0e210f67 feat(dashboard,admin-shared): Add injection zones to regions, shipping profiles, and locations (#7467) 2024-05-27 12:46:58 +02:00
Kasper Fabricius Kristensen b4a02413e2 feat(dashboard,admin-shared): Add more injection zones (orders, collections, categories) (#7447)
* add more injection zones

* fix position
2024-05-26 20:30:20 +02:00
Kasper Fabricius Kristensen 066fd3c3d2 feat(dashboard): Add more injection zones (customer, customer groups) (#7448) 2024-05-24 14:19:33 +00:00
Kasper Fabricius Kristensen 253bec655c fix(admin-sdk): Remove polyfills and unused dependencies (#7434) 2024-05-23 22:02:40 +02:00
Kasper Fabricius Kristensen 6ec6e2c7b6 feat(dashboard,admin-vite-plugin): Add product zones and fix zone change effect (#7427)
**What**
- Adds injection zones to the product domain.
- Fixes an issue where changing the `zone` in a widget config to another valid widget would not trigger a HMR event.
- Fixes an issue where UI Routes would not work in production.
2024-05-23 19:13:42 +00:00
Kasper Fabricius Kristensen 4a10821bfe fix(admin-next): add admin packages to changeset (#7426) 2024-05-23 15:16:19 +02:00
Kasper Fabricius Kristensen f1176a0673 feat(dashboard,admin-sdk,admin-shared,admin-vite-plugin): Add support for UI extensions (#7383)
* intial work

* update lock

* add routes and fix HMR of configs

* cleanup

* rm imports

* rm debug from plugin

* address feedback

* address feedback
2024-05-23 14:02:19 +02:00
Kasper Fabricius Kristensen 521c252dee chore(dashboard): Delete old translation files (#7423) 2024-05-23 14:00:39 +02:00
Kasper Fabricius Kristensen e01472aae6 chore(dashboard): Remove v1 code and medusa-react (#7420) 2024-05-23 09:40:30 +00:00
Kasper Fabricius Kristensen ccf335fcf4 fix(dashboard): settings navigation loop (#7412)
* fix: settings navigation loop

* fix comment
2024-05-23 10:07:10 +02:00
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