* Inital UI + layout setup * use booker approach of grid * event-select - sidebar + store work * adds get schedule by event-type-slug * Calendar toggle * Load schedule from event slug * Add busy events to calendar * useschedule * Store more event info than just slug * Add date override to calendar * Changes sizes on smaller screens * add event title as a tooltip * Ensure header navigation works * Stop navigator throwing errors on inital render * Correct br * Event duration fixes * Add getMoreInfo if user is authed with current request.username * Add calendar color map wip * Add WIP comments for coloured outlines * Revert more info changes * Calculate date override correctly * Add description option * Fix inital schedule data not being populated * Nudge overlap over to make it clearer * Fix disabled state * WIP on math logic * Event list overlapping events logic * NIT about width * i18n + manage calendars link * Delete old troubleshooter * Update packages/features/calendars/weeklyview/components/event/EventList.tsx * Remove t-slots * Fix i18n & install calendar action * sm:imrovments * NITS * Fix types * fix: back button * Month prop null as we control from query param * Add head SEO * Fix headseo import * Fix date override tests
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import Link from "next/link";
|
|
|
|
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
|
import { trpc } from "@calcom/trpc/react";
|
|
import { Badge, Label } from "@calcom/ui";
|
|
|
|
import { useTroubleshooterStore } from "../store";
|
|
import { TroubleshooterListItemHeader } from "./TroubleshooterListItemContainer";
|
|
|
|
export function EventScheduleItem() {
|
|
const { t } = useLocale();
|
|
const selectedEventType = useTroubleshooterStore((state) => state.event);
|
|
|
|
const { data: schedule } = trpc.viewer.availability.schedule.getScheduleByEventSlug.useQuery(
|
|
{
|
|
eventSlug: selectedEventType?.slug as string,
|
|
},
|
|
{
|
|
enabled: !!selectedEventType?.slug,
|
|
}
|
|
);
|
|
|
|
return (
|
|
<div>
|
|
<Label>Availability Schedule</Label>
|
|
<TroubleshooterListItemHeader
|
|
className="group rounded-md border-b"
|
|
prefixSlot={<div className="w-4 rounded-[4px] bg-black" />}
|
|
title={schedule?.name ?? "Loading"}
|
|
suffixSlot={
|
|
schedule && (
|
|
<Link href={`/availability/${schedule.id}`} className="inline-flex">
|
|
<Badge color="orange" size="sm" className="hidden hover:cursor-pointer group-hover:inline-flex">
|
|
{t("edit")}
|
|
</Badge>
|
|
</Link>
|
|
)
|
|
}
|
|
/>
|
|
</div>
|
|
);
|
|
}
|