import { useEffect, useState } from "react"; import Spinner from "./Spinner"; import { api } from "./utils/trpc"; import { Navigate } from "react-router-dom"; export default function SavePage() { const [error, setError] = useState(undefined); const { data, 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 ; } case "pending": { return (
Saving Bookmark
); } case "idle": { return
; } } }