Skip to content

Feats: Labels and Milestones#66

Merged
luizhcastro merged 4 commits intomainfrom
staging
Mar 18, 2026
Merged

Feats: Labels and Milestones#66
luizhcastro merged 4 commits intomainfrom
staging

Conversation

@luizhcastro
Copy link
Member

What has changed?

Checklist

  • Documentation updated (if necessary)
  • No breaking changes (or it was communicated)

luizhcastro and others added 4 commits March 18, 2026 16:46
* refactor: move Sidebar to global authenticated layout

- Create (authenticated) route group with shared layout
- Move Sidebar from components/board to components/layout
- Wrap authenticated pages with OrgGuard in layout
- Simplify TaskBoard and TaskDetailsPage by removing Sidebar
- Delete old (board) and task directories

* refactor(sidebar): update styles, icons and typography

- Update Phosphor icons to use new naming convention
- Change default font to Onest
- Adjust sidebar colors and dark mode theme
- Improve button and navigation item styling
- Add keyboard shortcut visual styling

* feat(sidebar): add responsive layout with mobile drawer

- Add SidebarProvider, SidebarTrigger, and useSidebar for mobile state
- Implement mobile drawer with overlay and slide animation
- Restructure sidebar with fixed header/footer and scrollable content
- Add mobile header with hamburger menu trigger
- Adjust paddings and gaps to match Figma design (6px icon-text gap)
- Update icon imports to use new naming convention

* feat(sidebar): add organization logo support

- Add organization logo display using Next.js Image component
- Show first letter fallback when no logo is available
- Truncate long organization names
- Update icon imports to use new naming convention
- Adjust paddings and gaps to match design

* style(sidebar): add subtle hover effects with rounded corners

- Add rounded-lg/xl hover backgrounds to all interactive items
- Add small margin (px-1.5) from sidebar edges for hover effect
- Consistent hover styling across all sections
- Remove negative margins approach for cleaner implementation

* feat(sidebar): add collapsible sections and improve interactions

- Add collapsible Projects and Teams sections with caret icons
- Add active state background for current page navigation
- Change footer links to hyperlink style with underline on hover
- Reduce spacing between sections

* feat(sidebar): add smooth animations and functional pin system

- Add functional pin toggle for Projects and Teams items
- Pinned items appear at top, others sorted alphabetically
- Add smooth expand/collapse animations using CSS Grid
- Improve dropdown menu animations with custom easing
- Use Linear-style cubic-bezier curve for fluid motion

* feat(sidebar): add drag and drop for section reordering

- Add framer-motion dependency for animations
- Implement Reorder.Group for Projects and Teams sections
- Add drag handle icon that appears on hover
- Sections animate smoothly when reordered

* feat(sidebar): add command palette with cmdk

- Add cmdk library for command menu functionality
- Create CommandPalette component with search, pages, projects, teams and actions
- Connect search button in sidebar to open command palette
- Support keyboard shortcuts (⌘K, Ctrl+/) to toggle
- Add smooth animations with Framer Motion
- Add small gap between nav items to prevent hover overlap

* style(sidebar): improve organization dropdown UX

- Replace trash icon with edit icon (PencilSimpleIcon)
- Add handleEditOrg to redirect to organization settings
- Reduce dropdown item padding for smaller hover area
- Add gap between dropdown items to prevent hover overlap
- Adjust avatar size and border radius

* style(sidebar): add cursor-pointer and improve drag UX

- Add cursor-pointer to all clickable elements
- Add solid background to dragged sections to prevent transparency
- Reduce footer button clickable area to content only (w-fit)
- Update dropdown menu items to use cursor-pointer
* feat(ws): add authenticated websocket plugin with org scoping and ping/pong

Validate Better Auth session on connect; scope clients per organization; add ping/pong handling and message size limit. Let Elysia handle send errors.

* feat(ws): implement robust websocket client with backoff, heartbeat, and error callback

Add exponential backoff with jitter, heartbeat ping/pong, message size validation, and replace console logs with onError callback. Integrate with board UI for emitting events on mutations.

* refactor(board): add mutation callbacks and types for websocket integration

Expose optional onSuccess callbacks in task/column mutations and export useWebSocket from hooks index; add types for websocket messages.
* feat(db): create milestone entity and its relations

* feat: implements get milestones route

* feat: implements create milestone module

* feat: implements update milestone modules

* feat: implements get unique milestone modules

* feat: implements delete milestone modules

* refactor: fix typo in variable name

* feat: implements module to return all tasks in a milestone

* feat: implements assign tasks to milestone module

* feat: implements progress on milestone modules

* fix(milestones): ensure task association consistency and cleanup on deletion

* feat(tasks): implement two-way consistency for labels and milestones

* feat(milestones): implements validation in end date to be equal or after start
date

* fix(provider): adjust to make dark mode as default theme

* fix: address feedback for milestone and task management
@luizhcastro luizhcastro merged commit 419df4d into main Mar 18, 2026
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.

3 participants