diff options
| author | soryu <soryu@soryu.co> | 2026-01-25 02:19:42 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-25 02:19:42 +0000 |
| commit | 03ab90836707954277597dc21fd8035019d8e221 (patch) | |
| tree | 061a880c6ea2cd3bee2fa80137a2e7e3bf3ec6fb /makima/frontend/src/main.tsx | |
| parent | 2003544969e5b7248ecd242b5cec50b324fa751b (diff) | |
| download | soryu-03ab90836707954277597dc21fd8035019d8e221.tar.gz soryu-03ab90836707954277597dc21fd8035019d8e221.zip | |
Move files tab and file pages to be accessible via contracts (#28)
* feat: remove Files from top-level navigation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: update file links to use contract-scoped routes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: add contract context to FileDetail component
- Add contractId, contractName, and onContractClick props to FileDetailProps
- Update breadcrumb navigation to show contract name with path separator
when viewing file within a contract context
- Fall back to "Back to list" when no contract context is provided
- This enables the FileDetail component to be used within the
/contracts/:contractId/files/:fileId route
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: update routes to nest files under contracts
- Add react-router-dom for client-side routing
- Create ContractList component to list all contracts
- Create ContractDetail component with tabs (overview, files, tasks, repos)
- Create FileDetail component to view individual files
- Configure routes:
- /contracts - list all contracts
- /contracts/:id - view contract details with Files tab
- /contracts/:contractId/files/:fileId - view file in contract context
- Remove standalone file routes (/files, /files/:id)
Files are now only accessible through their parent contract.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Task completion checkpoint
* Task completion checkpoint
* Task completion checkpoint
* Task completion checkpoint
* Task completion checkpoint
* Task completion checkpoint
* Task completion checkpoint
* Task completion checkpoint
* feat: Add contract-scoped file route /contracts/:id/files/:fileId
- Create ContractFilePage component for viewing files within contract context
- Add route for /contracts/:id/files/:fileId in main.tsx
- Update handleFileSelect in contracts.tsx to navigate to contract-scoped file URL
- File viewer now has "Back to Contract" navigation instead of standalone /files
This allows files accessed from a contract to maintain context and return
to the contract page when going back.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Task completion checkpoint
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'makima/frontend/src/main.tsx')
| -rw-r--r-- | makima/frontend/src/main.tsx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/makima/frontend/src/main.tsx b/makima/frontend/src/main.tsx index 0464495..383b732 100644 --- a/makima/frontend/src/main.tsx +++ b/makima/frontend/src/main.tsx @@ -17,6 +17,7 @@ import MeshPage from "./routes/mesh"; import HistoryPage from "./routes/history"; import LoginPage from "./routes/login"; import SettingsPage from "./routes/settings"; +import ContractFilePage from "./routes/contract-file"; import TemplatesPage from "./routes/templates"; createRoot(document.getElementById("root")!).render( @@ -71,6 +72,14 @@ createRoot(document.getElementById("root")!).render( } /> <Route + path="/contracts/:id/files/:fileId" + element={ + <ProtectedRoute> + <ContractFilePage /> + </ProtectedRoute> + } + /> + <Route path="/workflow" element={ <ProtectedRoute> |
