AppLinksCard.tsx raw
1 import { GlobeIcon } from "lucide-react";
2 import { AppStoreApp } from "src/components/connections/SuggestedAppData";
3 import { AppleIcon } from "src/components/icons/Apple";
4 import { ChromeIcon } from "src/components/icons/Chrome";
5 import { FirefoxIcon } from "src/components/icons/Firefox";
6 import { PlayStoreIcon } from "src/components/icons/PlayStore";
7 import { ZapStoreIcon } from "src/components/icons/ZapStore";
8 import {
9 Card,
10 CardFooter,
11 CardHeader,
12 CardTitle,
13 } from "src/components/ui/card";
14 import { ExternalLinkButton } from "src/components/ui/custom/external-link-button";
15
16 export function AppLinksCard({ appStoreApp }: { appStoreApp: AppStoreApp }) {
17 if (
18 !appStoreApp.appleLink &&
19 !appStoreApp.playLink &&
20 !appStoreApp.zapStoreLink &&
21 !appStoreApp.chromeLink &&
22 !appStoreApp.firefoxLink &&
23 !appStoreApp.webLink
24 ) {
25 return null;
26 }
27
28 return (
29 <Card>
30 <CardHeader>
31 <CardTitle className="text-2xl">Links</CardTitle>
32 </CardHeader>
33 <CardFooter className="flex flex-row flex-wrap gap-2">
34 {appStoreApp.webLink && (
35 <ExternalLinkButton to={appStoreApp.webLink} variant="outline">
36 <GlobeIcon />
37 Website
38 </ExternalLinkButton>
39 )}
40 {appStoreApp.playLink && (
41 <ExternalLinkButton to={appStoreApp.playLink} variant="outline">
42 <PlayStoreIcon />
43 Play Store
44 </ExternalLinkButton>
45 )}
46 {appStoreApp.appleLink && (
47 <ExternalLinkButton to={appStoreApp.appleLink} variant="outline">
48 <AppleIcon />
49 App Store
50 </ExternalLinkButton>
51 )}
52 {appStoreApp.zapStoreLink && (
53 <ExternalLinkButton to={appStoreApp.zapStoreLink} variant="outline">
54 <ZapStoreIcon />
55 Zapstore
56 </ExternalLinkButton>
57 )}
58 {appStoreApp.chromeLink && (
59 <ExternalLinkButton to={appStoreApp.chromeLink} variant="outline">
60 <ChromeIcon />
61 Chrome Web Store
62 </ExternalLinkButton>
63 )}
64 {appStoreApp.firefoxLink && (
65 <ExternalLinkButton to={appStoreApp.firefoxLink} variant="outline">
66 <FirefoxIcon />
67 Firefox Add-Ons
68 </ExternalLinkButton>
69 )}
70 </CardFooter>
71 </Card>
72 );
73 }
74