@ploykit/ui 0.5.0 → 0.6.2
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/dist/AppProviders.js +2 -2
- package/dist/components/ConfirmDialog.js +1 -1
- package/dist/components/CronInput.js +3 -3
- package/dist/components/DataTable.js +4 -4
- package/dist/components/FormField.js +1 -1
- package/dist/components/ImpersonationBanner.js +1 -1
- package/dist/components/NotificationBell.js +1 -1
- package/dist/components/OnboardingChecklist.js +3 -3
- package/dist/components/Page.js +2 -2
- package/dist/components/ReauthDialog.js +4 -4
- package/dist/components/SecretModal.js +2 -2
- package/dist/components/SettingsCard.js +2 -2
- package/dist/components/SiteBanner.js +1 -1
- package/dist/components/SiteBannerLayer.js +1 -1
- package/dist/components/StatusBadge.js +1 -1
- package/dist/components/UserMenu.js +3 -3
- package/dist/components/WorkspaceSwitcher.js +7 -7
- package/dist/components/ui/alert-dialog.js +2 -2
- package/dist/components/ui/avatar.js +1 -1
- package/dist/components/ui/badge.js +1 -1
- package/dist/components/ui/breadcrumb.js +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/card.js +1 -1
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/dialog.js +2 -2
- package/dist/components/ui/dropdown-menu.js +1 -1
- package/dist/components/ui/empty.js +1 -1
- package/dist/components/ui/field.js +3 -3
- package/dist/components/ui/input.js +1 -1
- package/dist/components/ui/label.js +1 -1
- package/dist/components/ui/popover.js +1 -1
- package/dist/components/ui/progress.js +1 -1
- package/dist/components/ui/select.js +1 -1
- package/dist/components/ui/separator.js +1 -1
- package/dist/components/ui/sheet.js +2 -2
- package/dist/components/ui/sidebar.js +8 -8
- package/dist/components/ui/skeleton.js +1 -1
- package/dist/components/ui/switch.js +1 -1
- package/dist/components/ui/tabs.js +1 -1
- package/dist/components/ui/textarea.js +1 -1
- package/dist/components/ui/tooltip.js +1 -1
- package/dist/index.js +78 -78
- package/dist/layouts/AppShell.js +4 -4
- package/dist/layouts/SettingsShell.js +4 -4
- package/dist/pages/LoginPage.js +5 -5
- package/dist/pages/account/NotificationPreferencesPage.js +3 -3
- package/dist/pages/account/ProfileSettingsPage.js +9 -9
- package/dist/pages/account/SecuritySettingsPage.js +13 -13
- package/dist/pages/account/TokensPage.js +12 -12
- package/dist/pages/admin/AdminSettingsPage.js +11 -11
- package/dist/pages/admin/AdminShell.js +3 -3
- package/dist/pages/admin/AuditPage.js +8 -8
- package/dist/pages/admin/OrdersPage.js +12 -12
- package/dist/pages/admin/OverviewPage.js +13 -13
- package/dist/pages/admin/SSOPage.js +6 -6
- package/dist/pages/admin/UserDetailPage.js +13 -13
- package/dist/pages/admin/UsersPage.js +13 -13
- package/dist/pages/admin/WebhookDeliveriesPage.js +9 -9
- package/dist/pages/admin/WorkspaceDetailPage.js +14 -14
- package/dist/pages/admin/WorkspacesPage.js +9 -9
- package/dist/pages/admin/shared.js +1 -1
- package/dist/pages/auth/ForgotPasswordPage.js +4 -4
- package/dist/pages/auth/InviteAcceptPage.js +6 -6
- package/dist/pages/auth/RegisterPage.js +7 -7
- package/dist/pages/auth/ResetPasswordPage.js +5 -5
- package/dist/pages/auth/VerifyEmailPage.js +3 -3
- package/dist/pages/workspace/BillingPage.js +11 -11
- package/dist/pages/workspace/BillingSuccessPage.js +2 -2
- package/dist/pages/workspace/MembersPage.js +15 -15
- package/dist/pages/workspace/RolePermissionsPage.js +9 -9
- package/dist/pages/workspace/SchedulesPage.js +12 -12
- package/dist/pages/workspace/UsagePage.js +6 -6
- package/dist/pages/workspace/WebhooksPage.js +16 -16
- package/dist/pages/workspace/WorkspaceAuditPage.js +7 -7
- package/dist/pages/workspace/WorkspaceGeneralPage.js +9 -9
- package/package.json +6 -5
- package/src/AppProviders.tsx +29 -0
- package/src/components/ConfirmDialog.tsx +77 -0
- package/src/components/CronInput.tsx +195 -0
- package/src/components/DataTable.tsx +152 -0
- package/src/components/ErrorBoundary.tsx +46 -0
- package/src/components/FormField.tsx +56 -0
- package/src/components/ImpersonationBanner.tsx +23 -0
- package/src/components/NotificationBell.tsx +135 -0
- package/src/components/OnboardingChecklist.tsx +114 -0
- package/src/components/Page.tsx +67 -0
- package/src/components/ReauthDialog.tsx +94 -0
- package/src/components/SecretModal.tsx +147 -0
- package/src/components/SettingsCard.tsx +39 -0
- package/src/components/SiteBanner.tsx +32 -0
- package/src/components/SiteBannerLayer.tsx +29 -0
- package/src/components/StatusBadge.tsx +12 -0
- package/src/components/UserMenu.tsx +103 -0
- package/src/components/WorkspaceSwitcher.tsx +159 -0
- package/src/components/__tests__/AppProviders.test.tsx +111 -0
- package/src/components/__tests__/CronInput.test.tsx +180 -0
- package/src/components/__tests__/DataTable.test.tsx +208 -0
- package/src/components/__tests__/ErrorBoundary.test.tsx +61 -0
- package/src/components/__tests__/ImpersonationBanner.test.tsx +59 -0
- package/src/components/__tests__/NotificationBell.test.tsx +207 -0
- package/src/components/__tests__/OnboardingChecklist.test.tsx +97 -0
- package/src/components/__tests__/SecretModal.test.tsx +112 -0
- package/src/components/__tests__/SiteBannerLayer.test.tsx +44 -0
- package/src/components/__tests__/UserMenu.test.tsx +98 -0
- package/src/components/__tests__/WorkspaceSwitcher.test.tsx +162 -0
- package/src/components/__tests__/form.test.tsx +133 -0
- package/src/components/__tests__/semantic-tokens.test.ts +41 -0
- package/src/components/__tests__/smoke.test.tsx +11 -0
- package/src/components/__tests__/toast.test.tsx +27 -0
- package/src/components/toast.tsx +23 -0
- package/src/components/ui/__tests__/alert-dialog.test.tsx +66 -0
- package/src/components/ui/__tests__/avatar.test.tsx +30 -0
- package/src/components/ui/__tests__/checkbox.test.tsx +18 -0
- package/src/components/ui/__tests__/dropdown-menu.test.tsx +33 -0
- package/src/components/ui/__tests__/field.test.tsx +43 -0
- package/src/components/ui/__tests__/overlay-size.test.tsx +84 -0
- package/src/components/ui/__tests__/popover.test.tsx +32 -0
- package/src/components/ui/__tests__/progress.test.tsx +24 -0
- package/src/components/ui/__tests__/select-callback.test.tsx +72 -0
- package/src/components/ui/__tests__/select.test.tsx +48 -0
- package/src/components/ui/__tests__/sidebar.test.tsx +121 -0
- package/src/components/ui/__tests__/stock-mirror.test.ts +39 -0
- package/src/components/ui/__tests__/subpath.test.tsx +38 -0
- package/src/components/ui/__tests__/switch.test.tsx +24 -0
- package/src/components/ui/__tests__/tabs.test.tsx +24 -0
- package/src/components/ui/__tests__/textarea.test.tsx +41 -0
- package/src/components/ui/alert-dialog.tsx +187 -0
- package/src/components/ui/avatar.tsx +108 -0
- package/src/components/ui/badge.tsx +51 -0
- package/src/components/ui/breadcrumb.tsx +124 -0
- package/src/components/ui/button.tsx +57 -0
- package/src/components/ui/card.tsx +102 -0
- package/src/components/ui/checkbox.tsx +28 -0
- package/src/components/ui/dialog.tsx +166 -0
- package/src/components/ui/dropdown-menu.tsx +265 -0
- package/src/components/ui/empty.tsx +103 -0
- package/src/components/ui/field.tsx +238 -0
- package/src/components/ui/input.tsx +19 -0
- package/src/components/ui/label.tsx +17 -0
- package/src/components/ui/popover.tsx +89 -0
- package/src/components/ui/progress.tsx +82 -0
- package/src/components/ui/select.tsx +235 -0
- package/src/components/ui/separator.tsx +24 -0
- package/src/components/ui/sheet.tsx +146 -0
- package/src/components/ui/sidebar.tsx +723 -0
- package/src/components/ui/skeleton.tsx +13 -0
- package/src/components/ui/switch.tsx +29 -0
- package/src/components/ui/tabs.tsx +79 -0
- package/src/components/ui/textarea.tsx +26 -0
- package/src/components/ui/tooltip.tsx +63 -0
- package/src/dev.css +1 -0
- package/src/hooks/use-mobile.ts +19 -0
- package/src/index.ts +150 -0
- package/src/layouts/AppShell.tsx +163 -0
- package/src/layouts/AuthShell.tsx +24 -0
- package/src/layouts/SettingsShell.tsx +129 -0
- package/src/layouts/__tests__/AppShell.test.tsx +163 -0
- package/src/layouts/__tests__/SettingsShell.test.tsx +146 -0
- package/src/lib/__tests__/api-error.test.ts +163 -0
- package/src/lib/__tests__/utils.test.ts +21 -0
- package/src/lib/api-error.ts +98 -0
- package/src/lib/utils.ts +109 -0
- package/src/pages/LandingPage.tsx +88 -0
- package/src/pages/LoginPage.tsx +291 -0
- package/src/pages/__tests__/LandingPage.test.tsx +58 -0
- package/src/pages/__tests__/LoginPage.test.tsx +229 -0
- package/src/pages/__tests__/RegisterPage.test.tsx +138 -0
- package/src/pages/__tests__/ssr-smoke.test.tsx +99 -0
- package/src/pages/account/NotificationPreferencesPage.tsx +138 -0
- package/src/pages/account/ProfileSettingsPage.tsx +189 -0
- package/src/pages/account/SecuritySettingsPage.tsx +214 -0
- package/src/pages/account/TokensPage.tsx +211 -0
- package/src/pages/account/__tests__/NotificationPreferencesPage.test.tsx +150 -0
- package/src/pages/account/__tests__/ProfileSettingsPage.test.tsx +173 -0
- package/src/pages/account/__tests__/SecuritySettingsPage.test.tsx +212 -0
- package/src/pages/account/__tests__/TokensPage.test.tsx +180 -0
- package/src/pages/admin/AdminSettingsPage.tsx +564 -0
- package/src/pages/admin/AdminShell.tsx +199 -0
- package/src/pages/admin/AuditPage.tsx +338 -0
- package/src/pages/admin/OrdersPage.tsx +642 -0
- package/src/pages/admin/OverviewPage.tsx +559 -0
- package/src/pages/admin/SSOPage.tsx +166 -0
- package/src/pages/admin/UserDetailPage.tsx +641 -0
- package/src/pages/admin/UsersPage.tsx +462 -0
- package/src/pages/admin/WebhookDeliveriesPage.tsx +318 -0
- package/src/pages/admin/WorkspaceDetailPage.tsx +551 -0
- package/src/pages/admin/WorkspacesPage.tsx +299 -0
- package/src/pages/admin/__tests__/AdminSettingsPage.test.tsx +260 -0
- package/src/pages/admin/__tests__/OrdersPageMarkPaid.test.tsx +207 -0
- package/src/pages/admin/__tests__/OverviewPageActivity.test.tsx +213 -0
- package/src/pages/admin/__tests__/SSOPage.test.tsx +128 -0
- package/src/pages/admin/__tests__/UsersPageActions.test.tsx +188 -0
- package/src/pages/admin/__tests__/WorkspaceDetailPageTransfer.test.tsx +170 -0
- package/src/pages/admin/__tests__/WorkspacesPagePlans.test.tsx +138 -0
- package/src/pages/admin/shared.ts +42 -0
- package/src/pages/auth/ForgotPasswordPage.tsx +83 -0
- package/src/pages/auth/InviteAcceptPage.tsx +105 -0
- package/src/pages/auth/RegisterPage.tsx +204 -0
- package/src/pages/auth/ResetPasswordPage.tsx +150 -0
- package/src/pages/auth/VerifyEmailPage.tsx +76 -0
- package/src/pages/auth/__tests__/ForgotPasswordPage.test.tsx +67 -0
- package/src/pages/auth/__tests__/InviteAcceptPage.test.tsx +86 -0
- package/src/pages/auth/__tests__/ResetPasswordPage.test.tsx +115 -0
- package/src/pages/auth/__tests__/VerifyEmailPage.test.tsx +74 -0
- package/src/pages/workspace/BillingPage.tsx +361 -0
- package/src/pages/workspace/BillingSuccessPage.tsx +115 -0
- package/src/pages/workspace/MembersPage.tsx +568 -0
- package/src/pages/workspace/RolePermissionsPage.tsx +202 -0
- package/src/pages/workspace/SchedulesPage.tsx +387 -0
- package/src/pages/workspace/UsagePage.tsx +207 -0
- package/src/pages/workspace/WebhooksPage.tsx +506 -0
- package/src/pages/workspace/WorkspaceAuditPage.tsx +229 -0
- package/src/pages/workspace/WorkspaceGeneralPage.tsx +184 -0
- package/src/pages/workspace/__tests__/BillingPage.test.tsx +302 -0
- package/src/pages/workspace/__tests__/BillingSuccessPage.test.tsx +134 -0
- package/src/pages/workspace/__tests__/MembersPage.test.tsx +347 -0
- package/src/pages/workspace/__tests__/RolePermissionsPage.test.tsx +138 -0
- package/src/pages/workspace/__tests__/SchedulesPage.test.tsx +239 -0
- package/src/pages/workspace/__tests__/UsagePage.test.tsx +223 -0
- package/src/pages/workspace/__tests__/WebhooksPage.test.tsx +309 -0
- package/src/pages/workspace/__tests__/WorkspaceAuditPage.test.tsx +112 -0
- package/src/pages/workspace/__tests__/WorkspaceGeneralPage.test.tsx +164 -0
package/dist/index.js
CHANGED
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
export { AppShell } from './layouts/AppShell';
|
|
2
|
-
export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarProvider, SidebarTrigger, } from './components/ui/sidebar';
|
|
3
|
-
export { Separator } from './components/ui/separator';
|
|
4
|
-
export { Skeleton } from './components/ui/skeleton';
|
|
5
|
-
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './components/ui/tooltip';
|
|
6
|
-
export { Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription, SheetFooter, SheetTrigger, SheetClose } from './components/ui/sheet';
|
|
7
|
-
export { AppProviders } from './AppProviders';
|
|
8
|
-
export { LoginPage } from './pages/LoginPage';
|
|
9
|
-
export { LandingPage } from './pages/LandingPage';
|
|
10
|
-
export { Button, buttonVariants } from './components/ui/button';
|
|
11
|
-
export { Input } from './components/ui/input';
|
|
12
|
-
export { Textarea } from './components/ui/textarea';
|
|
13
|
-
export { StatusBadge } from './components/StatusBadge';
|
|
14
|
-
export { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, DialogClose, } from './components/ui/dialog';
|
|
15
|
-
export { PageHeader, PageLoading, PageEmpty, PageError } from './components/Page';
|
|
16
|
-
export { ConfirmProvider, useConfirm } from './components/ConfirmDialog';
|
|
17
|
-
export { NotificationBell } from './components/NotificationBell';
|
|
18
|
-
export { WorkspaceSwitcher } from './components/WorkspaceSwitcher';
|
|
19
|
-
export { SecretModal, ImpactConfirmation } from './components/SecretModal';
|
|
20
|
-
export { cn, statusTone, statusLabel, STATUS_TONE_CLASS, STATUS_LABEL, formatDate, formatDateTime, shortID } from './lib/utils';
|
|
21
|
-
export { ForgotPasswordPage } from './pages/auth/ForgotPasswordPage';
|
|
22
|
-
export { ResetPasswordPage } from './pages/auth/ResetPasswordPage';
|
|
23
|
-
export { VerifyEmailPage } from './pages/auth/VerifyEmailPage';
|
|
24
|
-
export { ErrorBoundary } from './components/ErrorBoundary';
|
|
25
|
-
export { toast, Toaster } from './components/toast';
|
|
26
|
-
export { FormField } from './components/FormField';
|
|
27
|
-
export { DataTable } from './components/DataTable';
|
|
28
|
-
export { Field, FieldLabel, FieldDescription, FieldError, FieldGroup, FieldLegend, FieldSeparator, FieldSet, FieldContent, FieldTitle, } from './components/ui/field';
|
|
29
|
-
export { Label } from './components/ui/label';
|
|
30
|
-
export { Tabs, TabsList, TabsTrigger, TabsContent } from './components/ui/tabs';
|
|
31
|
-
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, } from './components/ui/alert-dialog';
|
|
32
|
-
export { Avatar, AvatarImage, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarBadge, } from './components/ui/avatar';
|
|
33
|
-
export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, } from './components/ui/dropdown-menu';
|
|
34
|
-
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, } from './components/ui/select';
|
|
35
|
-
export { Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, } from './components/ui/popover';
|
|
36
|
-
export { Switch } from './components/ui/switch';
|
|
37
|
-
export { Progress, ProgressTrack, ProgressIndicator, ProgressLabel, ProgressValue, } from './components/ui/progress';
|
|
38
|
-
export { Checkbox } from './components/ui/checkbox';
|
|
39
|
-
export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, } from './components/ui/card';
|
|
40
|
-
export { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, } from './components/ui/breadcrumb';
|
|
41
|
-
export { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia, } from './components/ui/empty';
|
|
42
|
-
export { SettingsShell } from './layouts/SettingsShell';
|
|
43
|
-
export { AuthShell } from './layouts/AuthShell';
|
|
44
|
-
export { SettingsCard } from './components/SettingsCard';
|
|
45
|
-
export { UserMenu } from './components/UserMenu';
|
|
46
|
-
export { OnboardingChecklist } from './components/OnboardingChecklist';
|
|
47
|
-
export { RegisterPage } from './pages/auth/RegisterPage';
|
|
48
|
-
export { InviteAcceptPage } from './pages/auth/InviteAcceptPage';
|
|
49
|
-
export { ProfileSettingsPage } from './pages/account/ProfileSettingsPage';
|
|
50
|
-
export { SecuritySettingsPage } from './pages/account/SecuritySettingsPage';
|
|
51
|
-
export { TokensPage } from './pages/account/TokensPage';
|
|
52
|
-
export { NotificationPreferencesPage } from './pages/account/NotificationPreferencesPage';
|
|
53
|
-
export { MembersPage } from './pages/workspace/MembersPage';
|
|
54
|
-
export { RolePermissionsPage } from './pages/workspace/RolePermissionsPage';
|
|
55
|
-
export { ReauthDialog } from './components/ReauthDialog';
|
|
56
|
-
export { WorkspaceGeneralPage } from './pages/workspace/WorkspaceGeneralPage';
|
|
57
|
-
export { WorkspaceAuditPage } from './pages/workspace/WorkspaceAuditPage';
|
|
58
|
-
export { UsagePage } from './pages/workspace/UsagePage';
|
|
59
|
-
export { BillingPage } from './pages/workspace/BillingPage';
|
|
60
|
-
export { BillingSuccessPage } from './pages/workspace/BillingSuccessPage';
|
|
61
|
-
export { WebhooksPage } from './pages/workspace/WebhooksPage';
|
|
62
|
-
export { apiErrorMessage } from './lib/api-error';
|
|
63
|
-
export { CronInput } from './components/CronInput';
|
|
64
|
-
export { SchedulesPage } from './pages/workspace/SchedulesPage';
|
|
65
|
-
export { SiteBanner } from './components/SiteBanner';
|
|
66
|
-
export { SiteBannerLayer } from './components/SiteBannerLayer';
|
|
67
|
-
export { ImpersonationBanner } from './components/ImpersonationBanner';
|
|
68
|
-
export { AdminShell } from './pages/admin/AdminShell';
|
|
69
|
-
export { OverviewPage } from './pages/admin/OverviewPage';
|
|
70
|
-
export { UsersPage } from './pages/admin/UsersPage';
|
|
71
|
-
export { UserDetailPage } from './pages/admin/UserDetailPage';
|
|
72
|
-
export { WorkspacesPage } from './pages/admin/WorkspacesPage';
|
|
73
|
-
export { WorkspaceDetailPage } from './pages/admin/WorkspaceDetailPage';
|
|
74
|
-
export { OrdersPage } from './pages/admin/OrdersPage';
|
|
75
|
-
export { WebhookDeliveriesPage } from './pages/admin/WebhookDeliveriesPage';
|
|
76
|
-
export { AuditPage } from './pages/admin/AuditPage';
|
|
77
|
-
export { SSOPage } from './pages/admin/SSOPage';
|
|
78
|
-
export { AdminSettingsPage } from './pages/admin/AdminSettingsPage';
|
|
1
|
+
export { AppShell } from './layouts/AppShell.js';
|
|
2
|
+
export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarProvider, SidebarTrigger, } from './components/ui/sidebar.js';
|
|
3
|
+
export { Separator } from './components/ui/separator.js';
|
|
4
|
+
export { Skeleton } from './components/ui/skeleton.js';
|
|
5
|
+
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './components/ui/tooltip.js';
|
|
6
|
+
export { Sheet, SheetContent, SheetHeader, SheetTitle, SheetDescription, SheetFooter, SheetTrigger, SheetClose } from './components/ui/sheet.js';
|
|
7
|
+
export { AppProviders } from './AppProviders.js';
|
|
8
|
+
export { LoginPage } from './pages/LoginPage.js';
|
|
9
|
+
export { LandingPage } from './pages/LandingPage.js';
|
|
10
|
+
export { Button, buttonVariants } from './components/ui/button.js';
|
|
11
|
+
export { Input } from './components/ui/input.js';
|
|
12
|
+
export { Textarea } from './components/ui/textarea.js';
|
|
13
|
+
export { StatusBadge } from './components/StatusBadge.js';
|
|
14
|
+
export { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, DialogClose, } from './components/ui/dialog.js';
|
|
15
|
+
export { PageHeader, PageLoading, PageEmpty, PageError } from './components/Page.js';
|
|
16
|
+
export { ConfirmProvider, useConfirm } from './components/ConfirmDialog.js';
|
|
17
|
+
export { NotificationBell } from './components/NotificationBell.js';
|
|
18
|
+
export { WorkspaceSwitcher } from './components/WorkspaceSwitcher.js';
|
|
19
|
+
export { SecretModal, ImpactConfirmation } from './components/SecretModal.js';
|
|
20
|
+
export { cn, statusTone, statusLabel, STATUS_TONE_CLASS, STATUS_LABEL, formatDate, formatDateTime, shortID } from './lib/utils.js';
|
|
21
|
+
export { ForgotPasswordPage } from './pages/auth/ForgotPasswordPage.js';
|
|
22
|
+
export { ResetPasswordPage } from './pages/auth/ResetPasswordPage.js';
|
|
23
|
+
export { VerifyEmailPage } from './pages/auth/VerifyEmailPage.js';
|
|
24
|
+
export { ErrorBoundary } from './components/ErrorBoundary.js';
|
|
25
|
+
export { toast, Toaster } from './components/toast.js';
|
|
26
|
+
export { FormField } from './components/FormField.js';
|
|
27
|
+
export { DataTable } from './components/DataTable.js';
|
|
28
|
+
export { Field, FieldLabel, FieldDescription, FieldError, FieldGroup, FieldLegend, FieldSeparator, FieldSet, FieldContent, FieldTitle, } from './components/ui/field.js';
|
|
29
|
+
export { Label } from './components/ui/label.js';
|
|
30
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent } from './components/ui/tabs.js';
|
|
31
|
+
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, } from './components/ui/alert-dialog.js';
|
|
32
|
+
export { Avatar, AvatarImage, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarBadge, } from './components/ui/avatar.js';
|
|
33
|
+
export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, } from './components/ui/dropdown-menu.js';
|
|
34
|
+
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, } from './components/ui/select.js';
|
|
35
|
+
export { Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, } from './components/ui/popover.js';
|
|
36
|
+
export { Switch } from './components/ui/switch.js';
|
|
37
|
+
export { Progress, ProgressTrack, ProgressIndicator, ProgressLabel, ProgressValue, } from './components/ui/progress.js';
|
|
38
|
+
export { Checkbox } from './components/ui/checkbox.js';
|
|
39
|
+
export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, } from './components/ui/card.js';
|
|
40
|
+
export { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, } from './components/ui/breadcrumb.js';
|
|
41
|
+
export { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia, } from './components/ui/empty.js';
|
|
42
|
+
export { SettingsShell } from './layouts/SettingsShell.js';
|
|
43
|
+
export { AuthShell } from './layouts/AuthShell.js';
|
|
44
|
+
export { SettingsCard } from './components/SettingsCard.js';
|
|
45
|
+
export { UserMenu } from './components/UserMenu.js';
|
|
46
|
+
export { OnboardingChecklist } from './components/OnboardingChecklist.js';
|
|
47
|
+
export { RegisterPage } from './pages/auth/RegisterPage.js';
|
|
48
|
+
export { InviteAcceptPage } from './pages/auth/InviteAcceptPage.js';
|
|
49
|
+
export { ProfileSettingsPage } from './pages/account/ProfileSettingsPage.js';
|
|
50
|
+
export { SecuritySettingsPage } from './pages/account/SecuritySettingsPage.js';
|
|
51
|
+
export { TokensPage } from './pages/account/TokensPage.js';
|
|
52
|
+
export { NotificationPreferencesPage } from './pages/account/NotificationPreferencesPage.js';
|
|
53
|
+
export { MembersPage } from './pages/workspace/MembersPage.js';
|
|
54
|
+
export { RolePermissionsPage } from './pages/workspace/RolePermissionsPage.js';
|
|
55
|
+
export { ReauthDialog } from './components/ReauthDialog.js';
|
|
56
|
+
export { WorkspaceGeneralPage } from './pages/workspace/WorkspaceGeneralPage.js';
|
|
57
|
+
export { WorkspaceAuditPage } from './pages/workspace/WorkspaceAuditPage.js';
|
|
58
|
+
export { UsagePage } from './pages/workspace/UsagePage.js';
|
|
59
|
+
export { BillingPage } from './pages/workspace/BillingPage.js';
|
|
60
|
+
export { BillingSuccessPage } from './pages/workspace/BillingSuccessPage.js';
|
|
61
|
+
export { WebhooksPage } from './pages/workspace/WebhooksPage.js';
|
|
62
|
+
export { apiErrorMessage } from './lib/api-error.js';
|
|
63
|
+
export { CronInput } from './components/CronInput.js';
|
|
64
|
+
export { SchedulesPage } from './pages/workspace/SchedulesPage.js';
|
|
65
|
+
export { SiteBanner } from './components/SiteBanner.js';
|
|
66
|
+
export { SiteBannerLayer } from './components/SiteBannerLayer.js';
|
|
67
|
+
export { ImpersonationBanner } from './components/ImpersonationBanner.js';
|
|
68
|
+
export { AdminShell } from './pages/admin/AdminShell.js';
|
|
69
|
+
export { OverviewPage } from './pages/admin/OverviewPage.js';
|
|
70
|
+
export { UsersPage } from './pages/admin/UsersPage.js';
|
|
71
|
+
export { UserDetailPage } from './pages/admin/UserDetailPage.js';
|
|
72
|
+
export { WorkspacesPage } from './pages/admin/WorkspacesPage.js';
|
|
73
|
+
export { WorkspaceDetailPage } from './pages/admin/WorkspaceDetailPage.js';
|
|
74
|
+
export { OrdersPage } from './pages/admin/OrdersPage.js';
|
|
75
|
+
export { WebhookDeliveriesPage } from './pages/admin/WebhookDeliveriesPage.js';
|
|
76
|
+
export { AuditPage } from './pages/admin/AuditPage.js';
|
|
77
|
+
export { SSOPage } from './pages/admin/SSOPage.js';
|
|
78
|
+
export { AdminSettingsPage } from './pages/admin/AdminSettingsPage.js';
|
package/dist/layouts/AppShell.js
CHANGED
|
@@ -2,10 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { useLocation, useNavigate } from 'react-router';
|
|
3
3
|
import { useEffect } from 'react';
|
|
4
4
|
import { FolderKanban } from 'lucide-react';
|
|
5
|
-
import { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarProvider, SidebarTrigger, } from '../components/ui/sidebar';
|
|
6
|
-
import { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbPage, BreadcrumbSeparator, } from '../components/ui/breadcrumb';
|
|
7
|
-
import { UserMenu } from '../components/UserMenu';
|
|
8
|
-
import { ImpersonationBanner } from '../components/ImpersonationBanner';
|
|
5
|
+
import { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarProvider, SidebarTrigger, } from '../components/ui/sidebar.js';
|
|
6
|
+
import { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbPage, BreadcrumbSeparator, } from '../components/ui/breadcrumb.js';
|
|
7
|
+
import { UserMenu } from '../components/UserMenu.js';
|
|
8
|
+
import { ImpersonationBanner } from '../components/ImpersonationBanner.js';
|
|
9
9
|
// stock SidebarProvider 只写不读 sidebar_state cookie(写入供 SSR 框架回传 defaultOpen)。
|
|
10
10
|
// CSR 产品在组合层回读,保持跨会话折叠状态(P2-17,自 stock 镜像化后上提至此)。
|
|
11
11
|
function readSidebarCookieOpen() {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Link, useLocation, useNavigate } from 'react-router';
|
|
3
|
-
import { cn } from '../lib/utils';
|
|
3
|
+
import { cn } from '../lib/utils.js';
|
|
4
4
|
import { roleSatisfies } from '@ploykit/hooks';
|
|
5
5
|
import { useWorkspace } from '@ploykit/hooks';
|
|
6
|
-
import { buttonVariants } from '../components/ui/button';
|
|
7
|
-
import { Separator } from '../components/ui/separator';
|
|
8
|
-
import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue, } from '../components/ui/select';
|
|
6
|
+
import { buttonVariants } from '../components/ui/button.js';
|
|
7
|
+
import { Separator } from '../components/ui/separator.js';
|
|
8
|
+
import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue, } from '../components/ui/select.js';
|
|
9
9
|
export function SettingsShell({ nav, children, title = '设置', description }) {
|
|
10
10
|
const location = useLocation();
|
|
11
11
|
const navigate = useNavigate();
|
package/dist/pages/LoginPage.js
CHANGED
|
@@ -4,11 +4,11 @@ import { useLocation } from 'react-router';
|
|
|
4
4
|
import { useLogin } from '@ploykit/hooks';
|
|
5
5
|
import { useApi } from '@ploykit/hooks';
|
|
6
6
|
import { useAuth } from '@ploykit/hooks';
|
|
7
|
-
import { Tabs, TabsList, TabsTrigger, TabsContent } from '../components/ui/tabs';
|
|
8
|
-
import { Button } from '../components/ui/button';
|
|
9
|
-
import { Input } from '../components/ui/input';
|
|
10
|
-
import { FormField } from '../components/FormField';
|
|
11
|
-
import { apiErrorMessage } from '../lib/api-error';
|
|
7
|
+
import { Tabs, TabsList, TabsTrigger, TabsContent } from '../components/ui/tabs.js';
|
|
8
|
+
import { Button } from '../components/ui/button.js';
|
|
9
|
+
import { Input } from '../components/ui/input.js';
|
|
10
|
+
import { FormField } from '../components/FormField.js';
|
|
11
|
+
import { apiErrorMessage } from '../lib/api-error.js';
|
|
12
12
|
const SEND_COOLDOWN_S = 60;
|
|
13
13
|
export function loginRedirectTarget(from, fallback = '/app') {
|
|
14
14
|
if (typeof from !== 'string')
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useId } from 'react';
|
|
3
|
-
import { PageHeader, PageLoading, PageError, PageEmpty } from '../../components/Page';
|
|
4
|
-
import { Switch } from '../../components/ui/switch';
|
|
5
|
-
import { toast } from '../../components/toast';
|
|
3
|
+
import { PageHeader, PageLoading, PageError, PageEmpty } from '../../components/Page.js';
|
|
4
|
+
import { Switch } from '../../components/ui/switch.js';
|
|
5
|
+
import { toast } from '../../components/toast.js';
|
|
6
6
|
import { useSEO } from '@ploykit/hooks';
|
|
7
7
|
import { useNotificationPrefs, useSetNotificationPref, } from '@ploykit/hooks';
|
|
8
8
|
export function NotificationPreferencesPage({ types, title = '通知偏好', description = '选择每种通知的接收渠道;未显示的类型默认全部开启', siteName, emailChannelNote, }) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { PageHeader, PageLoading, PageError } from '../../components/Page';
|
|
5
|
-
import { SettingsCard } from '../../components/SettingsCard';
|
|
6
|
-
import { FormField } from '../../components/FormField';
|
|
7
|
-
import { Button } from '../../components/ui/button';
|
|
8
|
-
import { Input } from '../../components/ui/input';
|
|
9
|
-
import { Badge } from '../../components/ui/badge';
|
|
10
|
-
import { ImpactConfirmation } from '../../components/SecretModal';
|
|
11
|
-
import { toast } from '../../components/toast';
|
|
12
|
-
import { apiErrorMessage } from '../../lib/api-error';
|
|
4
|
+
import { PageHeader, PageLoading, PageError } from '../../components/Page.js';
|
|
5
|
+
import { SettingsCard } from '../../components/SettingsCard.js';
|
|
6
|
+
import { FormField } from '../../components/FormField.js';
|
|
7
|
+
import { Button } from '../../components/ui/button.js';
|
|
8
|
+
import { Input } from '../../components/ui/input.js';
|
|
9
|
+
import { Badge } from '../../components/ui/badge.js';
|
|
10
|
+
import { ImpactConfirmation } from '../../components/SecretModal.js';
|
|
11
|
+
import { toast } from '../../components/toast.js';
|
|
12
|
+
import { apiErrorMessage } from '../../lib/api-error.js';
|
|
13
13
|
import { useApi } from '@ploykit/hooks';
|
|
14
14
|
import { useAuth } from '@ploykit/hooks';
|
|
15
15
|
import { useZodForm } from '@ploykit/hooks';
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { PageHeader, PageError } from '../../components/Page';
|
|
5
|
-
import { SettingsCard } from '../../components/SettingsCard';
|
|
6
|
-
import { FormField } from '../../components/FormField';
|
|
7
|
-
import { Button } from '../../components/ui/button';
|
|
8
|
-
import { Input } from '../../components/ui/input';
|
|
9
|
-
import { Badge } from '../../components/ui/badge';
|
|
10
|
-
import { DataTable } from '../../components/DataTable';
|
|
11
|
-
import { ImpactConfirmation } from '../../components/SecretModal';
|
|
12
|
-
import { useConfirm } from '../../components/ConfirmDialog';
|
|
13
|
-
import { toast } from '../../components/toast';
|
|
4
|
+
import { PageHeader, PageError } from '../../components/Page.js';
|
|
5
|
+
import { SettingsCard } from '../../components/SettingsCard.js';
|
|
6
|
+
import { FormField } from '../../components/FormField.js';
|
|
7
|
+
import { Button } from '../../components/ui/button.js';
|
|
8
|
+
import { Input } from '../../components/ui/input.js';
|
|
9
|
+
import { Badge } from '../../components/ui/badge.js';
|
|
10
|
+
import { DataTable } from '../../components/DataTable.js';
|
|
11
|
+
import { ImpactConfirmation } from '../../components/SecretModal.js';
|
|
12
|
+
import { useConfirm } from '../../components/ConfirmDialog.js';
|
|
13
|
+
import { toast } from '../../components/toast.js';
|
|
14
14
|
import { useApi } from '@ploykit/hooks';
|
|
15
15
|
import { useAuth } from '@ploykit/hooks';
|
|
16
16
|
import { useZodForm } from '@ploykit/hooks';
|
|
17
17
|
import { useSessions, useRevokeSession, useRevokeAllSessions } from '@ploykit/hooks';
|
|
18
|
-
import { passwordSchema } from '../auth/RegisterPage';
|
|
19
|
-
import { apiErrorMessage } from '../../lib/api-error';
|
|
20
|
-
import { formatDateTime, shortID } from '../../lib/utils';
|
|
18
|
+
import { passwordSchema } from '../auth/RegisterPage.js';
|
|
19
|
+
import { apiErrorMessage } from '../../lib/api-error.js';
|
|
20
|
+
import { formatDateTime, shortID } from '../../lib/utils.js';
|
|
21
21
|
const changePwSchema = z
|
|
22
22
|
.object({
|
|
23
23
|
old_password: z.string().min(1, '请输入当前密码'),
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
|
-
import { PageHeader, PageEmpty } from '../../components/Page';
|
|
4
|
-
import { FormField } from '../../components/FormField';
|
|
5
|
-
import { Button } from '../../components/ui/button';
|
|
6
|
-
import { Input } from '../../components/ui/input';
|
|
7
|
-
import { Badge } from '../../components/ui/badge';
|
|
8
|
-
import { DataTable } from '../../components/DataTable';
|
|
9
|
-
import { SecretModal } from '../../components/SecretModal';
|
|
10
|
-
import { useConfirm } from '../../components/ConfirmDialog';
|
|
11
|
-
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, } from '../../components/ui/dialog';
|
|
12
|
-
import { toast } from '../../components/toast';
|
|
3
|
+
import { PageHeader, PageEmpty } from '../../components/Page.js';
|
|
4
|
+
import { FormField } from '../../components/FormField.js';
|
|
5
|
+
import { Button } from '../../components/ui/button.js';
|
|
6
|
+
import { Input } from '../../components/ui/input.js';
|
|
7
|
+
import { Badge } from '../../components/ui/badge.js';
|
|
8
|
+
import { DataTable } from '../../components/DataTable.js';
|
|
9
|
+
import { SecretModal } from '../../components/SecretModal.js';
|
|
10
|
+
import { useConfirm } from '../../components/ConfirmDialog.js';
|
|
11
|
+
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, } from '../../components/ui/dialog.js';
|
|
12
|
+
import { toast } from '../../components/toast.js';
|
|
13
13
|
import { useTokens, useCreateToken, useRevokeToken } from '@ploykit/hooks';
|
|
14
|
-
import { apiErrorMessage } from '../../lib/api-error';
|
|
15
|
-
import { formatDateTime } from '../../lib/utils';
|
|
14
|
+
import { apiErrorMessage } from '../../lib/api-error.js';
|
|
15
|
+
import { formatDateTime } from '../../lib/utils.js';
|
|
16
16
|
const NAME_MAX_BYTES = 64;
|
|
17
17
|
const utf8Bytes = (s) => new TextEncoder().encode(s).length;
|
|
18
18
|
export function TokensPage() {
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
3
|
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
4
|
-
import { FormField } from '../../components/FormField';
|
|
5
|
-
import { PageError, PageHeader } from '../../components/Page';
|
|
6
|
-
import { toast } from '../../components/toast';
|
|
7
|
-
import { Badge } from '../../components/ui/badge';
|
|
8
|
-
import { Button } from '../../components/ui/button';
|
|
9
|
-
import { Card, CardAction, CardContent, CardDescription, CardHeader, CardTitle, } from '../../components/ui/card';
|
|
10
|
-
import { Input } from '../../components/ui/input';
|
|
11
|
-
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../components/ui/select';
|
|
12
|
-
import { Switch } from '../../components/ui/switch';
|
|
4
|
+
import { FormField } from '../../components/FormField.js';
|
|
5
|
+
import { PageError, PageHeader } from '../../components/Page.js';
|
|
6
|
+
import { toast } from '../../components/toast.js';
|
|
7
|
+
import { Badge } from '../../components/ui/badge.js';
|
|
8
|
+
import { Button } from '../../components/ui/button.js';
|
|
9
|
+
import { Card, CardAction, CardContent, CardDescription, CardHeader, CardTitle, } from '../../components/ui/card.js';
|
|
10
|
+
import { Input } from '../../components/ui/input.js';
|
|
11
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../components/ui/select.js';
|
|
12
|
+
import { Switch } from '../../components/ui/switch.js';
|
|
13
13
|
import { useApi } from '@ploykit/hooks';
|
|
14
|
-
import { SiteBanner } from '../../components/SiteBanner';
|
|
14
|
+
import { SiteBanner } from '../../components/SiteBanner.js';
|
|
15
15
|
import { SITE_CONFIG_QUERY_KEY } from '@ploykit/hooks';
|
|
16
|
-
import { adminError } from './shared';
|
|
16
|
+
import { adminError } from './shared.js';
|
|
17
17
|
const ERROR_TOAST_MS = 8_000;
|
|
18
18
|
function parseRateLimit(raw) {
|
|
19
19
|
const s = raw.trim();
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Link, Navigate, useLocation } from 'react-router';
|
|
3
3
|
import { Activity, ArrowLeft, Building2, KeyRound, LayoutDashboard, Receipt, ScrollText, Settings, ShieldCheck, Users, Webhook, } from 'lucide-react';
|
|
4
|
-
import { buttonVariants } from '../../components/ui/button';
|
|
5
|
-
import { UserMenu } from '../../components/UserMenu';
|
|
4
|
+
import { buttonVariants } from '../../components/ui/button.js';
|
|
5
|
+
import { UserMenu } from '../../components/UserMenu.js';
|
|
6
6
|
import { useAuth } from '@ploykit/hooks';
|
|
7
|
-
import { cn } from '../../lib/utils';
|
|
7
|
+
import { cn } from '../../lib/utils.js';
|
|
8
8
|
const NAV = [
|
|
9
9
|
{
|
|
10
10
|
to: '/admin/overview',
|
|
@@ -4,15 +4,15 @@ import { useSearchParams } from 'react-router';
|
|
|
4
4
|
import { Download, Search } from 'lucide-react';
|
|
5
5
|
import { useQuery } from '@tanstack/react-query';
|
|
6
6
|
import { apiFetch } from '@ploykit/client';
|
|
7
|
-
import { DataTable } from '../../components/DataTable';
|
|
8
|
-
import { PageEmpty, PageError, PageHeader } from '../../components/Page';
|
|
9
|
-
import { toast } from '../../components/toast';
|
|
10
|
-
import { Button } from '../../components/ui/button';
|
|
11
|
-
import { Input } from '../../components/ui/input';
|
|
7
|
+
import { DataTable } from '../../components/DataTable.js';
|
|
8
|
+
import { PageEmpty, PageError, PageHeader } from '../../components/Page.js';
|
|
9
|
+
import { toast } from '../../components/toast.js';
|
|
10
|
+
import { Button } from '../../components/ui/button.js';
|
|
11
|
+
import { Input } from '../../components/ui/input.js';
|
|
12
12
|
import { useApi } from '@ploykit/hooks';
|
|
13
|
-
import { apiErrorMessage } from '../../lib/api-error';
|
|
14
|
-
import { shortID, formatDateTime } from '../../lib/utils';
|
|
15
|
-
import { ADMIN_PAGE_SIZE, adminError } from './shared';
|
|
13
|
+
import { apiErrorMessage } from '../../lib/api-error.js';
|
|
14
|
+
import { shortID, formatDateTime } from '../../lib/utils.js';
|
|
15
|
+
import { ADMIN_PAGE_SIZE, adminError } from './shared.js';
|
|
16
16
|
const emptyDraft = {
|
|
17
17
|
workspace: '',
|
|
18
18
|
action: '',
|
|
@@ -2,19 +2,19 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { useSearchParams } from 'react-router';
|
|
4
4
|
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
5
|
-
import { useConfirm } from '../../components/ConfirmDialog';
|
|
6
|
-
import { DataTable } from '../../components/DataTable';
|
|
7
|
-
import { PageEmpty, PageError, PageHeader } from '../../components/Page';
|
|
8
|
-
import { SettingsCard } from '../../components/SettingsCard';
|
|
9
|
-
import { toast } from '../../components/toast';
|
|
10
|
-
import { Badge } from '../../components/ui/badge';
|
|
11
|
-
import { StatusBadge } from '../../components/StatusBadge';
|
|
12
|
-
import { Button } from '../../components/ui/button';
|
|
13
|
-
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../components/ui/select';
|
|
14
|
-
import { Tabs, TabsContent, TabsList, TabsTrigger, } from '../../components/ui/tabs';
|
|
5
|
+
import { useConfirm } from '../../components/ConfirmDialog.js';
|
|
6
|
+
import { DataTable } from '../../components/DataTable.js';
|
|
7
|
+
import { PageEmpty, PageError, PageHeader } from '../../components/Page.js';
|
|
8
|
+
import { SettingsCard } from '../../components/SettingsCard.js';
|
|
9
|
+
import { toast } from '../../components/toast.js';
|
|
10
|
+
import { Badge } from '../../components/ui/badge.js';
|
|
11
|
+
import { StatusBadge } from '../../components/StatusBadge.js';
|
|
12
|
+
import { Button } from '../../components/ui/button.js';
|
|
13
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../components/ui/select.js';
|
|
14
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger, } from '../../components/ui/tabs.js';
|
|
15
15
|
import { useApi } from '@ploykit/hooks';
|
|
16
|
-
import { formatDateTime, shortID, statusLabel } from '../../lib/utils';
|
|
17
|
-
import { ADMIN_PAGE_SIZE, adminError, adminListQuery, formatCents, } from './shared';
|
|
16
|
+
import { formatDateTime, shortID, statusLabel } from '../../lib/utils.js';
|
|
17
|
+
import { ADMIN_PAGE_SIZE, adminError, adminListQuery, formatCents, } from './shared.js';
|
|
18
18
|
const ORDER_STATUSES = ['pending', 'paid', 'failed', 'canceled', 'refunded'];
|
|
19
19
|
function orderStatusLabel(s) {
|
|
20
20
|
if (s === 'refunded')
|
|
@@ -3,20 +3,20 @@ import { useEffect, useState } from 'react';
|
|
|
3
3
|
import { useLocation, useSearchParams } from 'react-router';
|
|
4
4
|
import { Copy, Megaphone } from 'lucide-react';
|
|
5
5
|
import { useMutation, useQuery } from '@tanstack/react-query';
|
|
6
|
-
import { DataTable } from '../../components/DataTable';
|
|
7
|
-
import { FormField } from '../../components/FormField';
|
|
8
|
-
import { PageEmpty, PageError, PageHeader } from '../../components/Page';
|
|
9
|
-
import { toast } from '../../components/toast';
|
|
10
|
-
import { Badge } from '../../components/ui/badge';
|
|
11
|
-
import { Button } from '../../components/ui/button';
|
|
12
|
-
import { Card, CardAction, CardDescription, CardHeader, CardTitle, } from '../../components/ui/card';
|
|
13
|
-
import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '../../components/ui/dialog';
|
|
14
|
-
import { Input } from '../../components/ui/input';
|
|
15
|
-
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../components/ui/select';
|
|
6
|
+
import { DataTable } from '../../components/DataTable.js';
|
|
7
|
+
import { FormField } from '../../components/FormField.js';
|
|
8
|
+
import { PageEmpty, PageError, PageHeader } from '../../components/Page.js';
|
|
9
|
+
import { toast } from '../../components/toast.js';
|
|
10
|
+
import { Badge } from '../../components/ui/badge.js';
|
|
11
|
+
import { Button } from '../../components/ui/button.js';
|
|
12
|
+
import { Card, CardAction, CardDescription, CardHeader, CardTitle, } from '../../components/ui/card.js';
|
|
13
|
+
import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '../../components/ui/dialog.js';
|
|
14
|
+
import { Input } from '../../components/ui/input.js';
|
|
15
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../components/ui/select.js';
|
|
16
16
|
import { useApi } from '@ploykit/hooks';
|
|
17
|
-
import { apiErrorMessage } from '../../lib/api-error';
|
|
18
|
-
import { formatDateTime } from '../../lib/utils';
|
|
19
|
-
import { adminError } from './shared';
|
|
17
|
+
import { apiErrorMessage } from '../../lib/api-error.js';
|
|
18
|
+
import { formatDateTime } from '../../lib/utils.js';
|
|
19
|
+
import { adminError } from './shared.js';
|
|
20
20
|
const DAY_OPTIONS = [7, 14, 30, 90];
|
|
21
21
|
const RECENT_LIMIT = 20;
|
|
22
22
|
const STATS_CALIBER = {
|
|
@@ -2,13 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { Link } from 'react-router';
|
|
4
4
|
import { useQuery } from '@tanstack/react-query';
|
|
5
|
-
import { DataTable } from '../../components/DataTable';
|
|
6
|
-
import { PageEmpty, PageError, PageHeader } from '../../components/Page';
|
|
7
|
-
import { Badge } from '../../components/ui/badge';
|
|
8
|
-
import { Button } from '../../components/ui/button';
|
|
5
|
+
import { DataTable } from '../../components/DataTable.js';
|
|
6
|
+
import { PageEmpty, PageError, PageHeader } from '../../components/Page.js';
|
|
7
|
+
import { Badge } from '../../components/ui/badge.js';
|
|
8
|
+
import { Button } from '../../components/ui/button.js';
|
|
9
9
|
import { useApi } from '@ploykit/hooks';
|
|
10
|
-
import { formatDateTime } from '../../lib/utils';
|
|
11
|
-
import { ADMIN_PAGE_SIZE, adminError } from './shared';
|
|
10
|
+
import { formatDateTime } from '../../lib/utils.js';
|
|
11
|
+
import { ADMIN_PAGE_SIZE, adminError } from './shared.js';
|
|
12
12
|
export function SSOPage() {
|
|
13
13
|
const api = useApi();
|
|
14
14
|
const listQ = useQuery({
|
|
@@ -4,21 +4,21 @@ import { Link, useNavigate, useParams } from 'react-router';
|
|
|
4
4
|
import { ArrowLeft, Download } from 'lucide-react';
|
|
5
5
|
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
6
6
|
import { apiFetch } from '@ploykit/client';
|
|
7
|
-
import { useConfirm } from '../../components/ConfirmDialog';
|
|
8
|
-
import { DataTable } from '../../components/DataTable';
|
|
9
|
-
import { PageEmpty, PageError, PageHeader } from '../../components/Page';
|
|
10
|
-
import { ImpactConfirmation } from '../../components/SecretModal';
|
|
11
|
-
import { SettingsCard } from '../../components/SettingsCard';
|
|
12
|
-
import { toast } from '../../components/toast';
|
|
13
|
-
import { Badge } from '../../components/ui/badge';
|
|
14
|
-
import { StatusBadge } from '../../components/StatusBadge';
|
|
15
|
-
import { Button } from '../../components/ui/button';
|
|
16
|
-
import { Input } from '../../components/ui/input';
|
|
7
|
+
import { useConfirm } from '../../components/ConfirmDialog.js';
|
|
8
|
+
import { DataTable } from '../../components/DataTable.js';
|
|
9
|
+
import { PageEmpty, PageError, PageHeader } from '../../components/Page.js';
|
|
10
|
+
import { ImpactConfirmation } from '../../components/SecretModal.js';
|
|
11
|
+
import { SettingsCard } from '../../components/SettingsCard.js';
|
|
12
|
+
import { toast } from '../../components/toast.js';
|
|
13
|
+
import { Badge } from '../../components/ui/badge.js';
|
|
14
|
+
import { StatusBadge } from '../../components/StatusBadge.js';
|
|
15
|
+
import { Button } from '../../components/ui/button.js';
|
|
16
|
+
import { Input } from '../../components/ui/input.js';
|
|
17
17
|
import { useApi, ApiError } from '@ploykit/hooks';
|
|
18
18
|
import { useAuth } from '@ploykit/hooks';
|
|
19
|
-
import { apiErrorMessage } from '../../lib/api-error';
|
|
20
|
-
import { formatDate, formatDateTime, shortID } from '../../lib/utils';
|
|
21
|
-
import { adminError } from './shared';
|
|
19
|
+
import { apiErrorMessage } from '../../lib/api-error.js';
|
|
20
|
+
import { formatDate, formatDateTime, shortID } from '../../lib/utils.js';
|
|
21
|
+
import { adminError } from './shared.js';
|
|
22
22
|
function resendErrorMessage(err) {
|
|
23
23
|
if (err instanceof ApiError) {
|
|
24
24
|
if (err.status === 409)
|
|
@@ -3,21 +3,21 @@ import { useEffect, useState } from 'react';
|
|
|
3
3
|
import { useNavigate, useSearchParams } from 'react-router';
|
|
4
4
|
import { MoreHorizontal, LogIn, ShieldCheck, ShieldOff, UserCog, UserRoundSearch, } from 'lucide-react';
|
|
5
5
|
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
6
|
-
import { useConfirm } from '../../components/ConfirmDialog';
|
|
7
|
-
import { DataTable } from '../../components/DataTable';
|
|
8
|
-
import { PageEmpty, PageError, PageHeader } from '../../components/Page';
|
|
9
|
-
import { ImpactConfirmation } from '../../components/SecretModal';
|
|
10
|
-
import { toast } from '../../components/toast';
|
|
11
|
-
import { Badge } from '../../components/ui/badge';
|
|
12
|
-
import { StatusBadge } from '../../components/StatusBadge';
|
|
13
|
-
import { Button } from '../../components/ui/button';
|
|
14
|
-
import { Input } from '../../components/ui/input';
|
|
15
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from '../../components/ui/dropdown-menu';
|
|
16
|
-
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../components/ui/select';
|
|
6
|
+
import { useConfirm } from '../../components/ConfirmDialog.js';
|
|
7
|
+
import { DataTable } from '../../components/DataTable.js';
|
|
8
|
+
import { PageEmpty, PageError, PageHeader } from '../../components/Page.js';
|
|
9
|
+
import { ImpactConfirmation } from '../../components/SecretModal.js';
|
|
10
|
+
import { toast } from '../../components/toast.js';
|
|
11
|
+
import { Badge } from '../../components/ui/badge.js';
|
|
12
|
+
import { StatusBadge } from '../../components/StatusBadge.js';
|
|
13
|
+
import { Button } from '../../components/ui/button.js';
|
|
14
|
+
import { Input } from '../../components/ui/input.js';
|
|
15
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from '../../components/ui/dropdown-menu.js';
|
|
16
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../components/ui/select.js';
|
|
17
17
|
import { useApi } from '@ploykit/hooks';
|
|
18
18
|
import { useAuth } from '@ploykit/hooks';
|
|
19
|
-
import { formatDate, formatDateTime } from '../../lib/utils';
|
|
20
|
-
import { ADMIN_PAGE_SIZE, adminError, adminListQuery, } from './shared';
|
|
19
|
+
import { formatDate, formatDateTime } from '../../lib/utils.js';
|
|
20
|
+
import { ADMIN_PAGE_SIZE, adminError, adminListQuery, } from './shared.js';
|
|
21
21
|
const STATUS_OPTIONS = [
|
|
22
22
|
{ value: 'active', label: '生效中' },
|
|
23
23
|
{ value: 'disabled', label: '已封禁' },
|
|
@@ -2,16 +2,16 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useSearchParams } from 'react-router';
|
|
3
3
|
import { RefreshCw } from 'lucide-react';
|
|
4
4
|
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
5
|
-
import { DataTable } from '../../components/DataTable';
|
|
6
|
-
import { PageEmpty, PageError, PageHeader } from '../../components/Page';
|
|
7
|
-
import { toast } from '../../components/toast';
|
|
8
|
-
import { Badge } from '../../components/ui/badge';
|
|
9
|
-
import { StatusBadge } from '../../components/StatusBadge';
|
|
10
|
-
import { Button } from '../../components/ui/button';
|
|
11
|
-
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../components/ui/select';
|
|
5
|
+
import { DataTable } from '../../components/DataTable.js';
|
|
6
|
+
import { PageEmpty, PageError, PageHeader } from '../../components/Page.js';
|
|
7
|
+
import { toast } from '../../components/toast.js';
|
|
8
|
+
import { Badge } from '../../components/ui/badge.js';
|
|
9
|
+
import { StatusBadge } from '../../components/StatusBadge.js';
|
|
10
|
+
import { Button } from '../../components/ui/button.js';
|
|
11
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../components/ui/select.js';
|
|
12
12
|
import { useApi } from '@ploykit/hooks';
|
|
13
|
-
import { formatDateTime, shortID, statusLabel } from '../../lib/utils';
|
|
14
|
-
import { ADMIN_PAGE_SIZE, adminError, adminListQuery, } from './shared';
|
|
13
|
+
import { formatDateTime, shortID, statusLabel } from '../../lib/utils.js';
|
|
14
|
+
import { ADMIN_PAGE_SIZE, adminError, adminListQuery, } from './shared.js';
|
|
15
15
|
const DELIVERY_STATUSES = ['pending', 'delivered', 'dead'];
|
|
16
16
|
const LIST_REFETCH_MS = 30_000;
|
|
17
17
|
const COUNT_STALE_MS = 60_000;
|