Add advanced canvas editing and Ubuntu deployment
This commit is contained in:
+13
-2
@@ -4,7 +4,7 @@ import CanvasStudio from './pages/CanvasStudio';
|
||||
import HelpPage from './pages/HelpPage';
|
||||
import TemplateHome from './pages/TemplateHome';
|
||||
import TestWorkbench from './pages/TestWorkbench';
|
||||
import { CanvasDocument, WordcloudStickerPayload } from './types';
|
||||
import { CanvasDocument, WordcloudReplaceSession, WordcloudStickerPayload } from './types';
|
||||
import { createDefaultDocument } from './lib/canvasDocument';
|
||||
|
||||
type AppPage = 'home' | 'canvas' | 'wordcloud' | 'help';
|
||||
@@ -23,6 +23,7 @@ export default function App() {
|
||||
const [systemTheme, setSystemTheme] = useState<'light' | 'dark'>(getSystemTheme);
|
||||
const [initialDocument, setInitialDocument] = useState<CanvasDocument | null>(null);
|
||||
const [pendingWordcloudSticker, setPendingWordcloudSticker] = useState<WordcloudStickerPayload | null>(null);
|
||||
const [pendingReplaceSession, setPendingReplaceSession] = useState<WordcloudReplaceSession | null>(null);
|
||||
|
||||
const openHelp = () => setPage('help');
|
||||
|
||||
@@ -53,8 +54,11 @@ export default function App() {
|
||||
onThemeModeChange={setThemeMode}
|
||||
onOpenCanvas={() => setPage('canvas')}
|
||||
onOpenHelp={openHelp}
|
||||
replaceSession={pendingReplaceSession}
|
||||
onConsumeReplaceSession={() => setPendingReplaceSession(null)}
|
||||
onImportWordcloudSticker={(payload) => {
|
||||
setPendingWordcloudSticker(payload);
|
||||
setPendingReplaceSession(null);
|
||||
setPage('canvas');
|
||||
}}
|
||||
/>
|
||||
@@ -68,8 +72,15 @@ export default function App() {
|
||||
systemTheme={systemTheme}
|
||||
onThemeModeChange={setThemeMode}
|
||||
onOpenHome={() => setPage('home')}
|
||||
onOpenWordcloud={() => setPage('wordcloud')}
|
||||
onOpenWordcloud={() => {
|
||||
setPendingReplaceSession(null);
|
||||
setPage('wordcloud');
|
||||
}}
|
||||
onOpenHelp={openHelp}
|
||||
onReplaceWordcloudNames={(session) => {
|
||||
setPendingReplaceSession(session);
|
||||
setPage('wordcloud');
|
||||
}}
|
||||
initialDocument={initialDocument}
|
||||
onConsumeInitialDocument={() => setInitialDocument(null)}
|
||||
pendingWordcloudSticker={pendingWordcloudSticker}
|
||||
|
||||
Reference in New Issue
Block a user