Conversation
…toggle functionality feat(projects): Add ProjectPage component to display project details and integrate with sidebar
1492f12 to
8139aa9
Compare
web/pages/ProjectPage.tsx
Outdated
| const path = url.path | ||
| const projectSlug = path.split('/')[2] | ||
| if (projectSlug) { | ||
| project.fetch({ projectSlug }) |
There was a problem hiding this comment.
projectSlug should be either slug or simply project
web/pages/ProjectPage.tsx
Outdated
|
|
||
| export function ProjectPage() { | ||
| const { nav } = url.params | ||
| if (!nav || !pageMap[nav as keyof typeof pageMap]) { |
There was a problem hiding this comment.
const Component = pageMap[nav as keyof typeof pageMap]
and then check if (!Component)
web/pages/project/DeploymentPage.tsx
Outdated
| params: { deployment: (e.target as HTMLSelectElement).value }, | ||
| })} | ||
| value={deployment ?? undefined} | ||
| class='select select-' |
738fabe to
b1b73f6
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR implements a project details page feature that introduces navigation to individual project pages and project settings management. The changes refactor the project schema to use more standard field names and add comprehensive project management capabilities.
- Refactored project schema fields from
projectSlug/projectNametoslug/namefor consistency - Added new project detail pages with sidebar navigation for deployments, tasks, and settings
- Implemented comprehensive project settings with deployment and user management features
Reviewed Changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| web/pages/project/TaskPage.tsx | New task page component displaying project information |
| web/pages/project/SettingsPage.tsx | Comprehensive settings page with project info, deployments, and user management forms |
| web/pages/project/DeploymentPage.tsx | Deployment management page with detailed deployment cards and navigation |
| web/pages/ProjectsPage.tsx | Updated to use new schema field names and extract layout components |
| web/pages/ProjectPage.tsx | Main project page router with sidebar navigation |
| web/index.tsx | Added routing logic for project detail pages |
| web/components/forms.tsx | New form components (Card, Input, Button, Switch) for consistent UI |
| web/components/SideBar.tsx | Collapsible sidebar navigation for project pages |
| web/components/Layout.tsx | Extracted reusable layout components |
| tasks/seed.ts | Updated seed data to use new schema field names |
| api/schema.ts | Refactored project schema and added deployment schema definition |
| api/routes.ts | Updated API routes to use new project field names |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
web/pages/project/DeploymentPage.tsx
Outdated
| </div> | ||
| <span class='text-xs text-text2 mt-2'> | ||
| <Calendar class='w-4 h-4' /> | ||
| Create At : <span class='font-semibold'>{formattedDate}</span> |
There was a problem hiding this comment.
Grammatical error: 'Create At' should be 'Created At'.
| Create At : <span class='font-semibold'>{formattedDate}</span> | |
| Created At : <span class='font-semibold'>{formattedDate}</span> |
| ) | ||
| } | ||
|
|
||
| export const DeploymentPage = ({}: { project: Project }) => { |
There was a problem hiding this comment.
The 'project' parameter is destructured but never used in the component. Remove it from the props interface or use it in the component.
| export const DeploymentPage = ({}: { project: Project }) => { | |
| export const DeploymentPage = () => { |
web/pages/project/DeploymentPage.tsx
Outdated
| value={deployment ?? undefined} | ||
| class='select' | ||
| > | ||
| <option disabled selected>Select Deployment</option> |
There was a problem hiding this comment.
The 'selected' attribute should be 'defaultSelected' in JSX/Preact for proper React compatibility.
| <option disabled selected>Select Deployment</option> | |
| <option disabled>Select Deployment</option> |
…selection; refactor DeploymentPage and update SettingsPage and TasksPage to use project data
b1b73f6 to
9fa318f
Compare
No description provided.