Skip to content

DT-23: Project Details Page#60

Merged
abdotop merged 3 commits intomasterfrom
23-project-details-page
Aug 30, 2025
Merged

DT-23: Project Details Page#60
abdotop merged 3 commits intomasterfrom
23-project-details-page

Conversation

@abdotop
Copy link
Member

@abdotop abdotop commented Aug 19, 2025

No description provided.

…toggle functionality

feat(projects): Add ProjectPage component to display project details and integrate with sidebar
@abdotop abdotop self-assigned this Aug 19, 2025
@abdotop abdotop linked an issue Aug 19, 2025 that may be closed by this pull request
@abdotop abdotop force-pushed the 23-project-details-page branch from 1492f12 to 8139aa9 Compare August 21, 2025 10:54
const path = url.path
const projectSlug = path.split('/')[2]
if (projectSlug) {
project.fetch({ projectSlug })
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

projectSlug should be either slug or simply project


export function ProjectPage() {
const { nav } = url.params
if (!nav || !pageMap[nav as keyof typeof pageMap]) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

const Component = pageMap[nav as keyof typeof pageMap]
and then check if (!Component)

params: { deployment: (e.target as HTMLSelectElement).value },
})}
value={deployment ?? undefined}
class='select select-'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

select-?

@abdotop abdotop force-pushed the 23-project-details-page branch 3 times, most recently from 738fabe to b1b73f6 Compare August 30, 2025 14:38
@abdotop abdotop requested a review from Copilot August 30, 2025 14:39
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/projectName to slug/name for 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.

</div>
<span class='text-xs text-text2 mt-2'>
<Calendar class='w-4 h-4' />
Create At : <span class='font-semibold'>{formattedDate}</span>
Copy link

Copilot AI Aug 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grammatical error: 'Create At' should be 'Created At'.

Suggested change
Create At : <span class='font-semibold'>{formattedDate}</span>
Created At : <span class='font-semibold'>{formattedDate}</span>

Copilot uses AI. Check for mistakes.
)
}

export const DeploymentPage = ({}: { project: Project }) => {
Copy link

Copilot AI Aug 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'project' parameter is destructured but never used in the component. Remove it from the props interface or use it in the component.

Suggested change
export const DeploymentPage = ({}: { project: Project }) => {
export const DeploymentPage = () => {

Copilot uses AI. Check for mistakes.
value={deployment ?? undefined}
class='select'
>
<option disabled selected>Select Deployment</option>
Copy link

Copilot AI Aug 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'selected' attribute should be 'defaultSelected' in JSX/Preact for proper React compatibility.

Suggested change
<option disabled selected>Select Deployment</option>
<option disabled>Select Deployment</option>

Copilot uses AI. Check for mistakes.
…selection; refactor DeploymentPage and update SettingsPage and TasksPage to use project data
@abdotop abdotop force-pushed the 23-project-details-page branch from b1b73f6 to 9fa318f Compare August 30, 2025 14:43
@abdotop abdotop marked this pull request as ready for review August 30, 2025 14:43
@abdotop abdotop merged commit 55d29bd into master Aug 30, 2025
2 checks passed
@abdotop abdotop deleted the 23-project-details-page branch August 30, 2025 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Project Details Page

3 participants