import { useEffect, useState } from "react"; import Spinner from "./Spinner"; import { api } from "./utils/trpc"; export default function SavePage() { const [error, setError] = useState(undefined); const { mutate: createBookmark, status } = api.bookmarks.createBookmark.useMutation({ onError: (e) => { setError("Something went wrong: " + e.message); }, }); useEffect(() => { async function runSave() { let currentUrl; const [currentTab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true, }); if (currentTab?.url) { currentUrl = currentTab.url; } else { setError("Couldn't find the URL of the current tab"); return; } createBookmark({ type: "link", url: currentUrl, }); } runSave(); }, [createBookmark]); switch (status) { case "error": { return
{error}
; } case "success": { return
Bookmark Saved
; } case "pending": { return (
); } case "idle": { return (
); } } }