import System from "@/models/system"; import paths from "@/utils/paths"; import { BookOpen, DiscordLogo, GithubLogo, Briefcase, Envelope, Globe, HouseLine, Info, LinkSimple, } from "@phosphor-icons/react"; import React, { useEffect, useState } from "react"; import SettingsButton from "../SettingsButton"; import { isMobile } from "react-device-detect"; import { Tooltip } from "react-tooltip"; import { v4 } from "uuid"; export const MAX_ICONS = 3; export const ICON_COMPONENTS = { BookOpen: BookOpen, DiscordLogo: DiscordLogo, GithubLogo: GithubLogo, Envelope: Envelope, LinkSimple: LinkSimple, HouseLine: HouseLine, Globe: Globe, Briefcase: Briefcase, Info: Info, }; export default function Footer() { const [footerData, setFooterData] = useState(false); useEffect(() => { async function fetchFooterData() { const { footerData } = await System.fetchCustomFooterIcons(); setFooterData(footerData); } fetchFooterData(); }, []); // wait for some kind of non-false response from footer data first // to prevent pop-in. if (footerData === false) return null; if (!Array.isArray(footerData) || footerData.length === 0) { return (
); } return (