-
Notifications
You must be signed in to change notification settings - Fork 968
/
Copy pathdashboard.stories.tsx
81 lines (75 loc) · 1.93 KB
/
dashboard.stories.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import type { StoryFn } from "@storybook/react";
import type { JSX } from "react";
import { createBrowserRouter, RouterProvider } from "react-router-dom";
import { Dashboard } from "./dashboard";
import type { UserPlanFeatures } from "~/shared/db/user-plan-features.server";
import type { DashboardProject } from "@webstudio-is/dashboard";
export default {
title: "Dashboard / Projects",
component: Dashboard,
};
const user = {
id: "0",
createdAt: new Date().toString(),
email: null,
image: null,
username: "Taylor",
teamId: null,
provider: "github",
};
const createRouter = (element: JSX.Element) =>
createBrowserRouter([
{
path: "*",
element,
loader: () => null,
},
]);
const userPlanFeatures: UserPlanFeatures = {
hasProPlan: false,
hasSubscription: false,
allowShareAdminLinks: false,
allowDynamicData: false,
maxContactEmails: 0,
maxDomainsAllowedPerUser: 1,
};
export const Empty: StoryFn<typeof Dashboard> = () => {
const router = createRouter(
<Dashboard
user={user}
projects={[]}
templates={[]}
userPlanFeatures={userPlanFeatures}
publisherHost={"https://wstd.work"}
/>
);
return <RouterProvider router={router} />;
};
export const WithProjects: StoryFn<typeof Dashboard> = () => {
const projects = [
{
id: "0",
createdAt: new Date().toString(),
title: "My Project",
domain: "domain.com",
userId: "",
isDeleted: false,
isPublished: false,
latestBuild: null,
previewImageAsset: null,
previewImageAssetId: "",
latestBuildVirtual: null,
marketplaceApprovalStatus: "UNLISTED" as const,
} as DashboardProject,
];
const router = createRouter(
<Dashboard
user={user}
projects={projects}
templates={projects}
userPlanFeatures={userPlanFeatures}
publisherHost={"https://wstd.work"}
/>
);
return <RouterProvider router={router} />;
};