···22import { TablerBrandBluesky } from "@/components/Icons/Branding/TablerBrandBluesky";
33import { Loading } from "@/components/Icons/Loading";
44import { Avatar } from "@/components/Profile/Avatar";
55+import { DEFAULT_BSKY_CLIENT_URL } from "@/lib/consts";
56import { useAvatarQuery } from "@/lib/queries/get-avatar";
67import { useProfileQuery } from "@/lib/queries/get-profile";
78import { useReposQuery } from "@/lib/queries/get-repos";
89import { useMiniDoc } from "@/lib/queries/resolve-minidoc";
1010+import { stripTrailingSlashFromUrl } from "@/lib/utils";
911import { LucideDot, LucideLink, LucideMapPin, LucideUsers } from "lucide-react";
1012import { useState } from "react";
1113···130132 <UnderlineLink
131133 underlineColor="bg-text"
132134 className="text-text"
133133- href={`https://catsky.social/profile/${handle}`}
135135+ href={`${stripTrailingSlashFromUrl(DEFAULT_BSKY_CLIENT_URL)}/profile/${handle}`}
134136 >
135137 {handle}
136138 </UnderlineLink>
+4
src/lib/consts.ts
···67676868export const SLINGSHOT_URL = new URL("https://slingshot.microcosm.blue/");
69697070+/**
7171+ * Default Bluesky client URL. Use the base route, e.g. https://catsky.social/ or https://bsky.app/ or https://witchsky.app/
7272+ * Configurable by client in the future.
7373+ */
7074export const DEFAULT_BSKY_CLIENT_URL = new URL("https://catsky.social/");