From 5559cea720ef79b4e545caa5e15f766684aabf7a Mon Sep 17 00:00:00 2001 From: Bad Manners Date: Sun, 25 Aug 2024 18:06:15 -0300 Subject: [PATCH] Add Keyoxide and improve index links handling --- package-lock.json | 4 +- package.json | 2 +- public/licenses.txt | 2 +- scripts/deploy-lftp.ts | 4 +- .../icons/brands/IconKeyoxide.astro | 15 ++ src/pages/index.astro | 132 +++++++++++++----- 6 files changed, 115 insertions(+), 44 deletions(-) create mode 100644 src/components/icons/brands/IconKeyoxide.astro diff --git a/package-lock.json b/package-lock.json index bf46f59..51f0636 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "badmanners.xyz", - "version": "2.1.3", + "version": "2.1.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "badmanners.xyz", - "version": "2.1.3", + "version": "2.1.4", "hasInstallScript": true, "dependencies": { "@astrojs/check": "^0.9.2", diff --git a/package.json b/package.json index 28cddb5..d045e75 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "badmanners.xyz", "type": "module", - "version": "2.1.3", + "version": "2.1.4", "scripts": { "postinstall": "astro sync", "dev": "astro dev", diff --git a/public/licenses.txt b/public/licenses.txt index fa99be7..3ca0341 100644 --- a/public/licenses.txt +++ b/public/licenses.txt @@ -8,7 +8,7 @@ The Jost* typeface is copyrighted by indestructible type* and is distributed und The SVG icons for Bluesky, Codeberg, Discord, Itch.io, Keybase, Ko-fi, GitHub, GitLab, Google, Mastodon, Picarto, Reddit, Signal, Steam, Telegram, Twitch, Weasyl, X, and YouTube were created for the Simple Icons project and are distributed under the Creative Commons Zero v1.0 Universal license: https://creativecommons.org/publicdomain/zero/1.0/ -The SVG icons for Cohost, Eka's Portal, Fur Affinity, Inkbunny, Itaku, Neocities, SoFurry, and SubscribeStar were edited by me (Bad Manners) from their respective logos, for personal use. +The SVG icons for Cohost, Eka's Portal, Fur Affinity, Inkbunny, Itaku, Keyoxide, Neocities, SoFurry, SSH, and SubscribeStar were edited by me (Bad Manners) from their respective logos, for personal use. The generic SVG icons were created by Font Awesome and are distributed under CC-BY-4.0: https://creativecommons.org/licenses/by/4.0/ diff --git a/scripts/deploy-lftp.ts b/scripts/deploy-lftp.ts index 3e0a8fc..222802f 100644 --- a/scripts/deploy-lftp.ts +++ b/scripts/deploy-lftp.ts @@ -28,9 +28,7 @@ async function deployLftp({ host, user, password, targetFolder, sourceFolder, as }, ); await new Promise((resolve, reject) => { - process.on("close", (code) => - (code === 0) ? resolve(0) : reject(`lftp failed with code ${code}`), - ); + process.on("close", (code) => (code === 0 ? resolve(0) : reject(`lftp failed with code ${code}`))); }); } diff --git a/src/components/icons/brands/IconKeyoxide.astro b/src/components/icons/brands/IconKeyoxide.astro new file mode 100644 index 0000000..68ba61b --- /dev/null +++ b/src/components/icons/brands/IconKeyoxide.astro @@ -0,0 +1,15 @@ +--- +import SVGIcon from "../SVGIcon.astro"; + +type Props = { + width: string; + height: string; + class?: string; +}; +--- + + + + diff --git a/src/pages/index.astro b/src/pages/index.astro index 84bad0e..477a02b 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -15,6 +15,7 @@ import IconInkbunny from "../components/icons/brands/IconInkbunny.astro"; import IconItaku from "../components/icons/brands/IconItaku.astro"; import IconItchIO from "../components/icons/brands/IconItchIO.astro"; import IconKeybase from "../components/icons/brands/IconKeybase.astro"; +import IconKeyoxide from "../components/icons/brands/IconKeyoxide.astro"; import IconKofi from "../components/icons/brands/IconKofi.astro"; import IconMastodon from "../components/icons/brands/IconMastodon.astro"; import IconNeocities from "../components/icons/brands/IconNeocities.astro"; @@ -49,10 +50,12 @@ import IconYouTube from "../components/icons/brands/IconYouTube.astro"; alt="Logo for Bad Manners" class="u-logo mx-auto my-4 h-screen max-h-48 rounded-full transition-transform hover:scale-110 motion-reduce:transition-none motion-reduce:hover:scale-100 sm:max-h-72" /> -

I'm a safe vore enthusiast, a furry programmer, and occasionally a writer.

+

+ I'm a safe vore enthusiast, a furry programmer, and occasionally a writer. +

{ Astro.site ? ( - + {Astro.site} ) : null @@ -62,8 +65,9 @@ import IconYouTube from "../components/icons/brands/IconYouTube.astro"; class="grid grid-cols-3 gap-x-4 gap-y-5 px-4 pt-8 sm:grid-cols-4 sm:px-20 md:px-32" aria-label="Links" > -
  • +
  • E-mail address

  • -
  • -
  • +
  • @badmanners.xyz on Bluesky

  • -
  • +
  • BadManners on Codeberg

  • -
  • +
  • BadManners on Cohost

  • -
  • +
  • -
  • +
  • BadManners on Eka's Portal

  • -
  • +
  • BadManners on Fur Affinity

  • -
  • +
  • BadMannersXYZ on GitHub

  • -
  • +
  • Bad_Manners on GitLab

  • -
  • +
  • Google/Gmail address

  • -
  • +
  • BadManners on Inkbunny

  • -
  • +
  • badmanners on Itaku

  • -
  • +
  • Bad Manners on Itch.io

  • -
  • +
  • badmanners on Keybase

  • -
  • +
  • + + + +
  • +
  • + badmanners on Ko-fi

  • -
  • +
  • @BadManners@meow.social on Mastodon

  • -
  • +
  • badmanners.neocities.org on Neocities

  • -
  • +
  • BadManners on Picarto

  • -
  • +
  • /u/BadManners_ on Reddit

  • -
  • +
  • badmanners.10 on Signal

  • -
  • +
  • Bad Manners on SoFurry

  • -
  • +
  • -
  • +
  • badmanners_ on Steam

  • -
  • +
  • Bad Manners on SubscribeStar

  • -
  • +
  • @bad_manners on Telegram

  • -
  • +
  • bad__manners on Twitch

  • -
  • +
  • BadManners on Weasyl

  • -
  • +
  • @BadManners__ on X

  • -
  • +
  • { + const onClickElement = (ev: Event) => { ev.preventDefault(); tooltipTimeoutTag && clearTimeout(tooltipTimeoutTag); hideAll(); navigator.clipboard .writeText(clipboard) - .then(() => { - elementTooltip.show(); - }) + .then(() => elementTooltip.show()) .catch((e) => { console.error("Unable to copy custom content to clipboard.", clipboard, e); + // Clean up clipboard logic, and revert element to original state + element.removeEventListener("click", onClickElement); + elementTooltip.destroy(); + if (ariaDisabled !== null) { + element.setAttribute("aria-disabled", ariaDisabled); + } else { + // Invoke default click + element.click(); + } }); - }); + }; + element.addEventListener("click", onClickElement); }); }; if (ENABLE_VIEW_TRANSITIONS) {