diff --git a/src/page-components/scheme/M2Scheme.tsx b/src/page-components/scheme/M2Scheme.tsx index c102e8a..fd2521c 100644 --- a/src/page-components/scheme/M2Scheme.tsx +++ b/src/page-components/scheme/M2Scheme.tsx @@ -1,3 +1,29 @@ -export function M2Scheme() { - return
Material Design 2 Scheme
; +import { isEqual, isNil } from 'lodash-es'; +import { useState } from 'react'; +import { Tab } from '../../components/Tab'; +import { SchemeExport } from './Export'; + +const tabOptions = [ + { title: 'Overview', id: 'overview' }, + { title: 'Builder', id: 'builder' }, + { title: 'Exports', id: 'export' }, +]; + +type M3SchemeProps = { + scheme: SchemeContent; +}; + +export function M2Scheme({ scheme }: M3SchemeProps) { + const [activeTab, setActiveTab] = useState<(typeof tabOptions)[number]['id']>(() => + isNil(scheme.schemeStorage.scheme) ? 'builder' : 'overview', + ); + + return ( + <> + + {isEqual(activeTab, 'overview') &&
Preview
} + {isEqual(activeTab, 'builder') &&
Builder
} + {isEqual(activeTab, 'export') && } + + ); } diff --git a/src/page-components/scheme/M3Scheme.tsx b/src/page-components/scheme/M3Scheme.tsx index 7d38bc7..6dc9485 100644 --- a/src/page-components/scheme/M3Scheme.tsx +++ b/src/page-components/scheme/M3Scheme.tsx @@ -1,3 +1,30 @@ -export function M3Scheme() { - return
Material Design 3 Scheme
; +import { isEqual, isNil } from 'lodash-es'; +import { useState } from 'react'; +import { Tab } from '../../components/Tab'; +import { MaterialDesign3SchemeStorage } from '../../material-3-scheme'; +import { SchemeExport } from './Export'; + +const tabOptions = [ + { title: 'Overview', id: 'overview' }, + { title: 'Builder', id: 'builder' }, + { title: 'Exports', id: 'export' }, +]; + +type M3SchemeProps = { + scheme: SchemeContent; +}; + +export function M3Scheme({ scheme }: M3SchemeProps) { + const [activeTab, setActiveTab] = useState<(typeof tabOptions)[number]['id']>(() => + isNil(scheme.schemeStorage.scheme) ? 'builder' : 'overview', + ); + + return ( + <> + + {isEqual(activeTab, 'overview') &&
Preview
} + {isEqual(activeTab, 'builder') &&
Builder
} + {isEqual(activeTab, 'export') && } + + ); }