diff --git a/src/page-components/scheme/M2Scheme.tsx b/src/page-components/scheme/M2Scheme.tsx
new file mode 100644
index 0000000..c102e8a
--- /dev/null
+++ b/src/page-components/scheme/M2Scheme.tsx
@@ -0,0 +1,3 @@
+export function M2Scheme() {
+ return
Material Design 2 Scheme
;
+}
diff --git a/src/page-components/scheme/M3Scheme.tsx b/src/page-components/scheme/M3Scheme.tsx
new file mode 100644
index 0000000..7d38bc7
--- /dev/null
+++ b/src/page-components/scheme/M3Scheme.tsx
@@ -0,0 +1,3 @@
+export function M3Scheme() {
+ return Material Design 3 Scheme
;
+}
diff --git a/src/page-components/scheme/QScheme.tsx b/src/page-components/scheme/QScheme.tsx
new file mode 100644
index 0000000..929d8cf
--- /dev/null
+++ b/src/page-components/scheme/QScheme.tsx
@@ -0,0 +1,3 @@
+export function QScheme() {
+ return Q Scheme
;
+}
diff --git a/src/page-components/scheme/SchemeContent.module.css b/src/page-components/scheme/SchemeContent.module.css
deleted file mode 100644
index e5035eb..0000000
--- a/src/page-components/scheme/SchemeContent.module.css
+++ /dev/null
@@ -1,25 +0,0 @@
-@layer pages {
- .scheme_content {
- flex: 1;
- overflow-y: auto;
- display: flex;
- flex-direction: column;
- gap: var(--spacing-m);
- }
- .series_row {
- display: flex;
- flex-direction: column;
- gap: var(--spacing-s);
- h4 {
- padding-block: var(--spacing-xs);
- font-size: var(--font-size-l);
- }
- ul {
- display: flex;
- flex-direction: row;
- justify-content: flex-start;
- flex-wrap: wrap;
- gap: var(--spacing-l);
- }
- }
-}
diff --git a/src/page-components/scheme/SchemeContent.tsx b/src/page-components/scheme/SchemeContent.tsx
deleted file mode 100644
index 440b195..0000000
--- a/src/page-components/scheme/SchemeContent.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-import { isArray } from 'lodash-es';
-import { ColorStand } from '../../components/ColorStand';
-import { SchemeSet } from '../../stores/schemes';
-import styles from './SchemeContent.module.css';
-
-type ColorSeriesProps = {
- title: string;
- series: SchemeSet['lightScheme' | 'darkScheme']['primary'];
- simpleSeries?: boolean;
-};
-
-function ColorSeries({ title, series, simpleSeries = false }: ColorSeriesProps) {
- return (
-
-
{title}
-
-
- {simpleSeries ? (
- <>
-
-
- >
- ) : (
- <>
-
-
-
-
- >
- )}
-
-
- );
-}
-
-type SchemeContentProps = {
- scheme: SchemeSet['lightScheme' | 'darkScheme'];
-};
-
-export function SchemeContent({ scheme }: SchemeContentProps) {
- return (
-
-
-
-
- {isArray(scheme.secondary) ? (
- scheme.secondary.map((cSet, index) => (
-
- ))
- ) : (
-
- )}
-
-
-
-
-
-
-
- );
-}
diff --git a/src/page-components/scheme/SchemeView.module.css b/src/page-components/scheme/SchemeView.module.css
deleted file mode 100644
index 44ee9b9..0000000
--- a/src/page-components/scheme/SchemeView.module.css
+++ /dev/null
@@ -1,17 +0,0 @@
-@layer pages {
- .scheme_view_layout {
- flex: 1 0;
- width: 100%;
- padding: calc(var(--spacing) * 4) calc(var(--spacing) * 8);
- display: flex;
- flex-direction: column;
- gap: var(--spacing-m);
- overflow: hidden;
- }
- .preview_switch_container {
- display: flex;
- flex-direction: row;
- align-items: center;
- gap: var(--spacing-m);
- }
-}
diff --git a/src/page-components/scheme/SchemeView.tsx b/src/page-components/scheme/SchemeView.tsx
deleted file mode 100644
index 9ee1f42..0000000
--- a/src/page-components/scheme/SchemeView.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { useState } from 'react';
-import { Switch } from '../../components/Switch';
-import { SchemeSet } from '../../stores/schemes';
-import { SchemeContent } from './SchemeContent';
-import styles from './SchemeView.module.css';
-
-type SchemeViewProps = {
- scheme: SchemeSet['lightScheme' | 'darkScheme'];
-};
-
-export function SchemeView({ scheme }: SchemeViewProps) {
- const [enablePreview, setEnablePreview] = useState(false);
-
- return (
-
-
- Preview scheme
- setEnablePreview(checked)} />
-
- {enablePreview ?
SVG Preview
:
}
-
- );
-}
diff --git a/src/page-components/scheme/SwatchScheme.tsx b/src/page-components/scheme/SwatchScheme.tsx
new file mode 100644
index 0000000..09c6ddb
--- /dev/null
+++ b/src/page-components/scheme/SwatchScheme.tsx
@@ -0,0 +1,3 @@
+export function SwatchScheme() {
+ return Swatch Scheme
;
+}
diff --git a/src/page-components/scheme/UnknownScheme.tsx b/src/page-components/scheme/UnknownScheme.tsx
new file mode 100644
index 0000000..6a52859
--- /dev/null
+++ b/src/page-components/scheme/UnknownScheme.tsx
@@ -0,0 +1,3 @@
+export function UnknownScheme() {
+ return Unknown or currupted scheme
;
+}
diff --git a/src/pages/SchemeDetail.tsx b/src/pages/SchemeDetail.tsx
index 5a7835e..b374563 100644
--- a/src/pages/SchemeDetail.tsx
+++ b/src/pages/SchemeDetail.tsx
@@ -1,10 +1,15 @@
import dayjs from 'dayjs';
import { isNil, set } from 'lodash-es';
-import { useCallback, useEffect } from 'react';
+import { useCallback, useEffect, useMemo } from 'react';
import { useNavigate, useParams } from 'react-router-dom';
import { EditableDescription } from '../components/EditableDescription';
import { EditableTitle } from '../components/EditableTitle';
import { SchemeSign } from '../components/SchemeSign';
+import { M2Scheme } from '../page-components/scheme/M2Scheme';
+import { M3Scheme } from '../page-components/scheme/M3Scheme';
+import { QScheme } from '../page-components/scheme/QScheme';
+import { SwatchScheme } from '../page-components/scheme/SwatchScheme';
+import { UnknownScheme } from '../page-components/scheme/UnknownScheme';
import { useScheme, useUpdateScheme } from '../stores/schemes';
import styles from './SchemeDetail.module.css';
@@ -32,6 +37,20 @@ export function SchemeDetail() {
},
[id],
);
+ const schemeContent = useMemo(() => {
+ switch (scheme?.type) {
+ case 'q_scheme':
+ return ;
+ case 'swatch_scheme':
+ return ;
+ case 'material_2':
+ return ;
+ case 'material_3':
+ return ;
+ default:
+ return ;
+ }
+ }, [scheme]);
useEffect(() => {
if (isNil(scheme)) {
@@ -49,6 +68,7 @@ export function SchemeDetail() {
+ {schemeContent}
);
}