mirror of
https://github.com/ajnart/homarr.git
synced 2025-11-12 08:25:47 +01:00
✨ Add make my default board button to manage boards
This commit is contained in:
@@ -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({
|
||||
|
||||
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user