Commit Graph

40 Commits

Author SHA1 Message Date
Christian
4eb2e8379f feat: create return reason (#8516)
* feat: create and edit return reasons

* add prop to hide data table header

* make return reasons searchable

* hide table header
2024-08-12 07:47:07 +02:00
Stevche Radevski
b539c6d5bb feat: Add support for product export in UI (#8281)
* feat: Add support for product export in UI

* fix:Return the backend URL for private files of local file provider
2024-07-29 21:50:22 +02:00
Kasper Fabricius Kristensen
1d773c536f fix(dashboard,types,js-sdk): Cleanup settings/store (#8336)
**What**
- Cleans up Store domain of all TS errors
- Adds layout component to Store domain
- Adds currencies types and js-sdk methods
- Fixes a bug that caused Table rows to render incorrectly when takings up more then the viewport height.
2024-07-29 19:44:40 +00:00
Kasper Fabricius Kristensen
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
04ec8e758f fix(dashboard): Add safe zone around link Table rows (#8058)
**What**
- After adding Table rows as links there was an issue where clicking close to a Checkbox in a row would click the link. This PR adds a safe zone around the Checkboxes, so you don't end up navigating when trying to select a row.

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

RESOLVES CORE-2566
2024-07-10 10:34:11 +00:00
Kasper Fabricius Kristensen
046a34bdfc feat(dashboard,types,js-sdk,ui): Tax Regions UI (#7935) 2024-07-10 09:26:43 +00:00
Kasper Fabricius Kristensen
24fc6befd2 fix(dashboard): Allow cmd+click on table rows (#8045) 2024-07-09 17:57:09 +02:00
Shahed Nasser
eafa3560ae chore(dashboard): text changes and fixes (#7925)
- Improvements to existing texts
- Add subtitles to sections where useful.
- Added the ability to edit the message shown in a list when no records are found + change the message where necessary
- Change documentation link to `https://docs.medusajs.com/v2`.
2024-07-05 12:14:10 +00:00
Frane Polić
32982e708a fix(dashboard): order list statuses (#7948)
* fix: order list statuses

* refactor: remove todo
2024-07-04 16:17:53 +02:00
Frane Polić
da645e4073 fix(dashboard): reset table scroll on page change (#7916) 2024-07-03 12:43:27 +02:00
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
Stevche Radevski
8e2a42b786 Clean up product typings (#7663)
There are a lot of issues in the admin after applying the correct typings, but fixing those should be done gradually, it's better to keep it out of this PR
2024-06-11 09:28:40 +00:00
Frane Polić
d285e60961 feat(dashboard,core-flows,medusa): update fulfillment flows (#7589)
* fix: fulfillment ops

* fix: cancel fulfillment route

* fix: adjustInventoryLevelsStep throwing

* feat: cancel order and fix endpoint

* fix: type

* feat: order domain sdk

* feat: delete unused file

* fix: import
2024-06-06 08:58:21 +02:00
Frane Polić
39c3f6d92a feat(dashboard): basic Order UI (#7225)
**WHAT**
- rudimentary list and details pages
- fix Order<>Promotion link
- fix Order<>SalesChannel link

**NOTE**
- displaying basic info since we don't have Fulfillments & Payments linked ATM
- `disaply_id` needs to be added to order
- `tax_rate` needs to be added to order

---


https://github.com/medusajs/medusa/assets/16856471/cd4e98c7-345e-4193-8c1e-ad4ed1584993



Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
2024-05-07 07:28:42 +00: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
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
Riqwan Thamir
00e6b21bb5 feat(medusa,dashboard,tax): added tax rates and regions UI (#7026)
whats missing:

- make rules required for overrides
- conditions for other rules
- populating condition reference ids with labels on update

Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
2024-04-16 08:26:12 +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
Oli Juhl
6cc9a5e469 feat: Categories retrieve + list API (#7009) 2024-04-08 19:26:34 +02:00
Frane Polić
58c68f6715 feat(dashboard): Admin UI regions v2 (#6943) 2024-04-06 17:41:54 +02:00
Kasper Fabricius Kristensen
8a5c6928f7 feat(dashboard): Migrate to new hooks and API client (#6963) 2024-04-05 18:27:08 +02:00
Riqwan Thamir
0c0b425de7 feat(medusa-react,medusa,types,dashboard): added empty state + table for promotions list page (#6827)
what:

- adds empty state for promotions list page
- lists all promotions with pagination

<img width="1663" alt="Screenshot 2024-03-26 at 14 19 27" src="https://github.com/medusajs/medusa/assets/5105988/ed0d5c65-d003-40f5-b899-540970d892f5">


<img width="1664" alt="Screenshot 2024-03-27 at 20 46 17" src="https://github.com/medusajs/medusa/assets/5105988/4aa40f09-fe3f-4f34-af7a-f5c183254c76">
2024-03-29 11:22:42 +00:00
Frane Polić
189b03c485 feat(dashboard) admin 3.0 order edit (#6665)
**What**
- added Order Edit creation flow

**NOTES**
- since the state is managed on the server upon changing input / adding items a request is fired to update the edit
- on save we only confirm the edit

---

**TODO**
- [x] item removal functionality

---

https://github.com/medusajs/medusa/assets/16856471/01aa85ea-1fb1-4dff-9cf4-d8d79029c2cc
2024-03-20 07:54:22 +00:00
Frane Polić
a1b4aff127 feat(dashboard): manage discounts conditions (#6620)
**What**
- forms for managing discount conditions

---

https://github.com/medusajs/medusa/assets/16856471/bb0b3fe8-fa60-479b-bc42-6db9d422bcdf





Co-authored-by: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com>
2024-03-15 11:56:23 +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
Shahed Nasser
480b4744af fix(dashboard): fixed some strings (#6686)
Fixed some strings in the admin dashboard.
2024-03-14 15:43:14 +00:00
Kasper Fabricius Kristensen
fb25471e92 feat(dashboard): Reservations and inventory item list pages (#6550)
**What**
- Adds list page for reservations and inventory items
- Adds new String filter type, that allows users to filter by a string, eg. "material === 'metal'"
- Adds new Number filter type, that allows users to filter by a number or numerical comparator, eg. quantity === 10 / quantity is gt 10 and lt 50.
2024-03-11 08:40:25 +00:00
Kasper Fabricius Kristensen
c2d56ca12b feat(medusa,dashboard): Tax settings pages and fixes to list tax rates endpoint (#6606)
**What**
- Adds pages for managing tax settings and tax rates for regions.
- Fixes `list` tax rates endpoint, which was missing pagination, search, order, and filters.

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

CLOSES CORE-1654
2024-03-09 13:19:29 +00:00
Frane Polić
fcb03d60ea feat(dashboard): Discounts details + edits (#6547)
**What**
- Discounts details page
- Edit discount details
- Edit discount configurations
- `ListSummary` component

**NOTE**
- conditions edit form will be implemented in a separate PR
- edit details from is missing metadata component which will be added later

---


https://github.com/medusajs/medusa/assets/16856471/c878af4a-48c2-4c45-b824-662784c7a139
2024-03-06 14:08:15 +00:00
Kasper Fabricius Kristensen
e5dc918be5 feat(dashboard): Order details page (#6538)
**What**
- Adds the different display cards to the order details page. This does not include any of the different forms for editing various aspects of an order.
2024-03-05 13:06:50 +00:00
Kasper Fabricius Kristensen
44a5567d0d feat(dashboard): Regions domain (#6534)
**What**
- Implements new Region domain design
- Adds new SplitView component for managing adding nested relations in FocusModals, eg. adding countries to a region.
- Adds new Combobox component for multi select fields in forms

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

CLOSES CORE-1650, CORE-1671
2024-02-29 13:16:14 +00:00
Frane Polić
608c10383a feat(admin-next) discounts list page (#6490) 2024-02-27 12:33:19 +01:00
Kasper Fabricius Kristensen
72a17d6cd7 feat(dashboard): Rework route modals (#6459)
**What**
- Reworks how RouteModals are setup.

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

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

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

## `@medusajs/medusa`

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

## `medusa-react`

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

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

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

## `@medusajs/icons`

**What**
- Pulls latest icons from Figma

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

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

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

**Note for review**
Since this PR contains updates to the translation keys, it touches a lot of files. For the review the parts that are relevant are: the /gift-cards domain of admin, the table overview of collections, customers, and customer groups. And the changes to the list endpoints in the core.
2024-02-12 13:47:37 +00:00
Kasper Fabricius Kristensen
8cbf6c60fe feat(dashboard): DataTable component (#6297) 2024-02-02 21:56:55 +01:00