* feat: add ticket numbers to cards with workspace prefix
- Add cardNumber to cards
- Add cardPrefix/cardCounter to workspace
- Populate initial prefixes and numbers via new migration
- Introduce generateWorkspacePrefix util and export it
- Include cardNumber in card-related API responses and search results
- Render and display tickets as PREFIX-NUMBER in UI
- Update Card component to accept ticketNumber
- Update CardModal and board cards to show number when available
- Add cardNumber to CommandPalette search results type
* feat: regen migration
* feat: enhance card and workspace schemas with cardNumber and indexing
- Updated the card repository to allocate card numbers atomically per workspace.
- Modified the card schema to include a cardNumber field and added an index on listId and cardNumber for improved query performance.
- Enhanced the workspace schema to include an index on cardPrefix for optimized lookups.
- Adjusted the migration journal to reflect the new schema changes and their timestamps.
- Updated the regex in workspace repository to allow alphanumeric prefixes in ticket IDs.
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>
* fix: add 404 not found page
Closes#320
- Add custom 404 page matching the app's design system
- Include PatternedBackground and proper dark mode support
- Provide navigation links to homepage and boards
- Add i18n support with @lingui/react
* fix: add 404 redirects for non-existent boards and cards
Add useEffect hooks to redirect to /404 page when:
- Board does not exist in board view
- Card does not exist in card view
This addresses the cases mentioned in maintainer feedback where
the static 404 page wasn't being used for dynamic routes.
Addresses review feedback on PR #349
* feat: redirect to 404 for non-existent public workspaces and cards
Per maintainer feedback:
- Add redirect logic to public boards view when workspace doesn't exist
- Add redirect logic to public card modal when card doesn't exist
- Uses error?.data?.code === 'NOT_FOUND' check as suggested
- Closes modal before redirecting for card modal
* fix: prevent workspace.byId validation errors when publicId is empty
* fix: add keys to shortcut elements
* fix: prevent card.byId validation errors when cardPublicId is empty
* chore: remove invalid config option from next.config.js
* fix: closing the modal on the public board page clears the content before the modal fade out animation finishes
* refactor: enhance CheckboxDropdown component to handle empty states and improve item rendering
* Update apps/web/src/views/public/board/CardModal.tsx
Co-authored-by: Henry <30578846+hjball@users.noreply.github.com>
---------
Co-authored-by: Henry <30578846+hjball@users.noreply.github.com>
* feat: hide dropdown on comments for public boards
* feat: fix height of modal and add scrollable content area
* feat: add view only badge to public boards
* feat: prevent card title from overlapping close button
* chore: gen translations
* feat: setup localisation with lingui
* Fix hydration and locale issues
* Add missing translations and tweak selector styling
* Extend language support
* Update lang support
* Extend lang support
* Fix build and add dyanmic imports
* feat: integrate MDXEditor for card description with markdown support
* feat: replace textarea with markdown editor for card descriptions and improve styling
* refactor: replace MDXEditor with Tiptap for rich text editing
* fix: prevent menu item from taking focus and submitting
* feat: replace editor menu with bubble menu and add placeholder text
* feat: implement slash commands menu in editor with suggestion API
* chore: update editor styling
* chore: update editor placeholder text
* fix: navigate command list by keyboard and tweak styling
* fix: prevent editor onBlur from submitting NewCardForm
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>