gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/support-us/index.tsx · v0.5.5
Source
1 7a20f06 Mardin 2y ago import { type FC, type HTMLAttributes } from "react";
2 7a20f06 Mardin 2y ago import { SupportUsVariation, SupportUsStructure } from "./types";
3 7a20f06 Mardin 2y ago import { useSupportUs } from "./use-support-us";
4 bef7670 Mardin 2y ago import { SupportUsCard } from "./card";
5 bef7670 Mardin 2y ago import { SupportUsPopover } from "./popover";
6 7a20f06 Mardin 2y ago
7 7a20f06 Mardin 2y ago export interface SupportUsProps extends HTMLAttributes<HTMLDivElement> {
8 bef7670 Mardin 2y ago donationLink: string;
9 7a20f06 Mardin 2y ago open?: boolean;
10 7a20f06 Mardin 2y ago variant?: SupportUsVariation;
11 7a20f06 Mardin 2y ago structure?: SupportUsStructure;
12 7a20f06 Mardin 2y ago }
13 7a20f06 Mardin 2y ago
14 bef7670 Mardin 2y ago export const SupportUs: FC<SupportUsProps> = ({ open = true, variant = "status", className, structure = "card", donationLink }) => {
15 7a20f06 Mardin 2y ago const [supportUsOpen, setSupportUsOpen] = useSupportUs(variant, open);
16 7a20f06 Mardin 2y ago
17 7a20f06 Mardin 2y ago if (!supportUsOpen) return null;
18 bef7670 Mardin 2y ago return structure === "popover" ? (
19 bef7670 Mardin 2y ago <SupportUsPopover
20 bef7670 Mardin 2y ago className={className}
21 bef7670 Mardin 2y ago donationLink={donationLink}
22 bef7670 Mardin 2y ago />
23 bef7670 Mardin 2y ago ) : (
24 bef7670 Mardin 2y ago <SupportUsCard
25 bef7670 Mardin 2y ago variant={variant}
26 bef7670 Mardin 2y ago className={className}
27 bef7670 Mardin 2y ago donationLink={donationLink}
28 bef7670 Mardin 2y ago setSupportUsOpen={setSupportUsOpen}
29 bef7670 Mardin 2y ago />
30 bef7670 Mardin 2y ago );
31 7a20f06 Mardin 2y ago };