Skip to content

25 adjust project create modal to be consistent with project settings page#26

Merged
martian56 merged 3 commits intomainfrom
25-adjust-project-create-modal-to-be-consistent-with-project-settings-page
Mar 10, 2026
Merged

25 adjust project create modal to be consistent with project settings page#26
martian56 merged 3 commits intomainfrom
25-adjust-project-create-modal-to-be-consistent-with-project-settings-page

Conversation

@martian56
Copy link
Member

This pull request introduces significant enhancements to project creation and configuration, both in the backend and frontend. The main updates expand the project creation API and UI to support additional metadata and settings, such as description, cover image, emoji, icon, project lead, and network visibility. The UI now provides a more flexible and feature-rich modal for creating projects, and the backend ensures these new fields are handled consistently. Additionally, a unique database index is added to prevent duplicate user favorites.

Backend enhancements to project creation and metadata:

  • The CreateProjectRequest API and the ProjectHandler.Create handler now accept and process new optional fields: description, timezone, cover_image, emoji, icon_prop, project_lead_id, default_assignee_id, and several feature toggles (such as guest access and module/cycle/page views). These fields are immediately applied during project creation using the same logic as the update flow, ensuring consistency. [1] [2] [3]

  • A unique index (idx_user_fav_entity) is added to the user_favorites table to prevent users from favoriting the same entity multiple times.

Frontend improvements to project creation UI:

  • The CreateProjectModal now supports selecting a cover image, project icon (emoji or custom icon), project lead, and network visibility (public/private). The modal has been redesigned for better usability, including new components for selecting project lead and network. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

  • Two new reusable components, ProjectLeadSelect and ProjectNetworkSelect, are introduced for selecting the project lead from workspace members and toggling project visibility, respectively. [1] [2]

Settings page updates:

  • The Settings page now correctly reflects the persisted network visibility of a project by deriving the dropdown value from the backend field. [1] [2]

Closes #25

@martian56 martian56 added this to the Deadline milestone Mar 10, 2026
@martian56 martian56 self-assigned this Mar 10, 2026
Copilot AI review requested due to automatic review settings March 10, 2026 20:02
@martian56 martian56 added enhancement New feature or request UI UX labels Mar 10, 2026
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 expands project creation/configuration to support additional project metadata (description, cover image, emoji/icon, lead, and network visibility) and updates the UI create modal/settings page to use consistent controls.

Changes:

  • Extend project create API (frontend types + backend handler) to accept additional optional fields and apply them during creation.
  • Redesign CreateProjectModal to support cover image, icon selection, project lead selection, and network visibility.
  • Add a unique index on user_favorites to prevent duplicate favorites per user/entity.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
ui/src/pages/SettingsPage.tsx Uses reusable ProjectNetworkSelect and derives network state from persisted guest_view_all_features.
ui/src/components/ProjectNetworkSelect.tsx New reusable “Network” select component.
ui/src/components/ProjectLeadSelect.tsx New reusable “Project Lead” select component for workspace members.
ui/src/components/CreateProjectModal.tsx Redesigned create modal to include cover/icon modals, network + lead fields, and expanded payload.
ui/src/api/types.ts Extends CreateProjectRequest with new optional project metadata fields.
api/migrations/000001_init_schema.up.sql Adds unique index on (user_id, entity_type, entity_identifier) for favorites.
api/internal/handler/project.go Accepts new create fields and applies them via the same update logic after creation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@martian56 martian56 merged commit 9b9db57 into main Mar 10, 2026
8 checks passed
@nazarli-shabnam
Copy link
Member

well done @martian56

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request UI UX

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Adjust Project Create modal to be consistent with Project Settings page

3 participants