@spree/seller-dashboard 1.0.0-rc.4 → 1.0.0-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spree/seller-dashboard",
3
- "version": "1.0.0-rc.4",
3
+ "version": "1.0.0-rc.5",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "description": "Spree marketplace seller panel — the seller-facing counterpart to the admin dashboard.",
@@ -40,34 +40,43 @@
40
40
  "@dnd-kit/core": "^6.3.1",
41
41
  "@dnd-kit/sortable": "^10.0.0",
42
42
  "@dnd-kit/utilities": "^3.2.2",
43
- "@tanstack/react-query": "^5.90.2",
44
- "@tanstack/react-router": "^1.133.32",
45
- "@tanstack/router-plugin": "^1.167.35",
43
+ "@tanstack/router-plugin": "^1.168.46",
46
44
  "@tanstack/virtual-file-routes": "^1.162.0",
47
- "i18next": "^26.2.0",
48
- "lucide-react": "^1.47.0",
49
- "react-hook-form": "^7.65.0",
50
- "react-i18next": "^17.0.8",
51
- "zod": "^4.4.3",
52
- "@spree/dashboard-ui": "1.0.0-rc.3",
53
- "@spree/seller-sdk": "1.0.0-rc.3",
54
- "@spree/dashboard-core": "1.0.0-rc.3"
45
+ "lucide-react": "^1.58.0",
46
+ "zod": "^4.6.7",
47
+ "@spree/seller-sdk": "1.0.0-rc.4"
55
48
  },
56
49
  "peerDependencies": {
57
- "react": "^19.0.0",
58
- "react-dom": "^19.0.0"
50
+ "@tanstack/react-query": "^5.104.3",
51
+ "@tanstack/react-router": "^1.170.44",
52
+ "i18next": "^26.4.7",
53
+ "react": "^19.3.1",
54
+ "react-dom": "^19.3.1",
55
+ "react-hook-form": "^7.90.0",
56
+ "react-i18next": "^17.0.20",
57
+ "@spree/admin-sdk": "^1.0.0-rc.4",
58
+ "@spree/dashboard-core": "^1.0.0-rc.4",
59
+ "@spree/dashboard-ui": "^1.0.0-rc.4"
59
60
  },
60
61
  "devDependencies": {
61
62
  "@biomejs/biome": "^2.4.14",
62
- "@types/node": "^25.6.0",
63
+ "@tanstack/react-query": "^5.104.3",
64
+ "@tanstack/react-router": "^1.170.44",
65
+ "@types/node": "^26.6.5",
63
66
  "@types/react": "^19.2.2",
64
67
  "@types/react-dom": "^19.2.1",
65
68
  "@vitejs/plugin-react": "^6.0.1",
66
- "react": "^19.2.0",
67
- "react-dom": "^19.2.0",
68
- "tsup": "^8.5.0",
69
- "typescript": "~6.0.3",
70
- "vite": "^8.0.0"
69
+ "i18next": "^26.4.7",
70
+ "react": "^19.3.1",
71
+ "react-dom": "^19.3.1",
72
+ "react-hook-form": "^7.90.0",
73
+ "react-i18next": "^17.0.20",
74
+ "tsup": "^9.0.0",
75
+ "typescript": "~7.0.2",
76
+ "vite": "^8.3.4",
77
+ "@spree/admin-sdk": "1.0.0-rc.4",
78
+ "@spree/dashboard-core": "1.0.0-rc.4",
79
+ "@spree/dashboard-ui": "1.0.0-rc.4"
71
80
  },
72
81
  "scripts": {
73
82
  "build": "pnpm generate:routes && tsup",
package/src/index.ts CHANGED
@@ -34,6 +34,7 @@ export {
34
34
  createSellerApiClient,
35
35
  rememberedSeller,
36
36
  rememberSeller,
37
+ sellerClient,
37
38
  setActiveSeller,
38
39
  } from './api-client'
39
40
  export { CenteredMessage } from './components/centered-message'
@@ -10,6 +10,8 @@ import {
10
10
  AccordionContent,
11
11
  AccordionItem,
12
12
  AccordionTrigger,
13
+ Alert,
14
+ AlertDescription,
13
15
  Badge,
14
16
  Button,
15
17
  Card,
@@ -28,6 +30,7 @@ import {
28
30
  import {
29
31
  CheckCircle2Icon,
30
32
  ChevronRightIcon,
33
+ CircleAlertIcon,
31
34
  CircleIcon,
32
35
  ClockIcon,
33
36
  ExternalLinkIcon,
@@ -284,9 +287,10 @@ function RequirementAction({ requirement }: { requirement: RequirementStatus })
284
287
 
285
288
  // A rejection the seller cannot read is a rejection they cannot act on.
286
289
  const rejection = submission?.status === 'rejected' && submission.review_note && (
287
- <p className="rounded-md bg-destructive/10 p-3 text-destructive text-sm">
288
- {submission.review_note}
289
- </p>
290
+ <Alert variant="destructive">
291
+ <CircleAlertIcon />
292
+ <AlertDescription>{submission.review_note}</AlertDescription>
293
+ </Alert>
290
294
  )
291
295
 
292
296
  // Nothing to do on a finished line. The header already carries the tick and
@@ -15,6 +15,11 @@ import {
15
15
  FieldError,
16
16
  FieldLabel,
17
17
  Input,
18
+ Item,
19
+ ItemActions,
20
+ ItemContent,
21
+ ItemGroup,
22
+ ItemTitle,
18
23
  RichTextEditor,
19
24
  RowActions,
20
25
  Sheet,
@@ -128,19 +133,26 @@ export function PoliciesPage({ search }: { search: ResourceSearch }) {
128
133
  </CardHeader>
129
134
  <CardContent className="flex flex-col gap-3">
130
135
  <p className="text-muted-foreground text-sm">{t('policies.required.description')}</p>
131
- <ul className="flex flex-col gap-2">
136
+ <ItemGroup className="gap-2">
132
137
  {outstanding.map((name) => (
133
- <li
138
+ <Item
134
139
  key={name}
135
- className="flex items-center justify-between gap-4 rounded-lg border border-border-subtle px-3 py-2"
140
+ role="listitem"
141
+ variant="outline"
142
+ size="sm"
143
+ className="border-border-subtle"
136
144
  >
137
- <span className="font-medium text-sm">{name}</span>
138
- <Button size="sm" variant="outline" onClick={() => setCreatingName(name)}>
139
- {t('policies.required.write')}
140
- </Button>
141
- </li>
145
+ <ItemContent>
146
+ <ItemTitle>{name}</ItemTitle>
147
+ </ItemContent>
148
+ <ItemActions>
149
+ <Button size="sm" variant="outline" onClick={() => setCreatingName(name)}>
150
+ {t('policies.required.write')}
151
+ </Button>
152
+ </ItemActions>
153
+ </Item>
142
154
  ))}
143
- </ul>
155
+ </ItemGroup>
144
156
  </CardContent>
145
157
  </Card>
146
158
  )}