Commit Graph

311 Commits

Author SHA1 Message Date
Sebastian Rindom
c717535ca2 feat(admin): add configurable order views (#13211)
Adds support for configurable order views.

https://github.com/user-attachments/assets/ed4a5f61-1667-4ed7-9478-423894f3eba6
2025-09-01 17:04:18 +00:00
Sebastian Rindom
5a46372afd Feat/datatable core enhancements (#13193)
**What**

This PR adds core DataTable enhancements to support view configurations in the admin dashboard. This is part of a set of stacked PRs to add the feature to Medusa.

- Puts handlers in place to update the visible columns in a table and the order in which they appear.
- Adds a ViewPills component for displaying and switching between saved view configurations
- Integrated view configuration hooks (useViewConfigurations) with the DataTable

Note: Column drag-and-drop reordering and the column visibility UI controls are not included in this PR as they require additional UI library updates - which will come in the next PR.

Example of what this looks like with the feature flag turned on - note the view pills with "default" in the top. This will expand when the data table behavior adds configuration.
<img width="2492" height="758" alt="CleanShot 2025-08-13 at 2  31 35@2x" src="https://github.com/user-attachments/assets/ee770f1c-dae1-49da-b255-1a6d615789de" />
2025-09-01 10:30:05 +00:00
Sebastian Rindom
fa10c78ed3 feat(admin): add view configuration client infrastructure (#13186)
This is part of stacked PRs to add a view configuration feature which will allow users to customize the columns seen in tables in the Medusa Admin dashboard.

**What**
- Adds client providers, sdk methods and hooks for interacting with the views api.
2025-09-01 09:20:37 +00:00
Riqwan Thamir
ca038ff583 feat(promotion): Allow buyget promotion to apply multiple times on cart (#13305)
what:

Introduces 2 new features to promotion module:

1. Introduce max quantity limit to promotion application - This will limit the application of the promotion based on the quantity of the target products in the cart. 
2. When applying buy get promotions, we will now apply buyget promotion until eligible items are exhausted or max quantity is reached. 

```
- Buy 2 t-shirts, Get 1 sweater
- Max quantity -> 1

This means you can add two t-shirts, and get 1 sweaters for free. However, if you add four t-shirts, you only get one sweater for free.
```

```
- Buy 2 t-shirts, Get 1 sweater
- Max quantity -> 3

This means you can add six t-shirts, and get three sweaters for free. However, if you add eight t-shirts, you only get three sweaters for free
```

```
- Buy 4 t-shirts, Get 2 sweater
- Max quantity -> 1

This should throw on creation, as the max quantity should as a minimum be the same value as the target rule quantity
```

RESOLVES SUP-2357 / https://github.com/medusajs/medusa/issues/13265
2025-08-31 13:35:36 +00:00
Frane Polić
f53f027ce6 fix(dashboard): rules form operator change (#13324)
**What**
- fix condition rules form sometimes rendering multi and single selects unrelated to the attribute operator selected
- reset rule value when operator is changed
- disable selecting rule values untill operator is selected
- translate labels
2025-08-29 15:53:00 +00:00
William Bouchard
65dfcf9be4 chore(dashboard): move shipping option type page (#13323)
* chore(dashboard): move shipping option type page

* small issue with the toast for edit
2025-08-28 15:31:51 +02:00
Frane Polić
87a61baf8f fix(dashboard): handle large resource count in tax rule override edit form (#13297)
* fix(dashboard): handle larege resource count in tax rule override edit form

* fix: typo

* fix: rm log
2025-08-26 10:45:27 +02:00
William Bouchard
486621383a feat(dashboard,core,modules): free shipping promotion in dashboard (#13263)
* feat(dashboard,core,modules): free shipping promotion in dashboard

* self-review

* adapt for edit to work

* changeset

* integration tests

* across for each

* remove only from tests

* remove console log

* revert to across

* update wording for shipping promotions

* modify changeset

* suggestion frane

* fix i18n schema
2025-08-22 16:30:30 -04:00
Patryk Spychalski
36c20ed188 fix(dashboard): fix translations for polish (#13266)
* remove unused translations

* add missing translations

* Revert "remove unused translations"

This reverts commit 99eaeb4d199c6ececdeed127b1a237f1ff140151.

* changeset
2025-08-22 10:52:15 +02:00
Kasper Fabricius Kristensen
7f5b9fc5fa feat(medusa,dashboard): Add metadata UI to product tags domain + retrieve metadata by default (#13272) 2025-08-22 07:50:59 +02:00
Frane Polić
2d62e28913 fix(dashboard): show fulfilment option on SO edit (#13269)
* fix(dashboard): show fulfilment option on SO edit

* fix: validation
2025-08-21 22:34:26 +02:00
Lars Decker
e7b45f5fde chore: Improve German Admin Translations (de.json) (#13219)
* Change some german translations

* Update some german translations

* Add changeset

* Change the changeset

---------

Co-authored-by: William Bouchard <46496014+willbouch@users.noreply.github.com>
2025-08-21 15:58:54 +02:00
Frane Polić
319a941d99 fix(dashboard): zero in float currency inputs (#13267)
CLOSES AI-38
2025-08-21 11:07:10 +00:00
Frane Polić
492e018957 feat(dashboard, core-flows, js-sdk, types, medusa): listing order's shipping options (#13242)
* feat(dashboard, core-flows,js-sdk,types,medusa): listing order's shipping option

* fix: typo

* chore: migrate claim form

* fix: cleanup rule logic

* feat: add test case, rm params

* fix: expand location name
2025-08-21 13:01:27 +02:00
Frane Polić
9b38b750de feat(dashboard): shipping option tax rate overrides UI (#13260)
* feat(dashboard): shipping option tax rate overrides UI

* feat: add location filter

* feat: show service zone in SO table

* feat: display location in the SO table
2025-08-21 12:06:36 +02:00
Frane Polić
5b7a041246 chore(ui): move toast to top right (#13092)
* chore(ui): display toast in top right corner

* fix: error as well

* refactor: feedback

* chore: move the rest of the modal controls to footer

---------

Co-authored-by: William Bouchard <46496014+willbouch@users.noreply.github.com>
2025-08-20 08:39:45 +02:00
Frane Polić
2f594291ad fix(core-flows, dashboard, types): improve allocation flows on Admin (#12572)
**What**
- handle single inventory items with `required_quantity > 1` correctly in the allocate UI flow
- display correct availability amount in the create fulullment form for inventory kit items
- fix check in the create fulfillment flow that would allow negative reservation because `required_quantity` wasn't included in the check
- show the most recent reservations first in the reservations table
- display an error in the allocation form if a reservation is not created for some inventory items 
- display inventory kit in the order summary if the product has multiple same inventory items

---

CLOSES SUP-1655
2025-08-19 18:48:24 +00:00
William Bouchard
67d3660abf feat(dashboard, core-flows): associate shipping option to type (#13226)
* feat(dashboard, core-flows): allow associating shipping option type to a shipping option

* edit as well

* fix translation schema

* fix some tests

* changeset

* add new test to update shipping option type

* add new test to create shipping option with shipping option type

* pr comments

* pr comments

* rename variable

* make zod great again
2025-08-19 11:02:36 -04:00
Frane Polić
c6b836bb03 fix(dashboard): create product selected inventory item display (#13111)
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-18 19:30:56 +02:00
Frane Polić
20b8187e2a fix(dashboard): table inclusive date filter (#13053)
**What**
- make end date inclusive for search results

---

https://github.com/user-attachments/assets/8367ffd1-e882-44a9-a876-a8e4731a6cd5

---

CLOSES CMRC-1072
2025-08-18 12:55:39 +00:00
Frane Polić
6d8e4acdc7 chore(dashboard): migrate location levels table (#12624)
* chore: migrate location levels table

* fix: page size

* fix: disable sorting by available quantity

* wip: migrate fulfillment location combobox

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-08-18 14:50:52 +02:00
Sebastian Rindom
ab795bb0a2 feat: view config feature flag (#13171)
* feat: add view_configurations feature flag

  - Add feature flag provider and hooks to admin dashboard
  - Add backend API endpoint for feature flags
  - Create view_configurations feature flag (disabled by default)
  - Update order list table to use legacy version when flag is disabled
  - Can be enabled with MEDUSA_FF_VIEW_CONFIGURATIONS=true env var

* fix: naming

* fix: feature flags unauthenticated

* fix: add test
2025-08-15 08:56:40 +02:00
William Bouchard
4b3c43fe92 feat(dashboard, js-sdk): shipping option type mngmt dashboard (#13208)
* chore(types, api): support shipping option type api endpoints

* core flows

* api

* typos

* compiler errors

* integration tests

* remove metadata

* changeset

* modify test

* upsert

* change remote query

* minor to patch

* description optional

* chore(dashboard, js-sdk): shipping option type management on admin dashboard

* description optional

* woops my bad

* my bad again

* create and edit

* prettier

* build code from label

* remove metadata route

* remove some translation text that is not used

* remove unsued files

* changeset

* adapt test

* fix test

* suggestion

---------

Co-authored-by: william bouchard <williambouchard@williams-MacBook-Pro.local>
2025-08-14 15:21:33 -04:00
Riqwan Thamir
224eaedf5c fix(dashboard,promotion): percentage promotions + set currency code on percentage promotions (#13161) 2025-08-07 13:07:41 +02:00
William Bouchard
b7083b9f0f fix(dashboard): variants disappearing when removing an option on product creation (#13150)
* fix(dashboard): variants disappearing when removing an option on product creation

* error border on option without values

---------

Co-authored-by: william bouchard <williambouchard@williams-MacBook-Pro.local>
2025-08-06 08:53:04 -04:00
Frane Polić
0452eba20b chore(dashboard): add missing US states (#13094)
* chore(dashboard): add missing US states

* fix: add missing territiories
2025-08-03 19:17:12 +02:00
SteelRazor47
4da237f615 fix(dashboard): correct overflow in a few settings edit forms (#11982)
* add correct overflow to forms

* changeset

---------

Co-authored-by: SteelRazor47 <steelrazor47@gmail.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-07-25 13:37:05 +02:00
Frane Polić
439c711845 fix(dashboard, product): product attributes update with a relation update (#13019)
* fix(dashboard, product): product attributes update with a relation update

* fix: rm log

* chore: refactor
2025-07-23 21:01:50 +02:00
Frane Polić
3fa1db9dea fix(dashboard): allocation UI for orders with more than 20 reservation items (#12989) 2025-07-20 13:30:23 +00:00
Riqwan Thamir
97a8e5cb2e chore(link-modules): keep promotion alias (#12928)
* chore(link-modules): keep promotion alias

* chore: change promotion to promotions
2025-07-16 21:16:44 +02:00
Frane Polić
491b08e044 fix(dashboard): combobox multiitem clear (#12939)
* fix(dashboard): clearing multiitem combobox

* chore: changesets
2025-07-14 20:32:20 +02:00
Nha Nguyen
b5b6bd02f3 feat(i18n): update translation for Vietnamese (#12931)
Co-authored-by: Stevche Radevski <sradevski@live.com>
2025-07-14 16:57:46 +02:00
Oli Juhl
42be9a88d6 fix(medusa, core-flows): Update TIP on promotions (#12885)
* fix: Update TIP on promotions

* Create warm-rings-look.md

* only show for fixed discounts

* fix: handle type change

---------

Co-authored-by: fPolic <mainacc.polic@gmail.com>
Co-authored-by: Frane Polić <16856471+fPolic@users.noreply.github.com>
2025-07-08 19:20:29 +02:00
Frane Polić
1438b394ae fix(dashboard): show TIP flag only for fixed promotions (#12897)
* fix(dashboard): show TIP flag only for fixed promotions

* fix: refactor changes
2025-07-08 16:01:03 +02:00
Jessy LANGE
eed72db502 fix(admin): prevent excessive polling in notifications (#12868)
Co-authored-by: Your Name <you@example.com>
2025-07-03 13:09:13 +02:00
Vojtech Dolezal
d1b1ce2885 feat: Admin translation update for czech language (#12837)
* Admin translation update for czech language

* typo fix
2025-06-27 14:08:39 +02:00
Frane Polić
9d61bb7e71 fix(dashboard): fix currency input locale formatting (#12812)
* fix: refund forms and format currency util

* fix: claim form

* fix: return form

* fix: exchange form
2025-06-25 09:23:49 +02:00
Shahed Nasser
502f90fb32 fix(dashboard): fix subtitle for tax inclusive fields in promotions (#12776)
* fix(dashboard): fix subtitle for tax inclusive fields in promotions

* Update packages/admin/dashboard/src/i18n/translations/en.json

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-06-19 14:15:59 +03:00
Frane Polić
52becfdb90 fix(dashboard,types): loyalty UI changes (#12764) 2025-06-18 20:38:36 +02:00
Riqwan Thamir
44d1d18689 feat(dashboard,types): add credit lines + loyalty changes (#11885)
* feat(dashboard,types): add credit lines + loyalty changes

* chore: fix types

* chore: fix specs

* chore: use correct plugin name

* chore: use new currency input

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-06-12 20:12:03 +02:00
Frane Polić
2621f00bb0 feat(promotion, dashboard, core-flows, cart, types, utils, medusa): tax inclusive promotions (#12412)
* feat: tax inclusive promotions

* feat: add a totals test case

* feat: add integration test

* chore: changeset

* fix: typo

* chore: refactor

* fix: tests

* fix: rest of buyget action tests

* fix: cart spec

* chore: expand integration test with item level totals

* feat: add a few more test cases

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2025-06-12 15:07:11 +02:00
Harminder Virk
ce202968c6 fix: update product import template (#12697)
Closes: #12688
Fixes: FRMW-2977
2025-06-10 12:38:42 +00:00
Harminder Virk
f2cb528a56 feat: wire up direct uploads with local file provider (#12643) 2025-06-10 15:07:54 +05:30
Luky Setiawan
4d19711d8e feat(admin): Add Bahasa Indonesia language support (#12657)
* [feat] add Indonesian json translation file

* [feat] include and export indonesian translation to index file

* [feat] export the indonesian language object to languages.ts

---------

Co-authored-by: luky <luzion1508@gmail.com>
2025-06-02 10:17:58 +02:00
Frane Polić
341a8bb7ee fix(dashboard): combobox initial item cache (#12522) 2025-05-28 09:32:01 +02:00
GuyPaikowsky
562f6288cd feat: add hebrew admin translation (#12603) 2025-05-27 16:45:49 +02:00
Michael
5b86b3b2bc update Chinese translation files (#12611)
Co-authored-by: Stevche Radevski <sradevski@live.com>
2025-05-27 09:17:17 +02:00
Cypress
54809b8499 fix(i18n): Correct Chinese translations in zhCN.json (#12537) 2025-05-20 09:47:41 +02:00
Frane Polić
b8ab053252 fix(dashboard): refund payment formatting (#12476)
* fix(dashboard): refund payment formatting

* fix: reduce SC pagination limit
2025-05-19 15:49:34 +02:00
Ahmed Pašić
3ddcd872a0 Feat: added Bosnian language support (#12485) 2025-05-15 09:47:01 +02:00