Feat/implement labels for task#64
Merged
luizhcastro merged 24 commits intoBeroLab:stagingfrom Feb 20, 2026
Merged
Conversation
* revamp: elysia patterns * fix(auth): use named import for prisma * refactor(server): modularize columns and tasks into per-operation structure * refactor(web): use ~/ path alias for Eden Treaty type resolution * chore: update dependencies and configs * fix: imports errors and prisma client path --------- Co-authored-by: Vicentesan <vikom.sanchez@gmail.com>
* docs: add README and issue templates in English * docs: update README with staging branch and Figma link, consolidate AI agent files - Add instruction to create branches from staging in contribution guide - Add Design section with Figma prototype link - Merge CLAUDE.md into AGENT.md to have single AI instruction file - Remove redundant CLAUDE.md
* feat: add response validation to get-columns * feat(server): add OpenAPI documentation plugin * feat(server): add response validation and error schemas to all routers
* feat(db): add organization schema and update auth schema - Add organization model with name, description, and member relationships - Update auth schema to support activeOrganizationId in session * feat(server): add organization CRUD endpoints - Add create, delete, get, and set-active-organization endpoints - Implement organization use cases with proper authorization - Add organization router with all routes * feat(server): integrate organization router and update columns endpoint - Register organization router in main HTTP app - Update get-columns to use activeOrganizationId from session * feat(web): add confirm dialog component - Add reusable ConfirmDialog component with destructive variant support - Support loading state and custom confirm/cancel text * feat(web): add organization hooks - Add useOrganizations hook to fetch user organizations - Add useOrgMutations hook for create, delete, and set-active operations - Add React Query keys for organization queries * feat(web): add organization UI components - Add OrgGuard component to protect routes requiring active organization - Add CreateOrganizationForm component for organization creation - Handle redirects and organization selection flow * feat(web): add onboarding page for organization creation - Add onboarding page for new users to create their first organization - Integrate with CreateOrganizationForm component * feat(web): update types and integrate organization context - Update auth client and types to support activeOrganizationId - Update board page to use OrgGuard - Update use-columns hook to work with organization context * feat(web): integrate organization management in sidebar - Replace static organization list with dynamic data from API - Add organization switching functionality - Add organization deletion with sequential navigation logic - Replace window.confirm with ConfirmDialog component - Optimize component with useMemo and useCallback hooks - Add proper loading states and error handling * feat(server): add ConflictError for handling resource conflicts * feat(db): update schema for organization management * feat(server): implement organization CRUD operations with conflict handling * refactor(org): remove custom organization hooks - Remove useOrganizations, useCreateOrganization, useSetActiveOrganization and useDeleteOrganization in favor of Better Auth client methods - Remove organizationKeys and org hooks index - Unify organization data source to Better Auth only * fix(org-guard): fix infinite loading when user has existing org - Do not block on isOrgsLoading when activeOrganizationId already exists - Force session refetch after setActive so activeOrganizationId updates - Reset isSettingOrg on success and show loader only when necessary * refactor(sidebar): use Better Auth for orgs and sort by creation date - Use authClient.useListOrganizations(), setActive() and delete() instead of custom hooks - Replace window.location.reload() with router.refresh() - Sort organizations by createdAt ascending (oldest first, newest at bottom) * refactor(create-org-form): use Better Auth and minimal UI - Create organization via authClient.organization.create() - Use router.push() and router.refresh() instead of window.location - Minimal UI: rounded-xl inputs, subtle labels, consistent spacing - Session refetch after creation * refactor(board): update hooks and types - Adjust board hooks and use-board after org refactor - Update types * chore(deps): update server package and lockfile * refactor: remove redundant back-end organization
* feat(web): add site config and meta theme colors - Add siteConfig with name, url, ogImage, description, links, authors, keywords - Add META_THEME_COLORS for light/dark theme (white and zinc-950) - Centralize app metadata for reuse in layout, OG and manifest * feat(web): add fonts utility with Geist, Inter and RTL support - Export fontVariables combining Geist, Geist Mono, Inter - Add Noto Sans Arabic and Noto Sans Hebrew for RTL languages - Use cn() to merge CSS variables for layout consumption * chore(web): add favicons and PWA assets, remove app favicon - Add favicon.ico, favicon-16x16/32x32, apple-touch-icon, android-chrome icons - Add site.webmanifest with theme_color and display standalone - Remove favicon from app dir in favor of public/ * feat(web): wire root layout with config, fonts and metadata - Use siteConfig for title, description, keywords, authors, openGraph, twitter - Set metadataBase, icons and manifest from config - Apply fontVariables on html and remove inline font setup - Add theme-color meta and inline script for flash-free theme/layout init - Rely on public favicon and manifest URLs * feat(web): add dynamic Open Graph image route - Add GET handler in app/og/ for OG image via next/og ImageResponse - Load Geist and Geist Mono from base64 JSON for ImageResponse - Render 1200x628 layout with Blaboard title and black background - Add note for contributors to improve layout/design * refactor(web): theme-provider defaults and providers formatting - Set default props and enableColorScheme in ThemeProvider - Normalize indentation in providers and theme-provider * feat(theme): keep meta theme-color in sync with theme changes Introduce useMetaColor hook to update the browser theme color dynamically when switching between light and dark modes, fixing mobile UI color mismatch after theme toggles. * chore(biome): ignore noDangerouslySetInnerHtml for theme bootstrap script Adds a Biome lint ignore for `dangerouslySetInnerHTML` in the layout theme bootstrap script. This is required to prevent theme flash before hydration, ensuring the correct theme and `meta[name="theme-color"]` are applied on the first paint without affecting SEO or hydration stability. * refactor: use NEXT_PUBLIC_SERVER_URL for site URL and ogImage * refactor: switch frontend to NEXT_PUBLIC_FRONTEND_URL * refactor: add NEXT_PUBLIC_FRONTEND_URL to web env sample * feat: add theme options dropdown to ModeToggle * refacror: remove layout class from localStorage * refactor: clean up comments in route.tsx Removed contributor notes and documentation comments.
luizhcastro
pushed a commit
that referenced
this pull request
Feb 16, 2026
Comprehensive review covering security issues (missing requireOrganization and ownership validation), naming inconsistencies, dead code, i18n issues, and formatting problems. https://claude.ai/code/session_01B19dMpwY9wAsuU4Ktm1zCc
luizhcastro
requested changes
Feb 16, 2026
Member
luizhcastro
left a comment
There was a problem hiding this comment.
Bom PR, faz apenas as alterações colocadas ali, tem alguns erros de lint. Configura o biome no teu Zed que ele corrige
luizhcastro
approved these changes
Feb 20, 2026
Member
luizhcastro
left a comment
There was a problem hiding this comment.
Nice, good job @MatheusFilg ! Tnks for your time and effort.
19 tasks
19 tasks
luizhcastro
pushed a commit
that referenced
this pull request
Mar 18, 2026
luizhcastro
added a commit
that referenced
this pull request
Mar 18, 2026
* Refact/side bar (#59) * 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 impl (#60) * 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/implement labels for task (#64) * Feat/implement milestones (#65) * 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 --------- Co-authored-by: Daniel Rody <113403319+DaNnielRody@users.noreply.github.com> Co-authored-by: Matheus Filgueiras de Almeida <112526643+MatheusFilg@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What has changed?
Why was this change made?
How to test?
/labelsEvidence (screenshots/logs)
Obs: O Projeto está com tema light pois está pegando do sistema.
Checklist