calendar update 0
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
import {
|
||||
ContextMenu,
|
||||
ContextMenuContent,
|
||||
ContextMenuItem,
|
||||
ContextMenuTrigger,
|
||||
} from '@/components/ui/context-menu';
|
||||
import { ScheduleRemoveRequest } from '@/utils';
|
||||
import axios from 'axios';
|
||||
import { format } from 'date-fns';
|
||||
|
||||
import { PlusCircle, Trash } from 'lucide-react';
|
||||
import { useState } from 'react';
|
||||
|
||||
export interface CalendarSchedule {
|
||||
date: Date;
|
||||
platforms: { user: string }[];
|
||||
}
|
||||
|
||||
const weekdays = [
|
||||
'Mon',
|
||||
'Tue',
|
||||
'Wed',
|
||||
'Thu',
|
||||
'Fri',
|
||||
'Sat',
|
||||
'Sun',
|
||||
];
|
||||
|
||||
const times = ['12 PM', '1 PM', '2 PM', '3 PM', '4 PM', '5 PM', '6 PM', '7 PM', '8 PM', '9 PM', '10 PM', '11 PM'];
|
||||
|
||||
export default function Calendar({
|
||||
setDialog,
|
||||
sessionId,
|
||||
events,
|
||||
}: {
|
||||
setDialog: (b: boolean) => void;
|
||||
sessionId: string;
|
||||
events: CalendarSchedule[];
|
||||
}) {
|
||||
const [selected, setSelected] = useState(0);
|
||||
|
||||
return (
|
||||
<div className="flex flex-col">
|
||||
<div className="grid grid-cols-1 w-full h-20 mb-2">
|
||||
<div className="grid grid-cols-7 ml-20">
|
||||
{weekdays.map((w, i) => (
|
||||
<div key={i} className="border">
|
||||
<p className="w-max mx-auto">{w}</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<div className="grid grid-cols-1 gap-2 w-full">
|
||||
{times.map((w, i) => (
|
||||
<div key={i} className="flex">
|
||||
<p className="w-20 border py-4">
|
||||
<p className="w-max mx-auto">{w}</p>
|
||||
</p>
|
||||
<div className="grid grid-cols-7 w-full ml-1">
|
||||
{weekdays.map((w, i) => (
|
||||
<div key={i} className="border py-4"></div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
// <div className="grid grid-cols-1 w-full">
|
||||
// <div className="grid grid-cols-7">
|
||||
// {weekdays.map((w, i) => (
|
||||
// <div key={i}>
|
||||
// <p className="w-max mx-auto">{w}</p>
|
||||
// </div>
|
||||
// ))}
|
||||
// </div>
|
||||
// </div>
|
||||
|
||||
// return (
|
||||
// <ContextMenu>
|
||||
// <ContextMenuTrigger></ContextMenuTrigger>
|
||||
// <ContextMenuContent>
|
||||
// <ContextMenuItem
|
||||
// onClick={() => {
|
||||
// setDialog(true);
|
||||
// }}
|
||||
// >
|
||||
// <PlusCircle className="w-4 mt-0.5" />{' '}
|
||||
// <p className="ml-1">New post</p>
|
||||
// </ContextMenuItem>
|
||||
|
||||
// {selected ? (
|
||||
// <ContextMenuItem
|
||||
// onClick={() => {
|
||||
// if (selected) {
|
||||
// axios.delete(`/api/posts`, {
|
||||
// params: {
|
||||
// id: sessionId,
|
||||
// date: format(
|
||||
// events[selected].date,
|
||||
// 'y-MM-dd hh:mm'
|
||||
// ),
|
||||
// } satisfies ScheduleRemoveRequest,
|
||||
// });
|
||||
// }
|
||||
// }}
|
||||
// className=""
|
||||
// >
|
||||
// <Trash className="w-4 mt-0.5 text-red-500" />{' '}
|
||||
// <p className="ml-1 text-red-500">Delete</p>
|
||||
// </ContextMenuItem>
|
||||
// ) : (
|
||||
// ''
|
||||
// )}
|
||||
// </ContextMenuContent>
|
||||
// </ContextMenu>
|
||||
// );
|
||||
}
|
||||
Reference in New Issue
Block a user