import type { Shortcut } from "@/types/proto/api/v2/shortcut_service"; import { useStorage } from "@plasmohq/storage/hook"; import classNames from "classnames"; import { useEffect, useState } from "react"; import useFaviconStore from "../stores/favicon"; import Icon from "./Icon"; interface Props { shortcut: Shortcut; } const ShortcutView = (props: Props) => { const { shortcut } = props; const faviconStore = useFaviconStore(); const [domain] = useStorage("domain", ""); const [favicon, setFavicon] = useState(undefined); useEffect(() => { faviconStore.getOrFetchUrlFavicon(shortcut.link).then((url) => { if (url) { setFavicon(url); } }); }, [shortcut.link]); const handleShortcutLinkClick = () => { const shortcutLink = `${domain}/s/${shortcut.name}`; chrome.tabs.create({ url: shortcutLink }); }; return ( <>
{favicon ? ( ) : ( )}
); }; export default ShortcutView;