summaryrefslogtreecommitdiff
path: root/frontend/src/stores/index.ts
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-24 15:50:43 +0000
committersoryu <soryu@soryu.co>2026-01-24 16:17:59 +0000
commit595548db950eca303a7d73ca09f31895d291534f (patch)
treead6317979526e6a683fa6987bc9979ec3ac055f3 /frontend/src/stores/index.ts
parentabc5fbed331ea527ccaac0cd4120c4a0650f8bc0 (diff)
downloadsoryu-595548db950eca303a7d73ca09f31895d291534f.tar.gz
soryu-595548db950eca303a7d73ca09f31895d291534f.zip
feat(frontend): Add Templates page for managing contract templates
- Add NavStrip component for top navigation between pages - Create Templates page with template card grid layout - Create TemplateEditor component for editing phase deliverables - Add navigation state management in stores - Implement three built-in templates: - Simple: Plan phase (Plan deliverable), Execute phase (PR deliverable) - Specification: Research, Specify, Plan, Execute, Review phases with deliverables - Execute: Single execute phase with no deliverables - Support for creating custom templates with configurable phases/deliverables - Templates are persisted to localStorage - Add comprehensive CSS styling matching existing design patterns Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> [WIP] Heartbeat checkpoint - 2026-01-24 16:13:00 UTC [WIP] Heartbeat checkpoint - 2026-01-24 16:14:29 UTC
Diffstat (limited to 'frontend/src/stores/index.ts')
-rw-r--r--frontend/src/stores/index.ts9
1 files changed, 9 insertions, 0 deletions
diff --git a/frontend/src/stores/index.ts b/frontend/src/stores/index.ts
index 58f461c..2fc356d 100644
--- a/frontend/src/stores/index.ts
+++ b/frontend/src/stores/index.ts
@@ -4,6 +4,10 @@ import { ChatMessage, Choice } from '../types'
// Authentication state
export const isLoggedInStore = atom<boolean>(false)
+// Navigation state
+export type NavPage = 'main' | 'templates'
+export const currentPageStore = atom<NavPage>('main')
+
// VN Interface state
export const isStandbyStore = atom<boolean>(false)
export const currentTimeStore = atom<Date>(new Date())
@@ -91,4 +95,9 @@ export const setLoadingComplete = (complete: boolean) => {
if (complete) {
loadingStore.set(false)
}
+}
+
+// Navigation actions
+export const navigateTo = (page: NavPage) => {
+ currentPageStore.set(page)
} \ No newline at end of file