mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
3bf590b67e
* dev: calendar view init * chore: new render logic * chore: implement calendar view * chore: calendar view * refactor: calendar payload * chore: remove active month logic from backend * chore: setup new store for calendar * refactor: issues fetching structure * chore: months dropdown * chore: modify request query params for calendar layout * refactor: remove console logs and add comments
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import React from "react";
|
|
|
|
// ui
|
|
import { Tooltip } from "components/ui";
|
|
// types
|
|
import { TIssueLayouts } from "types";
|
|
// constants
|
|
import { ISSUE_LAYOUTS } from "constants/issue";
|
|
|
|
type Props = {
|
|
layouts: TIssueLayouts[];
|
|
onChange: (layout: TIssueLayouts) => void;
|
|
selectedLayout: TIssueLayouts;
|
|
};
|
|
|
|
export const LayoutSelection: React.FC<Props> = (props) => {
|
|
const { layouts, onChange, selectedLayout } = props;
|
|
|
|
return (
|
|
<div className="flex items-center gap-1 p-1 rounded bg-custom-background-80">
|
|
{ISSUE_LAYOUTS.filter((l) => layouts.includes(l.key)).map((layout) => (
|
|
<Tooltip key={layout.key} tooltipContent={layout.title}>
|
|
<button
|
|
type="button"
|
|
className={`w-7 h-[22px] rounded grid place-items-center transition-all hover:bg-custom-background-100 overflow-hidden group ${
|
|
selectedLayout == layout.key ? "bg-custom-background-100 shadow-custom-shadow-2xs" : ""
|
|
}`}
|
|
onClick={() => onChange(layout.key)}
|
|
>
|
|
<layout.icon
|
|
size={14}
|
|
strokeWidth={2}
|
|
className={`${selectedLayout == layout.key ? "text-custom-text-100" : "text-custom-text-200"}`}
|
|
/>
|
|
</button>
|
|
</Tooltip>
|
|
))}
|
|
</div>
|
|
);
|
|
};
|