Compare commits

...

1 commit

Author SHA1 Message Date
73abd55a1a
feat(slot blocking): add buttons to sidebar
Some checks failed
docker-build / docker (pull_request) Has been cancelled
container-scan / Container Scan (pull_request) Has been cancelled
tests / Tests (pull_request) Has been cancelled
2025-07-01 00:06:13 +02:00
7 changed files with 29 additions and 18 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, CalendarX2, 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'
>
<CalendarX2 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');
},
},
});
@ -155,9 +155,7 @@ export default function BlockedSlotForm({
</div>
<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'}
{existingBlockedSlotId ? 'Update Blocker' : 'Create Blocker'}
</h1>
</div>
<div className='w-0 sm:w-[100px]'></div>
@ -216,9 +214,7 @@ export default function BlockedSlotForm({
formStateCreate.isSubmitting || formStateUpdate.isSubmitting
}
>
{existingBlockedSlotId
? 'Update Blocked Slot'
: 'Create Blocked Slot'}
{existingBlockedSlotId ? 'Update Blocker' : 'Create Blocker'}
</Button>
{existingBlockedSlotId && (
<Button
@ -226,7 +222,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) => (