Skip to content

feat:archived boards#386

Merged
hjball merged 16 commits intokanbn:mainfrom
eliott-herbert-byrnes:feat/archived-boards
Feb 26, 2026
Merged

feat:archived boards#386
hjball merged 16 commits intokanbn:mainfrom
eliott-herbert-byrnes:feat/archived-boards

Conversation

@eliott-herbert-byrnes
Copy link
Contributor

@eliott-herbert-byrnes eliott-herbert-byrnes commented Feb 11, 2026

  • Boards are now split in to two lists 'Active | Archived'.
  • Archived/Unarchived is activated through the boardDropdown.
  • Desktop follows same UX as settings tabs, mobile is optimised to a dropdown menu.
  • added isArchived column, & board_is_archived_idx index on the board table.

board table. refactor: board repo for isArchived filtering
* Implemented a Listbox for mobile and a tabbed navigation for desktop to switch between "Boards" and "Archived" views.
* Introduced state management for active tab selection.
* Updated UI components to reflect the new navigation structure.
@eliott-herbert-byrnes eliott-herbert-byrnes changed the title Feat/archived boards feat:archived boards Feb 11, 2026
"Plural-Forms: \n"

#: src/views/card/components/Comment.tsx:130
#: src/views/card/components/Comment.tsx:153
Copy link
Contributor

Choose a reason for hiding this comment

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

Translations are now handled by the translate workflow so need to add anything here (unless you want to change the wording of an existing translations).

Please could you revert and changes under /locales (sorry to be a pain) @eliott-herbert-byrnes

@@ -683,4 +665,118 @@ export const boardRouter = createTRPCRouter({
isReserved: !isBoardSlugAvailable,
};
}),
archive: protectedProcedure
Copy link
Contributor

Choose a reason for hiding this comment

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

As we're only toggling the isArchived column, I think we should try to use the existing update endpoint (should really be PATCH) for archiving/unarchiving

sourceBoardId: bigint("sourceBoardId", { mode: "number" }),
},
(table) => [
index("board_is_archived_idx").on(table.isArchived),
Copy link
Contributor

Choose a reason for hiding this comment

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

Nice

Copy link
Contributor

@hjball hjball left a comment

Choose a reason for hiding this comment

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

Thanks for your patience with this one @eliott-herbert-byrnes

It's looking great, just a couple of requested changes:

  • Revert the changes under /locales (handled on merge now)
  • Replace the archive and unarchived endpoints with update

You'll also need to reorder the migrations (easiest way to do this is just to remove your entry from _journal, delete your snapshot and migration file, then regenerate). This is becoming a common blocker so I'm going to look into a workflow to handle migration conflicts automatically)

@eliott-herbert-byrnes
Copy link
Contributor Author

Thanks for your patience with this one @eliott-herbert-byrnes

It's looking great, just a couple of requested changes:

  • Revert the changes under /locales (handled on merge now)
  • Replace the archive and unarchived endpoints with update

You'll also need to reorder the migrations (easiest way to do this is just to remove your entry from _journal, delete your snapshot and migration file, then regenerate). This is becoming a common blocker so I'm going to look into a workflow to handle migration conflicts automatically)

Should be all sorted! lmk if there are any further changes needed.

@hjball hjball merged commit af36fb1 into kanbn:main Feb 26, 2026
1 check passed
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.

2 participants