chore: mark US-017 as complete and update progress log
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
db742e7fe8
commit
c314ae7b8c
2
prd.json
2
prd.json
|
|
@ -301,7 +301,7 @@
|
||||||
"Verify in browser using dev-browser skill"
|
"Verify in browser using dev-browser skill"
|
||||||
],
|
],
|
||||||
"priority": 17,
|
"priority": 17,
|
||||||
"passes": false,
|
"passes": true,
|
||||||
"notes": ""
|
"notes": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
22
progress.txt
22
progress.txt
|
|
@ -17,6 +17,9 @@
|
||||||
- Toast component in `src/components/Toast.tsx` for success/error notifications (auto-dismiss after 3s)
|
- Toast component in `src/components/Toast.tsx` for success/error notifications (auto-dismiss after 3s)
|
||||||
- Admin operations use SUPABASE_SERVICE_ROLE_KEY (server-side only via server actions)
|
- Admin operations use SUPABASE_SERVICE_ROLE_KEY (server-side only via server actions)
|
||||||
- Admin users have is_admin=true in profiles table; check via .select('is_admin').eq('id', user.id).single()
|
- Admin users have is_admin=true in profiles table; check via .select('is_admin').eq('id', user.id).single()
|
||||||
|
- React Flow editor is in `src/app/editor/[projectId]/` with page.tsx (server) and FlowchartEditor.tsx (client)
|
||||||
|
- React Flow requires 'use client' and importing 'reactflow/dist/style.css'
|
||||||
|
- Use toReactFlowNodes/toReactFlowEdges helpers to convert app types to React Flow types
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -260,3 +263,22 @@
|
||||||
- Admin check should happen both in server component (redirect) and server action (double check)
|
- Admin check should happen both in server component (redirect) and server action (double check)
|
||||||
- Admin page uses its own layout (not dashboard layout) to have custom styling
|
- Admin page uses its own layout (not dashboard layout) to have custom styling
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 2026-01-21 - US-017
|
||||||
|
- What was implemented: Editor page with React Flow canvas
|
||||||
|
- Files changed:
|
||||||
|
- package.json - added reactflow dependency
|
||||||
|
- src/app/editor/[projectId]/page.tsx - new server component that fetches project from Supabase, handles auth/not found, renders header with back link
|
||||||
|
- src/app/editor/[projectId]/FlowchartEditor.tsx - new client component with React Flow canvas, Background component, type converters for nodes/edges
|
||||||
|
- src/app/editor/[projectId]/loading.tsx - new loading state component with spinner
|
||||||
|
- **Learnings for future iterations:**
|
||||||
|
- React Flow requires 'use client' directive since it uses browser APIs
|
||||||
|
- Import 'reactflow/dist/style.css' for default React Flow styling
|
||||||
|
- Use useNodesState and useEdgesState hooks for managing nodes/edges state
|
||||||
|
- Convert app types (FlowchartNode, FlowchartEdge) to React Flow types with helper functions
|
||||||
|
- Next.js dynamic route params come as Promise in App Router 16+ (need to await params)
|
||||||
|
- Use notFound() from next/navigation for 404 responses
|
||||||
|
- React Flow canvas needs parent container with explicit height (h-full, h-screen)
|
||||||
|
- Background component accepts variant (Dots, Lines, Cross) and gap/size props
|
||||||
|
- Loading page (loading.tsx) provides automatic loading UI for async server components
|
||||||
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue