diff --git a/src/page-components/scheme/M2Scheme.tsx b/src/page-components/scheme/M2Scheme.tsx index 9a50c66..d480cb3 100644 --- a/src/page-components/scheme/M2Scheme.tsx +++ b/src/page-components/scheme/M2Scheme.tsx @@ -3,6 +3,7 @@ import { useState } from 'react'; import { Tab } from '../../components/Tab'; import { MaterialDesign2SchemeStorage } from '../../material-2-scheme'; import { SchemeContent } from '../../models'; +import { isNilOrEmpty } from '../../utls'; import { SchemeExport } from './Export'; import { M2SchemeBuilder } from './m2-scheme/Builder'; import { M2SchemePreview } from './m2-scheme/Preview'; @@ -24,7 +25,15 @@ export function M2Scheme({ scheme }: M2SchemeProps) { return ( <> - setActiveTab(v as string)} /> + setActiveTab(v as string)} + disabled={{ + overview: isNilOrEmpty(scheme.schemeStorage?.scheme), + export: isNilOrEmpty(scheme.schemeStorage?.cssVariables), + }} + /> {isEqual(activeTab, 'overview') && } {isEqual(activeTab, 'builder') && ( setActiveTab('overview')} /> diff --git a/src/page-components/scheme/M3DynamicScheme.tsx b/src/page-components/scheme/M3DynamicScheme.tsx index 9ec474d..f3e7b04 100644 --- a/src/page-components/scheme/M3DynamicScheme.tsx +++ b/src/page-components/scheme/M3DynamicScheme.tsx @@ -3,6 +3,7 @@ import { useState } from 'react'; import { Tab } from '../../components/Tab'; import { MaterialDesign3DynamicSchemeStorage } from '../../material-3-scheme'; import { SchemeContent } from '../../models'; +import { isNilOrEmpty } from '../../utls'; import { SchemeExport } from './Export'; import { M3DynamicSchemeBuilder } from './m3-dynamic-scheme/Builder'; import { M3SchemePreview } from './m3-scheme/Preview'; @@ -24,7 +25,15 @@ export function M3DynamicScheme({ scheme }: M3SchemeProps) { return ( <> - setActiveTab(v as string)} /> + setActiveTab(v as string)} + disabled={{ + overview: isNilOrEmpty(scheme.schemeStorage?.scheme), + export: isNilOrEmpty(scheme.schemeStorage?.cssVariables), + }} + /> {isEqual(activeTab, 'overview') && } {isEqual(activeTab, 'builder') && ( setActiveTab('overview')} /> diff --git a/src/page-components/scheme/M3Scheme.tsx b/src/page-components/scheme/M3Scheme.tsx index 1d804bc..f83120d 100644 --- a/src/page-components/scheme/M3Scheme.tsx +++ b/src/page-components/scheme/M3Scheme.tsx @@ -3,6 +3,7 @@ import { useState } from 'react'; import { Tab } from '../../components/Tab'; import { MaterialDesign3SchemeStorage } from '../../material-3-scheme'; import { SchemeContent } from '../../models'; +import { isNilOrEmpty } from '../../utls'; import { SchemeExport } from './Export'; import { M3SchemeBuilder } from './m3-scheme/Builder'; import { M3SchemePreview } from './m3-scheme/Preview'; @@ -24,7 +25,15 @@ export function M3Scheme({ scheme }: M3SchemeProps) { return ( <> - setActiveTab(v as string)} /> + setActiveTab(v as string)} + disabled={{ + overview: isNilOrEmpty(scheme.schemeStorage?.scheme), + export: isNilOrEmpty(scheme.schemeStorage?.cssVariables), + }} + /> {isEqual(activeTab, 'overview') && } {isEqual(activeTab, 'builder') && ( setActiveTab('overview')} /> diff --git a/src/page-components/scheme/QScheme.tsx b/src/page-components/scheme/QScheme.tsx index 6ed0730..b2dd09c 100644 --- a/src/page-components/scheme/QScheme.tsx +++ b/src/page-components/scheme/QScheme.tsx @@ -3,6 +3,7 @@ import { useState } from 'react'; import { Tab } from '../../components/Tab'; import { SchemeContent } from '../../models'; import { QSchemeStorage } from '../../q-scheme'; +import { isNilOrEmpty } from '../../utls'; import { SchemeExport } from './Export'; import { QSchemeBuilder } from './q-scheme/Builder'; import { QSchemePreview } from './q-scheme/Preview'; @@ -24,7 +25,15 @@ export function QScheme({ scheme }: QSchemeProps) { return ( <> - setActiveTab(v as string)} /> + setActiveTab(v as string)} + disabled={{ + overview: isNilOrEmpty(scheme.schemeStorage?.scheme), + export: isNilOrEmpty(scheme.schemeStorage?.cssVariables), + }} + /> {isEqual(activeTab, 'overview') && } {isEqual(activeTab, 'builder') && ( setActiveTab('overview')} /> diff --git a/src/page-components/scheme/SwatchScheme.tsx b/src/page-components/scheme/SwatchScheme.tsx index dc942c7..2512224 100644 --- a/src/page-components/scheme/SwatchScheme.tsx +++ b/src/page-components/scheme/SwatchScheme.tsx @@ -3,6 +3,7 @@ import { useState } from 'react'; import { Tab } from '../../components/Tab'; import { SchemeContent } from '../../models'; import { SwatchSchemeStorage } from '../../swatch_scheme'; +import { isNilOrEmpty } from '../../utls'; import { SchemeExport } from './Export'; import { SwatchSchemeBuilder } from './swatch-scheme/Builder'; import { SwatchSchemePreview } from './swatch-scheme/Preview'; @@ -24,7 +25,15 @@ export function SwatchScheme({ scheme }: SwatchSchemeProps) { return ( <> - setActiveTab(v as string)} /> + setActiveTab(v as string)} + disabled={{ + overview: isNilOrEmpty(scheme.schemeStorage?.scheme), + export: isNilOrEmpty(scheme.schemeStorage?.cssVariables), + }} + /> {isEqual(activeTab, 'overview') && } {isEqual(activeTab, 'builder') && ( setActiveTab('overview')} />