"use client"; import { ButtonPrimary } from "components/Buttons"; import { BlueskyTiny } from "components/Icons/BlueskyTiny"; import { Popover } from "components/Popover"; import Link from "next/link"; import { HandleInput } from "./HandleInput"; const logos = { Anisota: "/logos/anisota.svg", Blacksky: "/logos/blacksky.svg", Blento: "/logos/blento.svg", Bluesky: "/logos/bluesky.svg", Cartridge: "/logos/cartridge.svg", Eurosky: "/logos/eurosky.svg", Graze: "/logos/graze.svg", Leaflet: "/logos/leaflet.svg", Margin: "/logos/margin.svg", Offprint: "/logos/offprint.svg", Pckt: "/logos/pckt.svg", pdsls: "/logos/pdsls.svg", "plyr.fm": "/logos/plyr.fm.svg", Popfeed: "/logos/popfeed.svg", Roomy: "/logos/roomy.svg", Semble: "/logos/semble.svg", Sill: "/logos/sill.svg", Spark: "/logos/spark.svg", Surf: "/logos/surf.svg", Tangled: "/logos/tangled.svg", }; import { Separator } from "components/Layout"; export const SubscribeWithHandle = (props: { autoFocus?: boolean; user: { loggedIn: boolean; email: string | undefined; handle: string | undefined; }; }) => { if (props.user.loggedIn && props.user.handle) { return ( Subscribe as
{props.user.handle}
); } else return (
Create
); }; export const LinkHandle = (props: { compact?: boolean }) => { return (

Link your universal handle

to comment, recommend, and see what your friends are reading
); }; export const HandleInputandOAuth = (props: { link?: boolean; compact?: boolean; }) => { return (

or {props.link ? "link with" : "sign in via"}

Bluesky
); }; export const AtSubscribeSuccess = (props: {}) => { return (

You've Subscribed!

You'll recieve new posts in the
Leaflet Reader
or any standard.site enabled reader!

Other ways to follow

Get the RSS Feed Pin Custom Feed in Bluesky
); }; export const AtmosphericHandleInfo = (props: { trigger?: React.ReactNode }) => { return ( What's the Atmosphere
) } >
The Atmosphere is a growing ecosystem of social apps, like Leaflet and Bluesky.
One account gets you into all of them.
Apps on the Atmosphere!
{( [ "Leaflet", "Bluesky", "Blacksky", "Eurosky", "Tangled", "Semble", "Surf", "Spark", "Pckt", "pdsls", "plyr.fm", "Popfeed", "Roomy", "Sill", "Offprint", "Margin", "Anisota", "Blento", "Cartridge", "Graze", "Leaflet", "Bluesky", "Blacksky", "Eurosky", "Tangled", "Semble", "Surf", "Spark", "Pckt", "pdsls", "plyr.fm", "Popfeed", "Roomy", "Sill", "Offprint", "Margin", "Anisota", "Blento", "Cartridge", "Graze", ] as (keyof typeof logos)[] ).map((name, i) => ( ))}
Sign up via Bluesky! ); }; const AtApp = (props: { logo: string; name: string }) => { return (
{props.name} {props.name}
); };