Skip to content

[FEAT] Implement view page functionalities#29

Open
nazarli-shabnam wants to merge 12 commits intomainfrom
27-implement-view-page-functionalities
Open

[FEAT] Implement view page functionalities#29
nazarli-shabnam wants to merge 12 commits intomainfrom
27-implement-view-page-functionalities

Conversation

@nazarli-shabnam
Copy link
Member

@nazarli-shabnam nazarli-shabnam commented Mar 15, 2026

Description

This pull request introduces several improvements to the workspace "Views" feature in the UI, including a more robust and dynamic views dropdown, enhanced navigation, and a more consistent user experience. The changes also add support for creating labels directly from the work item modal. Below are the most important updates:

Workspace Views Improvements:

  • The workspace "Views" dropdown in the header now dynamically loads custom views from the backend via viewService, supports searching, and uses improved navigation logic. The default views have been updated, and the dropdown UI is more consistent and accessible. [1] [2] [3] [4]
  • The sidebar "Views" link now routes to /views/all-issues by default, and active state logic is improved for better highlighting when any view is selected.
  • The "Views" icon is updated to a new custom icon, replacing the previous eye icon for better visual distinction. [1] [2]
  • The page header logic is updated to correctly recognize all workspace views routes, not just the root /views path.

Label Creation Enhancement:

  • Users can now create new labels directly from the label dropdown in the CreateWorkItemModal. The UI provides feedback for loading and error states, and the new label is added to the selection upon creation. [1] [2] [3] [4]

Dependency Updates:

  • Several new dependencies related to @tailwindcss/oxide-wasm32-wasi and its sub-dependencies are added in package-lock.json to support build tooling.

These changes collectively make workspace views more dynamic, user-friendly, and visually consistent, while also improving the label management experience.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Improvement (change that would cause existing functionality to not work as expected)
  • Code refactoring
  • Performance improvements
  • Documentation update

Screenshots and Media (if applicable)

Test Scenarios

References

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

Implements “workspace views” functionality in the UI, adding Plane-style view routing plus URL-driven filters/display configuration and saved view creation/loading.

Changes:

  • Added URL <-> state parsing/serialization for workspace view filters and display settings.
  • Expanded Workspace Views page to support dynamic view IDs, apply saved view config to the URL, and filter/sort/render issues accordingly.
  • Added workspace-views header controls (layout selector, filters/display dropdowns, create-view modal, ellipsis menu) and updated navigation/routes to use /views/:viewId.

Reviewed changes

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

Show a summary per file
File Description
ui/src/types/workspaceViewFilters.ts Introduces filter enums/types + URL parsing/serialization for view filters.
ui/src/types/workspaceViewDisplay.ts Adds display/layout/sort types + URL parsing/serialization for view display controls.
ui/src/services/viewService.ts Adds get + create endpoints and request typing for views API.
ui/src/routes/index.tsx Adds /views redirect and /views/:viewId route to support per-view pages.
ui/src/pages/WorkspaceViewsPage.tsx Applies saved views to URL, filters/sorts issues based on URL params, supports multiple layouts.
ui/src/components/workspace-views/index.ts Exports new workspace-views UI components.
ui/src/components/workspace-views/WorkspaceViewsLayoutSelector.tsx Layout toggle wired to URL search params.
ui/src/components/workspace-views/WorkspaceViewsFiltersDropdown.tsx Adds filters dropdown UI wired to URL search params.
ui/src/components/workspace-views/WorkspaceViewsDisplayDropdown.tsx Adds display-properties + “show sub-items” controls wired to URL search params.
ui/src/components/workspace-views/WorkspaceViewsEllipsisMenu.tsx Adds “open in new tab” and “copy link” actions for views.
ui/src/components/workspace-views/DateRangeModal.tsx Adds custom date-range picker modal for start/due filtering.
ui/src/components/workspace-views/CreateViewModal.tsx Adds modal to create and persist a view from current URL state.
ui/src/components/layout/Sidebar.tsx Updates Views nav link to new canonical /views/all-issues route and active-state logic.
ui/src/components/layout/PageHeader.tsx Reworks Workspace Views header to include view selector + new controls and view creation.
ui/src/components/CreateWorkItemModal.tsx Adds inline label creation flow in the label dropdown.
ui/package-lock.json Updates lockfile with additional Tailwind-related optional dependencies.
Files not reviewed (1)
  • ui/package-lock.json: Language not supported

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

You can also share your feedback on Copilot code review. Take the survey.

@martian56 martian56 changed the title 27 implement view page functionalities [FEAT] Implement view page functionalities Mar 15, 2026
@martian56 martian56 added this to the Deadline milestone Mar 15, 2026
Copy link
Member

@martian56 martian56 left a comment

Choose a reason for hiding this comment

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

Please resolve all copilot warnings

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 upgrades the workspace-level “Views” experience in the UI by introducing URL-driven filter/display state, dynamic loading of saved views from the backend, and richer view controls (filters, display properties, layouts), plus label creation from the work item modal.

Changes:

  • Added typed parsing/serialization for workspace view filters and display options via URL search params.
  • Implemented dynamic workspace Views dropdown (backend-backed) with navigation updates (/views/views/all-issues, /views/:viewId).
  • Added new workspace views UI controls (filters/display/layout, create view modal, ellipsis menu) and label creation from the work item modal.

Reviewed changes

Copilot reviewed 15 out of 17 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
ui/src/types/workspaceViewFilters.ts Defines workspace view filter types + URL param parse/serialize helpers.
ui/src/types/workspaceViewDisplay.ts Defines display/layout/sort types + URL param parse/serialize helpers.
ui/src/services/viewService.ts Adds get and create endpoints for saved views.
ui/src/routes/index.tsx Adds workspace views routing (views redirect + views/:viewId).
ui/src/pages/WorkspaceViewsPage.tsx Applies URL-driven filtering/sorting and loads saved views to apply params.
ui/src/components/workspace-views/index.ts Barrel exports for new workspace-views components.
ui/src/components/workspace-views/WorkspaceViewsLayoutSelector.tsx Layout selector that persists to URL search params.
ui/src/components/workspace-views/WorkspaceViewsFiltersDropdown.tsx Filters dropdown that persists selections (and custom ranges) to URL.
ui/src/components/workspace-views/WorkspaceViewsEllipsisMenu.tsx Adds “open in new tab” + “copy link” menu for views.
ui/src/components/workspace-views/WorkspaceViewsDisplayDropdown.tsx Display properties + “show sub-work items” persisted to URL.
ui/src/components/workspace-views/DateRangeModal.tsx Custom date-range picker modal used by filters dropdown.
ui/src/components/workspace-views/CreateViewModal.tsx Modal to create a saved view from current URL-configured state.
ui/src/components/layout/Sidebar.tsx Updates Views nav link + active state for any /views/* path.
ui/src/components/layout/PageHeader.tsx Replaces static views dropdown with backend-backed workspace views controls.
ui/src/components/CreateWorkItemModal.tsx Adds “create label” action from the label dropdown with loading/error UI.
ui/package-lock.json Adds Tailwind oxide wasm32-wasi transitive deps (build tooling).
package-lock.json Adds a root lockfile (empty packages).
Files not reviewed (1)
  • ui/package-lock.json: Language not supported

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

You can also share your feedback on Copilot code review. Take the survey.

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

Implements richer workspace “Views” functionality in the UI by introducing URL-driven filters/display options, dynamic view selection/creation backed by the API, and enhancing label management from the work item modal.

Changes:

  • Adds workspace view filter/display type systems with URLSearchParams parsing/serialization.
  • Updates routing + header/sidebar navigation to support /views/:viewId (with /views redirect) and introduces new Views UI controls (layout, filters, display, create view, share menu).
  • Enhances CreateWorkItemModal to allow creating labels directly from the label dropdown.

Reviewed changes

Copilot reviewed 15 out of 17 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
ui/src/types/workspaceViewFilters.ts Defines filter enums/types + URL param parse/serialize helpers.
ui/src/types/workspaceViewDisplay.ts Defines display/layout/sort types + URL param parse/serialize helpers.
ui/src/services/viewService.ts Adds get and create APIs for workspace views.
ui/src/routes/index.tsx Redirects /views/views/all-issues and adds /views/:viewId route.
ui/src/pages/WorkspaceViewsPage.tsx Implements view loading, URL-applied filters/display, sorting, and new table/list layouts.
ui/src/components/workspace-views/index.ts Exports new workspace views UI components.
ui/src/components/workspace-views/WorkspaceViewsLayoutSelector.tsx Adds layout toggle that persists to URL.
ui/src/components/workspace-views/WorkspaceViewsFiltersDropdown.tsx Adds filter dropdown with members/projects/labels/date presets.
ui/src/components/workspace-views/WorkspaceViewsDisplayDropdown.tsx Adds display-properties + “show sub-work items” dropdown.
ui/src/components/workspace-views/WorkspaceViewsEllipsisMenu.tsx Adds share actions (open in new tab / copy link).
ui/src/components/workspace-views/DateRangeModal.tsx Adds custom date range picker modal for filters.
ui/src/components/workspace-views/CreateViewModal.tsx Adds modal to create/save a view from current URL settings.
ui/src/components/layout/Sidebar.tsx Routes Views link to /views/all-issues and improves active-state matching.
ui/src/components/layout/PageHeader.tsx Reworks Workspace Views header to use API-driven view dropdown and new controls.
ui/src/components/CreateWorkItemModal.tsx Adds “Create label …” flow with loading/error handling.
ui/package-lock.json Adds Tailwind oxide-wasm32-wasi related dependencies.
package-lock.json Adds a new root lockfile.
Files not reviewed (1)
  • ui/package-lock.json: Language not supported

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

You can also share your feedback on Copilot code review. Take the survey.

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 upgrades the UI “Workspace Views” experience by introducing Plane-style view navigation (default + custom views), URL-driven filters/display/layout controls, and in-modal label creation to streamline work item management.

Changes:

  • Add URL-serializable workspace view filter + display models and new workspace-views UI controls (filters, display properties, layout selector, ellipsis menu, create-view modal).
  • Update routing/header/sidebar to support /views/:viewId (with /views redirecting to all-issues) and dynamically load custom views from the backend.
  • Enhance CreateWorkItemModal to allow creating a new label from the label dropdown.

Reviewed changes

Copilot reviewed 15 out of 17 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
ui/src/types/workspaceViewFilters.ts New filter enums/types + (de)serialization to/from URL search params.
ui/src/types/workspaceViewDisplay.ts New display/layout/sort model + URL (de)serialization.
ui/src/services/viewService.ts Add get + create APIs and request typing for views.
ui/src/routes/index.tsx Redirect /viewsall-issues; add /views/:viewId route.
ui/src/pages/WorkspaceViewsPage.tsx Apply saved view settings into URL; filter/sort/render issues based on search params.
ui/src/components/workspace-views/* New header controls (filters/display/layout/ellipsis) + date range + create view modal.
ui/src/components/layout/Sidebar.tsx Sidebar “Views” points to /views/all-issues and improves active highlighting.
ui/src/components/layout/PageHeader.tsx Dynamic views dropdown + new controls wired into header for workspace views routes.
ui/src/components/CreateWorkItemModal.tsx Add create-label flow from label dropdown with loading/error UI.
ui/package-lock.json Adds Tailwind oxide wasm32-wasi related dependencies.
package-lock.json Adds a new root lockfile.
Files not reviewed (1)
  • ui/package-lock.json: Language not supported

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

You can also share your feedback on Copilot code review. Take the survey.

Copy link
Member

@martian56 martian56 left a comment

Choose a reason for hiding this comment

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

UI has irrelevant elements on Views page, +Table should be horizontally scrollable starting from "Priority" column

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement view page functionalities

3 participants