Add make my default board button to manage boards

This commit is contained in:
Manuel
2023-08-01 18:14:53 +02:00
parent 9657d8acd5
commit a3bb08768f
2 changed files with 31 additions and 1 deletions

View File

@@ -16,6 +16,7 @@ import { useListState } from '@mantine/hooks';
import { modals } from '@mantine/modals';
import {
IconApps,
IconDeviceFloppy,
IconDotsVertical,
IconFolderFilled,
IconPlus,
@@ -30,7 +31,13 @@ import { sleep } from '~/tools/client/time';
import { api } from '~/utils/api';
const BoardsPage = () => {
const context = api.useContext();
const { data } = api.boards.all.useQuery();
const { mutateAsync } = api.user.makeDefaultDashboard.useMutation({
onSettled: () => {
void context.boards.invalidate();
},
});
const [deletingDashboards, { append, filter }] = useListState<string>([]);
@@ -139,6 +146,16 @@ const BoardsPage = () => {
</ActionIcon>
</Menu.Target>
<Menu.Dropdown>
<Menu.Item
icon={<IconDeviceFloppy size="1rem" />}
onClick={async () => {
void mutateAsync({
board: board.name,
});
}}
>
Set as your default board
</Menu.Item>
<Menu.Item
onClick={async () => {
modals.openContextModal({

View File

@@ -155,13 +155,26 @@ export const userRouter = createTRPCRouter({
disablePingPulse: input.disablePingPulse,
replacePingWithIcons: input.replaceDotsWithIcons,
defaultBoard: input.defaultBoard,
language: input.language
language: input.language,
},
},
},
});
}),
makeDefaultDashboard: publicProcedure
.input(z.object({ board: z.string() }))
.mutation(async ({ ctx, input }) => {
await ctx.prisma.userSettings.update({
where: {
userId: ctx.session?.user.id,
},
data: {
defaultBoard: input.board,
},
});
}),
all: publicProcedure
.input(
z.object({