From 3616c7267360bbe69de9aaa254b296af65986207 Mon Sep 17 00:00:00 2001 From: Nathan Vasse Date: Thu, 18 Jan 2024 16:49:47 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(demo)=20new=20demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This new demo aims to take advantage of all the new Cunningham's components. The old demo was kind of a draft, this new one gives a better overview of what Cunningham is capable of. --- .changeset/shiny-pumpkins-shave.md | 5 + apps/demo/cunningham.ts | 15 +-- apps/demo/package.json | 1 + apps/demo/public/pattern_dark.png | Bin 0 -> 28457 bytes apps/demo/public/pattern_default.png | Bin 0 -> 41243 bytes apps/demo/src/App.tsx | 101 ++++++++-------- apps/demo/src/Character.ts | 168 +++++++++++++++++++++++++++ apps/demo/src/Create.tsx | 132 +++++++++++++++++++++ apps/demo/src/Home.tsx | 141 ++++++++++++++++++++++ apps/demo/src/cunningham-tokens.css | 7 +- apps/demo/src/cunningham-tokens.ts | 2 +- apps/demo/src/index.scss | 105 ++++++++++++++--- yarn.lock | 2 +- 13 files changed, 598 insertions(+), 81 deletions(-) create mode 100644 .changeset/shiny-pumpkins-shave.md create mode 100644 apps/demo/public/pattern_dark.png create mode 100644 apps/demo/public/pattern_default.png create mode 100644 apps/demo/src/Character.ts create mode 100644 apps/demo/src/Create.tsx create mode 100644 apps/demo/src/Home.tsx diff --git a/.changeset/shiny-pumpkins-shave.md b/.changeset/shiny-pumpkins-shave.md new file mode 100644 index 0000000..59ec2b3 --- /dev/null +++ b/.changeset/shiny-pumpkins-shave.md @@ -0,0 +1,5 @@ +--- +"cunningham-demo": major +--- + +new demo diff --git a/apps/demo/cunningham.ts b/apps/demo/cunningham.ts index d1920b9..d16ad01 100644 --- a/apps/demo/cunningham.ts +++ b/apps/demo/cunningham.ts @@ -1,14 +1,5 @@ import { Configuration } from "@openfun/cunningham-react"; -const config: Configuration = { - themes: { - default: { - components: { - button: { - "border-radius": "30px", - }, - }, - }, - }, -}; -export default config; +const defaultConfig: Configuration = { themes: {} }; + +export default defaultConfig; diff --git a/apps/demo/package.json b/apps/demo/package.json index 3152aae..b9f4bb8 100644 --- a/apps/demo/package.json +++ b/apps/demo/package.json @@ -11,6 +11,7 @@ "preview": "vite preview" }, "dependencies": { + "@faker-js/faker": "8.3.1", "@openfun/cunningham-react": "*", "@openfun/cunningham-tokens": "*", "@openfun/typescript-configs": "*", diff --git a/apps/demo/public/pattern_dark.png b/apps/demo/public/pattern_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..8256464a0558820d2bf26d68451c65ae8c460149 GIT binary patch literal 28457 zcmZU52{_dK`}KE*VM3XnY*CCBRETUX7)yJ$WZ##v6-s0`V+n=mDHK`CE^FBtGs;pF zg+^IsL=qEYn+9WM-p};=z5n-rU9anMVT@Tn_qoqG_qp9OGdZ_iKvDpLpzRmVpEide z9`G$3Lh^wx8h->&f-l={p0~XXL4v!upD-xvnFP2HcH8`%0aVq$XAb

#1+74?(r5 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 z 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≻Y|Dh+i7l{iQ?P&V{3nBp3>A~(<= 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 void; +} + +const preferredScheme = window.matchMedia("(prefers-color-scheme: dark)") + .matches + ? Theme.DARK + : Theme.DEFAULT; export const App = () => { - const pagination = usePagination({ defaultPage: 50, defaultPagesCount: 100 }); - const [locale, setLocale] = useState("en-US"); - const [theme, setTheme] = useState(Theme.DEFAULT); + const [locale] = useState("en-US"); + const [theme, setTheme] = useState(preferredScheme); + const [page, setPage] = useState(Page.HOME); + const handleThemeChange = (event: MediaQueryListEvent) => + setTheme(event.matches ? Theme.DARK : Theme.DEFAULT); + + useEffect(() => { + const query = window.matchMedia("(prefers-color-scheme: dark)"); + query.addEventListener("change", handleThemeChange); + + return () => { + query.removeEventListener("change", handleThemeChange); + }; + }, []); + return ( -

-

Cunningham Demo.

- -
- ({ - label: v, - }))} - clearable={false} - value={THEMES[0]} - onChange={(e) => setTheme(e.target.value as Theme)} +
+ Background pattern + {page === Page.HOME && setPage(p)} />} + {page === Page.CREATE && setPage(p)} />} +
-
- -
- -

- Primary-500 color is{" "} - {tokens.themes[theme].theme.colors["primary-500"]} -

- +
+
); diff --git a/apps/demo/src/Character.ts b/apps/demo/src/Character.ts new file mode 100644 index 0000000..701f5a6 --- /dev/null +++ b/apps/demo/src/Character.ts @@ -0,0 +1,168 @@ +import { faker } from "@faker-js/faker"; + +export interface Character { + id: string; + name: string; + gender: "male" | "female" | "other"; + birthDate: Date; + firstAppearanceDate: Date; + lastAppearanceDate: Date; + isGuest: boolean; +} + +export const randomDates = () => { + return { + birthDate: faker.date.between({ + from: "1950-01-01T00:00:00.000Z", + to: "1970-01-01T00:00:00.000Z", + }), + firstAppearanceDate: faker.date.between({ + from: "1974-01-01T00:00:00.000Z", + to: "1984-01-01T00:00:00.000Z", + }), + lastAppearanceDate: faker.date.past(), + }; +}; + +export const database: Character[] = [ + { + id: faker.string.uuid(), + name: "Richie Cunningham", + gender: "male", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Joanie Cunningham", + gender: "female", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Arthur Fonzarelli", + gender: "male", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Marion Cunningham", + gender: "female", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Ralph Malph", + gender: "male", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Howard Cunningham", + gender: "male", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Marsha Simms", + gender: "female", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Warren Berlinger", + gender: "male", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Al Molinaro", + gender: "male", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Verna LaVerne", + gender: "female", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Arnold Takahashi", + gender: "male", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Linda Purl", + gender: "female", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Crystal Bernard", + gender: "female", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Heather O'Rourke", + gender: "female", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Scott Bernstein", + gender: "male", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Ed Peck", + gender: "male", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Beatrice Colen", + gender: "female", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Dody Goodman", + gender: "female", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Linda Dano", + gender: "female", + isGuest: false, + ...randomDates(), + }, + { + id: faker.string.uuid(), + name: "Gavan O'Herlihy", + gender: "male", + isGuest: false, + ...randomDates(), + }, +]; diff --git a/apps/demo/src/Create.tsx b/apps/demo/src/Create.tsx new file mode 100644 index 0000000..384df61 --- /dev/null +++ b/apps/demo/src/Create.tsx @@ -0,0 +1,132 @@ +import React from "react"; +import { + Alert, + AlertType, + Button, + Checkbox, + DatePicker, + DateRangePicker, + FileUploader, + Input, + Radio, + RadioGroup, + Select, + Switch, + TextArea, + ToastType, + useToastProvider, +} from "@openfun/cunningham-react"; +import { faker } from "@faker-js/faker"; +import { Character, database, randomDates } from "./Character"; +import { Page, PageProps } from "./App"; + +export const Create = ({ changePage }: PageProps) => { + const { toast } = useToastProvider(); + const inputRef = React.useRef(null); + + const submit = () => { + const character: Character = { + id: faker.string.uuid(), + name: inputRef.current?.value || "", + gender: "male", + isGuest: false, + ...randomDates(), + }; + database.unshift(character); + + changePage(Page.HOME); + toast("Character created successfully", ToastType.SUCCESS); + }; + + return ( +
+

Add a character

+
+

General Information

+ + You are about to add a new character to the collection + + +