https://dev.kronoz.win/r/marzneshin.git
| 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 |
}; |