Commit Graph
100 Commits
Author SHA1 Message Date
Kasper Fabricius KristensenandGitHub 7f5b9fc5fa feat(medusa,dashboard): Add metadata UI to product tags domain + retrieve metadata by default (#13272) 2025-08-22 07:50:59 +02:00
Kasper Fabricius KristensenandGitHub f441362f4a feat(medusa,core-flows,types,js-sdk): Draft Order workflows and API endpoints (#11805) 2025-04-02 10:23:33 +02:00
Kasper Fabricius KristensenandGitHub 3dba58785f fix(dashboard,medusa,types): allow searching for promotion rule options (#12028)
* fix: allow searching for promotion rule options

* fix: allow searching for promotion rule options

* add changeset

* cleanup
2025-03-28 14:45:05 +01:00
Kasper Fabricius KristensenandGitHub 6d8390a529 fix(dashboard): Allow empty subpaths for route extensions (#12030) 2025-03-28 14:42:51 +01:00
Kasper Fabricius KristensenandGitHub d53af655f0 fix(dashboard): Reduce size of Notifications Trigger (#11955) 2025-03-24 19:03:44 +01:00
Kasper Fabricius KristensenandGitHub c40fb01d92 fix(ui): Disable select cells if the row cannot be selected (#11442) 2025-03-20 11:52:07 +01:00
Kasper Fabricius KristensenandGitHub cc4c5c86e2 chore(ui-preset,icons,dashboard) (#11734)
* update icons

* update ui-preset

* chore(ui-preset,icons): Sync with Figma 5/3/2025

* chore(ui-preset,icons): Sync with Figma
2025-03-17 16:51:57 +01:00
Kasper Fabricius KristensenandGitHub 3063d6e601 fix(dashboard): Include thumbnail in default product query (#11825)
RESOLVES CMRC-984
2025-03-13 16:26:39 +00:00
Kasper Fabricius KristensenandGitHub ec56a8bc85 fix(medusa,utils,test-utils,types,framework,dashboard,admin-vite-plugin,admin-bundler): Fix broken plugin dependencies in development server (#11720)
**What**
- Reworks how admin extensions are loaded from plugins.
- Reworks how extensions are managed internally in the dashboard project.

**Why**
- Previously we loaded extensions from plugins the same way we do for extension found in a users application. This being scanning the source code for possible extensions in `.medusa/server/src/admin`, and including any extensions that were discovered in the final virtual modules.
- This was causing issues with how Vite optimizes dependencies, and would lead to CJS/ESM issues. Not sure of the exact cause of this, but the issue was pinpointed to Vite not being able to register correctly which dependencies to optimize when they were loaded through the virtual module from a plugin in `node_modules`.

**What changed**
- To circumvent the above issue we have changed to a different strategy for loading extensions from plugins. The changes are the following:
  - We now build plugins slightly different, if a plugin has admin extensions we now build those to `.medusa/server/src/admin/index.mjs` and `.medusa/server/src/admin/index.js` for a ESM and CJS build.
  - When determining how to load extensions from a source we follow these rules:
    - If the source has a `medusa-plugin-options.json` or is the root application we determine that it is a `local` extension source, and load extensions as previously through a virtual module.
    - If it has neither of the above, but has a `./admin` export in its package.json then we determine that it is a `package` extension, and we update the entry point for the dashboard to import the package and pass its extensions a long to the dashboard manager.

**Changes required by plugin authors**
- The change has no breaking changes, but requires plugin authors to update the `package.json` of their plugins to also include a `./admin` export. It should look like this:

```json
{
  "name": "@medusajs/plugin",
  "version": "0.0.1",
  "description": "A starter for Medusa plugins.",
  "author": "Medusa (https://medusajs.com)",
  "license": "MIT",
  "files": [
    ".medusa/server"
  ],
  "exports": {
    "./package.json": "./package.json",
    "./workflows": "./.medusa/server/src/workflows/index.js",
    "./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
    "./modules/*": "./.medusa/server/src/modules/*/index.js",
    "./providers/*": "./.medusa/server/src/providers/*/index.js",
    "./*": "./.medusa/server/src/*.js",
    "./admin": {
      "import": "./.medusa/server/src/admin/index.mjs",
      "require": "./.medusa/server/src/admin/index.js",
      "default": "./.medusa/server/src/admin/index.js"
    }
  },
}
```
2025-03-11 11:28:33 +00:00
Kasper Fabricius KristensenandGitHub 62e429178f fix(medusa): Use correct query config (#11789) 2025-03-10 13:13:46 +00:00
Kasper Fabricius KristensenandGitHub 90964a404e fix(medusa): Apply middleware to GET customers/:id/addresses/:address_id (#11788) 2025-03-10 11:31:19 +00:00
Kasper Fabricius KristensenandGitHub c28ae573e5 fix(dashboard): Use derived state in DataTable (#11487)
**What**
- Uses derived state in DataTable, to prevent the state in the URL and component from going out of sync.
- Introduces a way for RouteModals to restore URL params on close.

Resolves CMRC-936
2025-03-03 14:18:19 +00:00
Kasper Fabricius KristensenandGitHub d814d9540e fix(types): Allow providing either vite@5 or vite@6 for the peer dependency (#11581)
**What**
- The types package has an optional peerDep on vite@5. This causes issues if the package is installed in a repo that has vite@6 installed. An example could be a `react-router/remix` storefront.
- Loosen the dependency to accept either vite@5 or vite@6.

Resolves SUP-970
2025-02-25 18:59:38 +00:00
Kasper Fabricius KristensenandGitHub f00e6bf660 fix(js-sdk): Export Draft Order methods (#11572) 2025-02-24 10:30:07 +01:00
efd66c0d59 fix(core-flows): Allow adding shipping methods through order edits (#11504)
* fix(core-flows): Allow adding shipping methods through order edits

* fix(core-flows): Allow adding shipping methods through order edits

* update test description

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-02-23 16:06:54 +01:00
Kasper Fabricius KristensenandGitHub 3b4997840e fix(medusa,js-sdk,types): Add basic draft order operations to js-sdk (#11514)
**What**
- Exposes `sdk.admin.draftOrder.create/update/retrieve/list` functions from the js-sdk
- Implements the necessary types in the types package.
- Adds missing endpoints to admin API.
2025-02-20 16:05:21 +00:00
Kasper Fabricius KristensenandGitHub 3b69f5a105 fix(dashboard): Properly delete metadata keys, and fix number parsing (#11466)
**What**
- Fixes an issue where we would parse a string like `"52 tests"` into `52` in the Metadata form
- If a row is deleted we now send off key with an empty string as its value to signify that it should be deleted. This is needed to introduce the API we had for updating metadata in V1. Adrien is implementing the BE support for this.

RESOLVES SUP-895
2025-02-18 10:28:24 +00:00
Kasper Fabricius KristensenandGitHub 06cc658246 fix(dashboard): Allow using the Enter key in product create Textarea (#11488)
Resolves SUP-911
2025-02-18 10:21:26 +00:00
Kasper Fabricius KristensenandGitHub b53ea77658 feat(ui,dashboard): Move InlineTip to UI package (#11462) 2025-02-17 09:16:29 +00:00
Kasper Fabricius KristensenandGitHub 03b8bda1ba fix(dashboard): Fix size of buttons and use Link to navigate (#11366)
**What**
- Fixes the wrong `size` being used for the allocate items button.
- Updates the buttons that link to somewhere to use a Link and asChild instead of an onClick.
2025-02-14 15:19:31 +00:00
Kasper Fabricius KristensenandGitHub b37010857a fix(core-flows): Fix line item ids passed to deleteReservationsByLineItemsStep (#11465) 2025-02-14 15:10:52 +01:00
Kasper Fabricius KristensenandGitHub 825b8ad260 fix(medusa): Allow filtering by handle and title as arrays (#11472)
**What**
- Allows filtering products in the Store API with an array value for both `handle` and `title`.

RESOLVES SUP-893
2025-02-14 14:10:32 +00:00
Kasper Fabricius KristensenandGitHub a88f6576bd feat(dashboard,admin-vite-plugin): Add support for outlet routes, loader, and handle (#11305)
**What**
- Add support for defining outlet routes using `@`, e.g. `/src/admin/routes/brands/@create/page.tsx`
- Add support for exporting a `loader` from a route file.
- Add support for exporting a `handle` from a route file.

Example usage of a loader and handle:

```tsx
// src/admin/routes/articles/[id]/page.tsx
import { Button, Container, Heading } from "@medusajs/ui";
import {
  Link,
  LoaderFunctionArgs,
  Outlet,
  UIMatch,
  useLoaderData,
} from "react-router-dom";

export async function loader({ params }: LoaderFunctionArgs) {
  const { id } = params;

  return {
    id,
  };
}

export const handle = {
  breadcrumb: (match: UIMatch<{ id: string }>) => {
    const { id } = match.params;
    return `#${id}`;
  },
};

const ProfilePage = () => {
  const { id } = useLoaderData() as Awaited<ReturnType<typeof loader>>;

  return (
    <div>
      <Container className="flex justify-between items-center">
        <Heading>Article {id}</Heading>
        <Button size="small" variant="secondary" asChild>
          <Link to="edit">Edit</Link>
        </Button>
      </Container>
      {/* This will be used for the next example of an Outlet route */}
      <Outlet />
    </div>
  );
};

export default ProfilePage;
```

In the above example we are passing data to the route from a loader, and defining a breadcrumb using the handle.

Example of a outlet route:

```tsx
// src/admin/routes/articles/[id]/@edit/page.tsx
import { Button, Container, Heading } from "@medusajs/ui";

const ProfileEditPage = () => {
  return (
    <div>
      {/* Form goes here */}
    </div>
  );
};

export default ProfileEditPage;
```
This outlet route will be rendered in the <Outlet /> in the above example when the URL is /articles/1/edit

Resolves CMRC-913, CMRC-914, CMRC-915
2025-02-13 20:37:55 +00:00
Kasper Fabricius KristensenandGitHub 681121bb19 fix(medusa): Fix draft order validator, and endpoint (#11398)
Resolves CMRC-925, CMRC-924
2025-02-13 08:06:11 +00:00
Kasper Fabricius KristensenandGitHub a039dd6932 chore(admin-sdk): Pin Zod version (#11413)
**What**
In order to prevent multiple version to exists and that might not be compatible with one another, we fix the zod package version in the admin-sdk in complement to the starter
2025-02-12 10:30:46 +00:00
Kasper Fabricius KristensenandGitHub 47edd01dee fix(admin-vite-plugin,admin-bundler,ui,icons,dashboard,framework,types): Update Vite dependencies (#11414)
**What**
- Bumps the versions of Vite across the entire stack, to prevent an issue similar to what is described here: https://github.com/vitejs/vite/discussions/18271

Not entirely sure what was happening as I couldn't reproduce the issue, but Adrien faced the issue yesterday when working with local versions of our packages. It does appear as if the range we had before could lead to a version of Vite to be installed with said bug.
2025-02-12 10:09:39 +00:00
Kasper Fabricius KristensenandGitHub 3dbef519d9 fix(admin-vite-plugin,icons,ui,dashboard): Upgrade vitest in all packages and align Vite version (#11361) 2025-02-09 11:46:50 +01:00
Kasper Fabricius KristensenandGitHub d00825485f feat(ui,dashboard): Move Divider component to UI package (#11357) 2025-02-09 11:46:30 +01:00
Kasper Fabricius KristensenandGitHub acefcd7d80 fix(core-flows): Fix broken import of MedusaError (#11362) 2025-02-07 16:17:52 +00:00
Kasper Fabricius KristensenandGitHub fcd3e2226e feat(ui,dashboard): Migrate SC tables to DataTable (#11106) 2025-02-07 14:26:49 +00:00
Kasper Fabricius KristensenandGitHub 211997b137 fix(dashboard): Remove wrongful import of utils function (#11338)
Resolves SUP-819
2025-02-06 17:14:50 +00:00
f13c1215cb fix(cli): If NODE_ENV is not defined then default to production for medusa start (#11325)
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-02-06 17:56:29 +01:00
Kasper Fabricius KristensenandGitHub 7d208afb07 fix(dashboard): Ensure conditional prices are assigned to region (#11335) 2025-02-06 16:55:11 +01:00
Kasper Fabricius KristensenandGitHub 6db96c80d0 fix(ui,types): Add Metadata form for collection (#11300)
**What**
- Adds missing Metadata form for collections
- Fixes type of metadata in update payload
- Fixes an issue where deleting the last row of a metadata form would prevent adding new ones.

Resolves SUP-784
2025-02-05 12:53:30 +00:00
Kasper Fabricius KristensenandGitHub 3cf4307296 fix(ui): Prevent Command from triggering while a editable field has focus (#11254)
Resolves CMRC-909
2025-02-04 10:09:07 +00:00
Kasper Fabricius KristensenandGitHub f07af7b93c fix(dashboard,core-flows,types,medusa): Allow editing Order metadata (#11285)
Resolves SUP-780
2025-02-04 10:08:20 +00:00
9822bd930b chore(ui,dashboard): Use radix-ui package (#11195)
* update deps for ui

* chore(ui,dashboard): Use radix-ui package

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-02-02 14:20:34 +01:00
Kasper Fabricius KristensenandGitHub 51d2960a57 fix(dashboard): Allow admins to update default Sales Channel and Stock Location (#11196)
**Note** The huge diff is because the i18n schema wasn't formatted properly again. Not sure how that happened with the update to the script but perhaps someone didn't update their branch to include the change to format the schema on creation.
2025-01-29 16:14:47 +00:00
Kasper Fabricius KristensenandGitHub 65d8d6dc0e fix(js-sdk,admin-bundler): Fix qs import (#11172) 2025-01-27 15:00:18 +00:00
Kasper Fabricius KristensenandGitHub 4eecda5466 fix(dashboard): Format i18n schema with Prettier (#11107)
**What**
- Formats the schema that is generated by `yarn i18n:schema`. 
- Ensures we don't end up with huge diffs if one team member forgets to format the schema in one PR, and the schema is then updated and formatted later on.
2025-01-23 14:47:25 +00:00
Kasper Fabricius KristensenandGitHub 57892bee00 fix(admin-bundler): Optimize tanstack/react-query (#11112) 2025-01-23 14:10:10 +00:00
Kasper Fabricius KristensenandGitHub 6346836c2d feat(dashboard): Refactor Users table to use the new DataTable block (#11058)
**What**
- Updates the Users table to use the new DataTable
- Fixes an issue where initial parsing of URL filters weren't formatted correctly.
2025-01-22 13:19:23 +00:00
Kasper Fabricius KristensenandGitHub 0bef3202f3 fix(dashboard): Add global errorElement (#10981)
Resolves CMRC-627

**What**
- If the session expired, and the user then navigated to a route with no loader the request for the user info in the sidebar would fail causing the app to crash as we didn't have an errorElement wrapping the app shell.
- This PR adds a top level errorElement which handles errors that are outside of a page context, such as in the sidebar.
2025-01-22 12:47:17 +00:00
Kasper Fabricius KristensenandGitHub 7feb004600 fix(ui): Fix position of Checkbox indicator (#11075)
**What**
- Fixes an issue that would cause the Checkbox indicator to get rendered outside of view in the checkbox was wrapped in a relative div.
2025-01-22 11:08:32 +00:00
Kasper Fabricius KristensenandGitHub c400719fcc fix(dashboard): Persist variant_rank (#11074)
**What**
- Sends variant_rank to the backend
- Sorts variant table by variant_rank if no other order is selected.

We have a project planned for implementing variant_rank correctly, and adding UI for managing the rank after product creation. This PR handles none of that, as it should be handled as part of said project. This PR simply makes the field useable until then.

Resolves CMRC-859
2025-01-22 10:32:24 +00:00
Kasper Fabricius KristensenandGitHub b9c469a6d4 fix(admin-bundler): Fix Vite imports to prevent deprecation warnings (#11086) 2025-01-22 10:55:18 +01:00
Kasper Fabricius KristensenandGitHub 83c91f1186 fix(dashboard): Use date util to properly format date in order details view (#11073)
Resolves CMRC-858
2025-01-22 07:43:51 +00:00
Kasper Fabricius KristensenandGitHub d4e042e9ad fix(dashboard,js-sdk,types): Remove redundant body for markAsDelivered (#10964)
Resolves CMRC-623
2025-01-20 17:17:48 +00:00
Kasper Fabricius KristensenandGitHub 147c0e5a35 feat(ui,dashboard): Add DataTable block (#10024)
**What**
- Adds opinionated DataTable block to `@medusajs/ui` 
- Adds new DataTable to `@medusajs/dashboard` that uses the above mentioned block as the primitive.

The PR also replaces the table on /customer-groups and the variants table on /products/:id with the new DataTable, to provide an example of it's usage. The previous DataTable component has been renamed to `_DataTable` and has been deprecated.

**Note**
This PR has a lot of LOC. 5,346 of these changes are the fr.json file, which wasn't formatted correctly before. When adding the new translations needed for this PR the file was formatted which caused each line to change to have the proper indentation.

Resolves CMRC-333
2025-01-20 13:26:12 +00:00
2a25b4d95f chore(dashboard,icons): Update icons and switch icon in CategoryTree (#10961)
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-01-15 12:57:43 -05:00
Kasper Fabricius KristensenandGitHub 4bc3f5b845 feat(medusa,framework,cli,admin-bundler): Integrate admin extensions into medusa build:plugin (#10941)
**What**
Calls the `plugin` script from `@medusajs/admin-bundler` as part of `medusa plugin:build`.
2025-01-13 20:48:55 +00:00
Kasper Fabricius KristensenandGitHub 1ba2fadf22 feat(admin-bundler,admin-vite-plugin,medusa): Add support for loading Admin Extensions from plugins (#10869)
Should not be merged before https://github.com/medusajs/medusa/pull/10895

**What**
- Introduces a new `plugin` command to `admin-bundler`, currently not used anywhere but will be called from `medusa build:plugin`
- Discovers plugins with extensions and add passes the to `admin-vite-plugin`.
- Updates `admin-vite-plugin` so its able to read built admin extensions.

Resolves CMRC-830, CMRC-839
2025-01-13 10:45:33 +00:00
Kasper Fabricius KristensenandGitHub bc22b81cdf feat(inventory,dashboard,types,core-flows,js-sdk,medusa): Improve inventory UX (#10630)
* feat(dashboard): Add UI for bulk editing inventory stock (#10556)

* progress

* cleanup types

* add changeset

* fix 0 values

* format schema

* add delete event and allow copy/pasting enabled for some fields

* add response types

* add tests

* work on fixing setValue behaviour

* cleanup toggle logic

* add loading state

* format schema

* add support for bidirectional actions in DataGrid and update Checkbox and RadioGroup

* update lock

* lint

* fix 404

* address feedback

* update cursor on bidirectional select
2025-01-12 19:07:14 -05:00
Kasper Fabricius KristensenandGitHub a625bce7b0 fix(pricing): PriceLists of type Sale should not override lower prices (#10882)
Resolves CMRC-840
2025-01-09 10:07:15 +00:00
Kasper Fabricius KristensenandGitHub f7aaf2c8bb chore(ui,icons): Add React 19/19-rc to peer dependencies (#10458)
Resolves SUP-478
2024-12-20 12:18:30 +00:00
Kasper Fabricius KristensenandGitHub dc5e73af4d fix(dashboard): Prevent fulfillment provider modal from re-rendering before form submission is complete (#10547)
Resolves CMRC-782
2024-12-11 13:10:58 +00:00
Kasper Fabricius KristensenandGitHub 16192d9b30 fix(product): Only apply default order to products if user has not specified one (#10535) 2024-12-10 16:57:11 +00:00
Kasper Fabricius KristensenandGitHub de81187929 fix(dashboard): Add FE validation for conditional prices (#10523)
* fix(dashboard): Add FE validation for conditional prices

* fix(dashboard): Add FE validation for conditional prices

* lint

* only set error on one field

* fix which field shows error
2024-12-10 11:57:10 +01:00
Kasper Fabricius KristensenandGitHub c9a66b19af fix(dashboard,ui): ConditionBlock styling (#10481)
**What**
- Resolves CMRC-58
- Also fixes some other issues, TS errors, Eslint warnings etc. in the Promotion domain. There are still several TS errors as the return types from `@medusajs/types` don't seem to match how they are used here, but I have left that as is, as I am not super familiar with the Promotion module.
2024-12-09 17:42:19 +00:00
Kasper Fabricius KristensenandGitHub a1a1e0e789 feat(dashboard): SO cart item total rules UI (#10386) 2024-12-09 09:44:11 +01:00
Kasper Fabricius KristensenandGitHub 864f53011b fix(dashboard,types): Fix TS errors (#10457)
**What**
- Fixes TS erros in dashboard project
- Updates incorrect HTTP Invite types
- Fixes incorrectly formatted dates in dashboard
2024-12-08 11:51:13 +00:00
Kasper Fabricius KristensenandGitHub 7e04091b49 fix(dashboard): Prevent sending off empty string as handle for product category (#10473) 2024-12-06 12:33:18 +01:00
Kasper Fabricius KristensenandGitHub 2b455b15a6 fix(dashboard): Cleanup unsafe accesses to possibly undefined values in order timeline (#10454)
**What**
- Fixes an unsafe access to a field that may be undefined if an order was created through a custom workflow.
2024-12-05 15:51:35 +00:00
Kasper Fabricius KristensenandGitHub 16663ec813 fix(dashboard,types): Add missing Metadata form for Region domain and fix payload types (#10449) 2024-12-05 14:03:29 +00:00
Kasper Fabricius KristensenandGitHub 3d5ca155e3 fix(dashboard): Prevent order details page from crashing on no region (#10431)
Resolves SUP-356
2024-12-04 16:18:54 +00:00
Kasper Fabricius KristensenandGitHub c6f955f0b5 fix(dashboard): Add Shipping Profile metadata route (#10430) 2024-12-04 17:09:44 +01:00
Kasper Fabricius KristensenandGitHub a5263083fa fix(framework): Ensure that CORS and Auth middleware is applied for routes only defined in middlewares.ts (#10339) 2024-12-04 14:49:43 +01:00
Kasper Fabricius KristensenandGitHub a5c8cc992c fix(dashboard): Prevent language ptBR from breaking dashboard (#10422) 2024-12-04 10:44:04 +01:00
e8f4f7ea2b fix(dashboard): Add default value to inventory item combobox (#10412)
**What**
- Resolves CMRC-761
- Fixes TS errors in the same file.

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2024-12-03 18:03:54 +00:00
Kasper Fabricius KristensenandGitHub 18583ed567 fix(dashboard): Fix broken number input in adjust inventory form (#10416) 2024-12-03 18:36:20 +01:00
Kasper Fabricius KristensenandGitHub 4e7d242a78 fix(stock-location): Fix export of StockLocation module (#10406) 2024-12-03 18:35:52 +01:00
Kasper Fabricius KristensenandGitHub 94f6265dfc fix(ui,icons,ui-preset): Fix CodeBlock and Command components (#10369) 2024-11-29 17:30:25 +01:00
Kasper Fabricius KristensenandGitHub 0be25a7b69 chore(dashboard): Add missing keys to i18n translation files (#10260)
**What**
- Updates existing translation files with missing keys. Done using AI, so quality is debatable. Will depend on community to provide better translations if needed.
2024-11-27 13:24:59 +00:00
Kasper Fabricius KristensenandGitHub 2edc2fe19b fix(dashboard): Prevent product metadata form from throwing error (#10312)
Resolves CMRC-755
2024-11-27 13:20:12 +00:00
Kasper Fabricius KristensenandGitHub 030ee87150 fix(dashboard): Align casing of fields in reset password event (#10313)
* fix(dashboard): Align casing of fields in reset password event

* update changeset
2024-11-27 13:06:04 +01:00
Kasper Fabricius KristensenandGitHub da536aba24 fix(dashboard): Truncate long product organization tags (#10261)
Resolves CMRC-736
2024-11-26 12:00:25 +00:00
Kasper Fabricius KristensenandGitHub 344a6c9ea0 fix(dashboard): Add Metadata form to variant page (#10285)
Adds Metadata form to the Product Variant details page.
2024-11-26 11:40:07 +00:00
Kasper Fabricius KristensenandGitHub 3ab056e572 feat(dashboard): Allow setting a tooltip for disabled action items (#10234)
**What**
- Allow passing a `disabledTooltip` for actions in a `ActionMenu`. Useful for providing context for the user why a option is disabled. E.g. `{ disabled: sales_channel.is_default, disabledTooltip: "Deleting the default Sales Channel is not allowed. Please assign a different default Sales Channel for your store". }`
2024-11-25 13:01:26 +00:00
Kasper Fabricius KristensenandGitHub c28d0db164 fix(product, dashboard): manual cleanup of uploaded images (#10254)
* manual cleanup

* add changeset

* remove thumbnail on deletion
2024-11-25 11:44:22 +01:00
1659c9be5d feat(product,dashboard): Allow re-ordering images (#10187)
* migration

* fix snapshot

* primarykey

* init work on dnd

* progress

* dnd

* undo changes

* undo changes

* undo changes

* undo changes

* fix firefox issue

* lint

* lint

* lint

* add changeset

* undo changes to product module

* set activator node

* init work on service layer

* alternative

* switch to OneToMany

* add tests

* progress

* update migration

* update approach and remove all references to images in product.ts tests

* handle delete images on empty array

* fix config and order type

* update changeset

* rm flag

* export type and fix type in test

* fix type

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2024-11-25 09:03:10 +01:00
Kasper Fabricius KristensenandGitHub 96b8963a6c fix(admin-vite-plugin): Move @babel/types to dependencies from devDependencies to make it compatible with Yarn PnP (#10236) 2024-11-22 20:49:35 +00:00
Kasper Fabricius KristensenandGitHub d6ff8d7aa1 fix(js-sdk): Preserve path in baseUrl (#10222)
**What**
- Currently the `js-sdk` will discard the path in the `baseUrl` and only use the `origin`. As an example passing a `baseUrl` of `"http://localhost:9000/custom/path"`, will result in only `"http://localhost:9000"` being used.
- This PR preserves the path, so using `sdk.admin.products()` will make a request to `"http://localhost:9000/custom/path/admin/products`. For an explanation of when this might be useful see this issue: https://github.com/medusajs/medusa/issues/10190#issuecomment-2492974845

Resolves CMRC-740
2024-11-22 14:52:54 +00:00
Kasper Fabricius KristensenandGitHub 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 KristensenandGitHub 8ed3d87c23 fix(dashboard): Add missing inventory list zones (#10117)
Resolves CMRC-710
2024-11-15 13:09:26 +00:00
Kasper Fabricius KristensenandGitHub 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 KristensenandGitHub 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
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 KristensenandGitHub 34f4f695c0 fix(types): Add AdminBatchUpdateProductVariant type (#10009) 2024-11-11 19:30:44 +01:00
Kasper Fabricius KristensenandGitHub 49f3f0cd54 fix(dashboard): Reduce data loaded by product details page (#9991) 2024-11-10 08:33:36 +01:00
Kasper Fabricius KristensenandGitHub 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 KristensenandGitHub 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 KristensenandGitHub a0034a0fef fix(dashboard): Allow float values for product prices (#9859) 2024-11-04 09:04:29 +01:00
Kasper Fabricius KristensenandGitHub 59e6747800 feat(dashboard,ui): DateFilter should open correctly (#9775) 2024-10-24 17:28:03 +02:00
Kasper Fabricius KristensenandGitHub 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 KristensenandGitHub 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 KristensenandGitHub 68cb7d0b27 fix(admin-vite-plugin): Generate correct UI Route tree (#9699) 2024-10-22 10:55:16 +02:00
Kasper Fabricius KristensenandGitHub 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 KristensenandGitHub 7cc599a68c fix(dasboard): Grammer issues on invite page (#9683) 2024-10-21 10:01:22 +02:00
Kasper Fabricius KristensenandGitHub 82e32f9da4 test(admin-vite-plugin): React Invalid hook call on Windows (#9647) 2024-10-18 09:38:28 +00:00
Kasper Fabricius KristensenandGitHub 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