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