feat(slot blocking): add buttons to sidebar
Some checks failed
container-scan / Container Scan (pull_request) Failing after 32s
docker-build / docker (pull_request) Successful in 3m38s
tests / Tests (pull_request) Failing after 2m23s

This commit is contained in:
Dominik 2025-06-30 20:45:29 +02:00
parent 016b4371c2
commit c00063bddd
Signed by: dominik
GPG key ID: 06A4003FC5049644
7 changed files with 31 additions and 16 deletions

View file

@ -43,8 +43,8 @@ export default function BlockedSlots() {
You don't have any blocked slots right now
</Label>
<RedirectButton
redirectUrl='/blocked_slots/new'
buttonText='create Blocked Slot'
redirectUrl='/blocker/new'
buttonText='Create New Blocker'
className='mt-4'
/>
</div>

View file

@ -14,7 +14,7 @@ import {
SidebarMenuItem,
} from '@/components/custom-ui/sidebar';
import { ChevronDown } from 'lucide-react';
import { CalendarMinus, ChevronDown } from 'lucide-react';
import {
Collapsible,
CollapsibleContent,
@ -28,8 +28,8 @@ import Link from 'next/link';
import {
Star,
CalendarDays,
User,
Users,
//User,
//Users,
CalendarClock,
CalendarPlus,
} from 'lucide-react';
@ -40,7 +40,7 @@ const items = [
url: '/home',
icon: CalendarDays,
},
{
/*{
title: 'Friends',
url: '#',
icon: User,
@ -49,12 +49,17 @@ const items = [
title: 'Groups',
url: '#',
icon: Users,
},
},*/
{
title: 'Events',
url: '/events',
icon: CalendarClock,
},
{
title: 'Blockers',
url: '/blocker',
icon: CalendarMinus,
},
];
export function AppSidebar() {
@ -123,6 +128,17 @@ export function AppSidebar() {
</span>
</Link>
</SidebarMenuItem>
<SidebarMenuItem className='pl-[8px]'>
<Link
href='/blocker/new'
className='flex items-center gap-2 text-xl font-label'
>
<CalendarPlus className='size-8' />
<span className='group-data-[collapsible=icon]:hidden text-nowrap whitespace-nowrap'>
New Blocker
</span>
</Link>
</SidebarMenuItem>
</SidebarFooter>
</SidebarContent>
</Sidebar>

View file

@ -22,7 +22,7 @@ export default function BlockedSlotListEntry(slot: BlockedSlotListEntryProps) {
});
};
return (
<Link href={`/blocked_slots/${slot.id}`} className='block'>
<Link href={`/blocker/${slot.id}`} className='block'>
<Card className='w-full'>
<div className='grid grid-cols-1 gap-2 mx-auto md:mx-4 md:grid-cols-[80px_1fr_250px]'>
<div className='w-full items-center justify-center grid'>

View file

@ -71,7 +71,7 @@ export default function BlockedSlotForm({
const { mutateAsync: deleteBlockedSlot } = useDeleteApiBlockedSlotsSlotID({
mutation: {
onSuccess: () => {
router.push('/blocked_slots');
router.push('/blocker');
},
},
});
@ -80,7 +80,7 @@ export default function BlockedSlotForm({
mutation: {
onSuccess: () => {
resetCreate();
router.push('/blocked_slots');
router.push('/blocker');
},
},
});
@ -156,8 +156,8 @@ export default function BlockedSlotForm({
<div className='items-center ml-auto mr-auto max-sm:mb-6 max-sm:w-full max-sm:flex max-sm:justify-center'>
<h1 className='text-center'>
{existingBlockedSlotId
? 'Update Blocked Slot'
: 'Create Blocked Slot'}
? 'Update Blocker'
: 'Create Blocker'}
</h1>
</div>
<div className='w-0 sm:w-[100px]'></div>
@ -217,8 +217,8 @@ export default function BlockedSlotForm({
}
>
{existingBlockedSlotId
? 'Update Blocked Slot'
: 'Create Blocked Slot'}
? 'Update Blocker'
: 'Create Blocker'}
</Button>
{existingBlockedSlotId && (
<Button
@ -226,7 +226,7 @@ export default function BlockedSlotForm({
variant='destructive'
onClick={onDeleteSubmit}
>
Delete Blocked Slot
Delete Blocker
</Button>
)}
</div>

View file

@ -175,7 +175,6 @@ const EventForm: React.FC<EventFormProps> = (props) => {
console.log('Creating event');
const mutationResult = await createEvent({ data });
eventID = mutationResult.data.event.id;
createEvent({ data });
}
toast.custom((t) => (