/* Badger - Web application to detect ATProto applications and generate static HTML 'badges' for a user Copyright (C) 2026 Grant Mulholland This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ // deno-lint-ignore-file require-await no-unused-vars /** * @type {Object.} * @typedef {{did:string,handle:string,pds:string,signing_key:string}} MiniDoc * @callback TransformCallback * @param {MiniDoc} miniDoc * @returns {string} */ export const icons = { "app.bsky": { name: "Bluesky", transform: async (miniDoc)=>`https://bsky.app/profile/${miniDoc.did}`, icon: ``.trim(), }, "pub.leaflet": { name: "Leaflet", transform: async (miniDoc)=>``, icon: `` }, "net.anisota": { name: "Anisota", transform: async (miniDoc)=>`https://anisota.net/profile/${miniDoc.did}`, icon: `` }, "sh.tangled": { name: "Tangled", transform: async (miniDoc)=>`https://tangled.org/${miniDoc.did}`, icon: `` }, "app.sidetrail": { name: "Sidetrail", transform: async (miniDoc)=>`https://sidetrail.app/@${miniDoc.handle}`, icon: `` }, "place.stream.key": { name: "Streamplace", transform: async (miniDoc)=>`https://stream.place/${miniDoc.handle}`, icon: `` }, "com.wamellow.bridge.discord": { name: "Wamellow", transform: async (miniDoc)=>``, icon: `` }, "farm.smol.games.skyrdle.score": { name: "Skyrdle", transform: async (miniDoc)=>``, icon: `` }, "space.roomy": { name: "Roomy", transform: async (miniDoc)=>``, icon: `` }, "at.margin": { name: "Margin", transform: async (miniDoc)=>`https://margin.at/profile/${miniDoc.did}`, icon: `` }, "network.cosmik": { name: "Semble", transform: async (miniDoc)=>`https://semble.so/profile/${miniDoc.did}`, icon: `` }, "fm.plyr.actor.profile": { name: "plyr.fm", transform: async (miniDoc)=>`https://plyr.fm/u/${miniDoc.handle}`, icon: `` } }; export const iconKeys = Object.keys(icons);