feat: show custom templates in new board form

This commit is contained in:
Henry
2025-10-09 21:59:55 +01:00
parent a5757b206a
commit 8ba991a0d3
3 changed files with 28 additions and 1 deletions

View File

@@ -39,6 +39,13 @@ export function NewBoardForm({ isTemplate }: { isTemplate?: boolean }) {
{ enabled: !!workspace.publicId },
);
const formattedTemplates = templates?.map((template) => ({
id: template.publicId,
name: template.name,
lists: template.lists.map((list) => list.name),
labels: template.labels.map((label) => label.name),
}));
const {
register,
handleSubmit,
@@ -114,6 +121,7 @@ export function NewBoardForm({ isTemplate }: { isTemplate?: boolean }) {
currentBoard={currentTemplate}
setCurrentBoard={(t) => setValue("template", t)}
showTemplates={showTemplates}
customTemplates={formattedTemplates ?? []}
/>
<div className="mt-12 flex items-center justify-end border-t border-light-600 px-5 pb-5 pt-5 dark:border-dark-600">
{!isTemplate && (

View File

@@ -88,16 +88,18 @@ export default function TemplateBoards({
currentBoard,
setCurrentBoard,
showTemplates,
customTemplates,
}: {
currentBoard: Template | null;
setCurrentBoard: (board: Template | null) => void;
showTemplates: boolean;
customTemplates: Template[] | null;
}) {
const [showFade, setShowFade] = useState(false);
const [showTopFade, setShowTopFade] = useState(false);
const scrollRef = useRef<HTMLDivElement>(null);
const templates = getTemplates();
const templates = [...(customTemplates ?? []), ...getTemplates()];
const handleScroll = () => {
if (!scrollRef.current) return;

View File

@@ -25,6 +25,23 @@ export const getAllByWorkspaceId = (
publicId: true,
name: true,
},
with: {
lists: {
columns: {
publicId: true,
name: true,
index: true,
},
orderBy: [asc(lists.index)],
},
labels: {
columns: {
publicId: true,
name: true,
colourCode: true,
},
},
},
where: and(
eq(boards.workspaceId, workspaceId),
isNull(boards.deletedAt),