-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #401 from Leo-Corporation/vNext
Version 1.8.0.2405
- Loading branch information
Showing
18 changed files
with
541 additions
and
150 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
"use client"; | ||
|
||
import * as React from "react"; | ||
import { DayPicker } from "react-day-picker"; | ||
|
||
import { cn } from "@/lib/utils"; | ||
import { buttonVariants } from "@/components/ui/button"; | ||
import { | ||
ChevronLeft16Regular, | ||
ChevronRight16Regular, | ||
} from "@fluentui/react-icons"; | ||
|
||
export type CalendarProps = React.ComponentProps<typeof DayPicker>; | ||
|
||
function Calendar({ | ||
className, | ||
classNames, | ||
showOutsideDays = true, | ||
...props | ||
}: CalendarProps) { | ||
return ( | ||
<DayPicker | ||
showOutsideDays={showOutsideDays} | ||
className={cn("p-3", className)} | ||
classNames={{ | ||
months: "flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0", | ||
month: "space-y-4", | ||
caption: "flex justify-center pt-1 relative items-center", | ||
caption_label: "text-sm font-medium", | ||
nav: "space-x-1 flex items-center", | ||
nav_button: cn( | ||
buttonVariants({ variant: "outline" }), | ||
"h-7 w-7 bg-transparent p-0 flex justify-center opacity-50 hover:opacity-100", | ||
), | ||
nav_button_previous: "absolute left-1", | ||
nav_button_next: "absolute right-1", | ||
table: "w-full border-collapse space-y-1", | ||
head_row: "flex", | ||
head_cell: | ||
"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]", | ||
row: "flex w-full mt-2", | ||
cell: "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20", | ||
day: cn( | ||
buttonVariants({ variant: "ghost" }), | ||
"h-9 w-9 p-0 flex justify-center font-normal hover:bg-slate-100 dark:hover:bg-slate-800 aria-selected:bg-accent-color aria-selected:text-white aria-selected:opacity-100", | ||
), | ||
day_range_end: "day-range-end", | ||
day_selected: "bg-primary text-white hover:bg-primary hover:text-white", | ||
day_today: "bg-accent-color/20 text-accent-foreground", | ||
day_outside: | ||
"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30", | ||
day_disabled: "text-muted-foreground opacity-50", | ||
day_range_middle: | ||
"aria-selected:bg-accent aria-selected:text-accent-foreground", | ||
day_hidden: "invisible", | ||
...classNames, | ||
}} | ||
components={{ | ||
IconLeft: ({ ...props }) => ( | ||
<ChevronLeft16Regular className="h-4 w-4" /> | ||
), | ||
IconRight: ({ ...props }) => ( | ||
<ChevronRight16Regular className="h-4 w-4" /> | ||
), | ||
}} | ||
{...props} | ||
/> | ||
); | ||
} | ||
Calendar.displayName = "Calendar"; | ||
|
||
export { Calendar }; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
"use client"; | ||
|
||
import * as React from "react"; | ||
import { format } from "date-fns"; | ||
|
||
import { cn } from "@/lib/utils"; | ||
import { Button } from "@/components/ui/button"; | ||
import { Calendar } from "@/components/ui/calendar"; | ||
import { | ||
Popover, | ||
PopoverContent, | ||
PopoverTrigger, | ||
} from "@/components/ui/popover"; | ||
import { Calendar16Regular } from "@fluentui/react-icons"; | ||
import useTranslation from "next-translate/useTranslation"; | ||
|
||
export function DatePicker(props: { setDate: Function }) { | ||
const [date, setDate] = React.useState<Date>(); | ||
const { t } = useTranslation("common"); | ||
return ( | ||
<Popover> | ||
<PopoverTrigger asChild> | ||
<Button | ||
variant={"outline"} | ||
className={cn( | ||
"justify-start border border-slate-300 text-left font-normal dark:border-slate-600", | ||
!date && "text-muted-foreground", | ||
)} | ||
> | ||
<Calendar16Regular className="mr-2 h-4 w-4" /> | ||
{date ? format(date, "PPP") : <span>{t("select-date")}</span>} | ||
</Button> | ||
</PopoverTrigger> | ||
<PopoverContent className="w-auto p-0 dark:border-slate-600"> | ||
<Calendar | ||
mode="single" | ||
selected={date} | ||
onSelect={(d) => { | ||
setDate(d); | ||
props.setDate(`${formatDate(d)}`); | ||
}} | ||
initialFocus | ||
/> | ||
</PopoverContent> | ||
</Popover> | ||
); | ||
} | ||
function formatDate(date: Date | undefined) { | ||
if (!date) return ""; | ||
var year = date.getFullYear(); | ||
var month = (1 + date.getMonth()).toString().padStart(2, "0"); | ||
var day = date.getDate().toString().padStart(2, "0"); | ||
|
||
return year + month + day; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
export interface CalendarEvent { | ||
title: string; | ||
description: string; | ||
location: string; | ||
start: string; // Use YYYYMMDD format | ||
end: string; // Use YYYYMMDD format | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.