import React, { useState } from "react"; import { useNavigate, useSearchParams, Link } from "react-router-dom"; import { useStore } from "@nanostores/react"; import { $user } from "../../store/auth"; import Composer from "../../components/feed/Composer"; import type { Selector } from "../../types"; export default function NewAnnotationPage() { const user = useStore($user); const navigate = useNavigate(); const [searchParams] = useSearchParams(); const initialUrl = searchParams.get("url") || ""; let initialSelector: Selector | null = null; const selectorParam = searchParams.get("selector"); if (selectorParam) { try { initialSelector = JSON.parse(selectorParam); } catch (e) { console.error("Failed to parse selector:", e); } } const legacyQuote = searchParams.get("quote") || ""; if (legacyQuote && !initialSelector) { initialSelector = { type: "TextQuoteSelector", exact: legacyQuote, }; } const [url, setUrl] = useState(initialUrl); if (!user) { return (
You need a Bluesky account
Sign in with BlueskyWrite in the margins of the web