diff --git a/README.md b/README.md index 7fe9a6e8e..9686e425f 100644 --- a/README.md +++ b/README.md @@ -35,3 +35,17 @@ sendou.ink/ ├── public/ -- Images, built assets etc. static files to be served as is └── scripts/ -- Stand-alone scripts to be run outside of the app ``` + +## Commands + +### Converting gifs (badges) to thumbnail + +### png + +```bash +sips -s format png ./*.gif --out . +``` + +### avif + +https://github.com/lovell/avif-cli diff --git a/app/components/Image.tsx b/app/components/Image.tsx index 8243c5f8c..4c9ba90fe 100644 --- a/app/components/Image.tsx +++ b/app/components/Image.tsx @@ -1,18 +1,20 @@ export function Image({ path, alt, + title, className, width, height, }: { path: string; alt: string; - className: string; + title?: string; + className?: string; width?: number; height?: number; }) { return ( - + >; export function all() { - return []; // TODO: remove when page is done return allStm.all() as All; } diff --git a/app/routes/badges.tsx b/app/routes/badges.tsx index 36db01501..171d76ad0 100644 --- a/app/routes/badges.tsx +++ b/app/routes/badges.tsx @@ -1,5 +1,6 @@ import type { LinksFunction, LoaderFunction } from "@remix-run/node"; import { Link, Outlet, useLoaderData, useParams } from "@remix-run/react"; +import { Image } from "~/components/Image"; import { Main } from "~/components/Main"; import { db } from "~/db"; import type { All } from "~/db/models/badges.server"; @@ -19,7 +20,6 @@ export const loader: LoaderFunction = () => { return jsonCached({ badges: db.badges.all() }, 120); }; -// xxx: https://web.dev/replace-gifs-with-videos/ check possibility to replace gif export default function BadgesPageLayout() { const data = useLoaderData(); const params = useParams(); @@ -34,13 +34,14 @@ export default function BadgesPageLayout() { {data.badges .filter((b) => !badgeIdBeingViewed || b.id !== badgeIdBeingViewed) .map((badge) => ( + // xxx: firefox and squid junction avif fails to display - {badge.displayName} ))} diff --git a/app/routes/u.$identifier/index.tsx b/app/routes/u.$identifier/index.tsx index f1d7c5867..f8a02f030 100644 --- a/app/routes/u.$identifier/index.tsx +++ b/app/routes/u.$identifier/index.tsx @@ -12,6 +12,7 @@ import { TwitchIcon } from "~/components/icons/Twitch"; import { TwitterIcon } from "~/components/icons/Twitter"; import { YouTubeIcon } from "~/components/icons/YouTube"; import { badgeExplanationText } from "../badges/$id"; +import { badgeUrl } from "~/utils/urls"; export const links: LinksFunction = () => { return [{ rel: "stylesheet", href: styles }]; @@ -136,7 +137,7 @@ function BadgeContainer(props: { badges: UserPageLoaderData["badges"] }) { > {bigBadge.displayName} (
{badge.displayName} setBadgeFirst(badge)} diff --git a/app/utils/urls.ts b/app/utils/urls.ts index 29cd05078..82e707767 100644 --- a/app/utils/urls.ts +++ b/app/utils/urls.ts @@ -21,5 +21,5 @@ export const badgeUrl = ({ extension, }: { code: Badge["code"]; - extension: "gif" | "avif" | "png"; -}) => `/badges/${code}.${extension}`; + extension?: "gif"; +}) => `/badges/${code}${extension ? `.${extension}` : ""}`; diff --git a/public/badges/20xx.avif b/public/badges/20xx.avif new file mode 100644 index 000000000..88ebf7c83 Binary files /dev/null and b/public/badges/20xx.avif differ diff --git a/public/badges/20xx.png b/public/badges/20xx.png new file mode 100644 index 000000000..bce4bc7c9 Binary files /dev/null and b/public/badges/20xx.png differ diff --git a/public/badges/beta_top1.avif b/public/badges/beta_top1.avif new file mode 100644 index 000000000..4933e424a Binary files /dev/null and b/public/badges/beta_top1.avif differ diff --git a/public/badges/beta_top1.png b/public/badges/beta_top1.png new file mode 100644 index 000000000..e782f2548 Binary files /dev/null and b/public/badges/beta_top1.png differ diff --git a/public/badges/beta_top2.avif b/public/badges/beta_top2.avif new file mode 100644 index 000000000..6b4c39eee Binary files /dev/null and b/public/badges/beta_top2.avif differ diff --git a/public/badges/beta_top2.png b/public/badges/beta_top2.png new file mode 100644 index 000000000..8bfad46df Binary files /dev/null and b/public/badges/beta_top2.png differ diff --git a/public/badges/beta_top3.avif b/public/badges/beta_top3.avif new file mode 100644 index 000000000..04ef26b22 Binary files /dev/null and b/public/badges/beta_top3.avif differ diff --git a/public/badges/beta_top3.png b/public/badges/beta_top3.png new file mode 100644 index 000000000..d57e39243 Binary files /dev/null and b/public/badges/beta_top3.png differ diff --git a/public/badges/cake.avif b/public/badges/cake.avif new file mode 100644 index 000000000..599f805eb Binary files /dev/null and b/public/badges/cake.avif differ diff --git a/public/badges/cake.png b/public/badges/cake.png new file mode 100644 index 000000000..857408364 Binary files /dev/null and b/public/badges/cake.png differ diff --git a/public/badges/ebtv.avif b/public/badges/ebtv.avif new file mode 100644 index 000000000..dbfad189e Binary files /dev/null and b/public/badges/ebtv.avif differ diff --git a/public/badges/ebtv.png b/public/badges/ebtv.png new file mode 100644 index 000000000..682aba1d3 Binary files /dev/null and b/public/badges/ebtv.png differ diff --git a/public/badges/girls.avif b/public/badges/girls.avif new file mode 100644 index 000000000..3031c68e7 Binary files /dev/null and b/public/badges/girls.avif differ diff --git a/public/badges/girls.png b/public/badges/girls.png new file mode 100644 index 000000000..de52b5b6e Binary files /dev/null and b/public/badges/girls.png differ diff --git a/public/badges/idtga.avif b/public/badges/idtga.avif new file mode 100644 index 000000000..8480cca38 Binary files /dev/null and b/public/badges/idtga.avif differ diff --git a/public/badges/idtga.png b/public/badges/idtga.png new file mode 100644 index 000000000..28968fc46 Binary files /dev/null and b/public/badges/idtga.png differ diff --git a/public/badges/itz_blue.avif b/public/badges/itz_blue.avif new file mode 100644 index 000000000..3805f52e3 Binary files /dev/null and b/public/badges/itz_blue.avif differ diff --git a/public/badges/itz_blue.png b/public/badges/itz_blue.png new file mode 100644 index 000000000..5d587ef85 Binary files /dev/null and b/public/badges/itz_blue.png differ diff --git a/public/badges/itz_orange.avif b/public/badges/itz_orange.avif new file mode 100644 index 000000000..2a4c675ec Binary files /dev/null and b/public/badges/itz_orange.avif differ diff --git a/public/badges/itz_orange.png b/public/badges/itz_orange.png new file mode 100644 index 000000000..c04d68de9 Binary files /dev/null and b/public/badges/itz_orange.png differ diff --git a/public/badges/itz_pink.avif b/public/badges/itz_pink.avif new file mode 100644 index 000000000..719157055 Binary files /dev/null and b/public/badges/itz_pink.avif differ diff --git a/public/badges/itz_pink.png b/public/badges/itz_pink.png new file mode 100644 index 000000000..8c1bd85cb Binary files /dev/null and b/public/badges/itz_pink.png differ diff --git a/public/badges/itz_red.avif b/public/badges/itz_red.avif new file mode 100644 index 000000000..eb4fbde44 Binary files /dev/null and b/public/badges/itz_red.avif differ diff --git a/public/badges/itz_red.png b/public/badges/itz_red.png new file mode 100644 index 000000000..66981ce4b Binary files /dev/null and b/public/badges/itz_red.png differ diff --git a/public/badges/lobster.avif b/public/badges/lobster.avif new file mode 100644 index 000000000..1be48548e Binary files /dev/null and b/public/badges/lobster.avif differ diff --git a/public/badges/lobster.png b/public/badges/lobster.png new file mode 100644 index 000000000..a0f1596b8 Binary files /dev/null and b/public/badges/lobster.png differ diff --git a/public/badges/lutiblue.avif b/public/badges/lutiblue.avif new file mode 100644 index 000000000..86022adef Binary files /dev/null and b/public/badges/lutiblue.avif differ diff --git a/public/badges/lutiblue.png b/public/badges/lutiblue.png new file mode 100644 index 000000000..fe1e34931 Binary files /dev/null and b/public/badges/lutiblue.png differ diff --git a/public/badges/lutigreen.avif b/public/badges/lutigreen.avif new file mode 100644 index 000000000..3285415ca Binary files /dev/null and b/public/badges/lutigreen.avif differ diff --git a/public/badges/lutigreen.png b/public/badges/lutigreen.png new file mode 100644 index 000000000..a3d528b66 Binary files /dev/null and b/public/badges/lutigreen.png differ diff --git a/public/badges/lutilimegreen.avif b/public/badges/lutilimegreen.avif new file mode 100644 index 000000000..74b51ab38 Binary files /dev/null and b/public/badges/lutilimegreen.avif differ diff --git a/public/badges/lutilimegreen.png b/public/badges/lutilimegreen.png new file mode 100644 index 000000000..dbd754a3c Binary files /dev/null and b/public/badges/lutilimegreen.png differ diff --git a/public/badges/lutiorange.avif b/public/badges/lutiorange.avif new file mode 100644 index 000000000..1a90fb6a6 Binary files /dev/null and b/public/badges/lutiorange.avif differ diff --git a/public/badges/lutiorange.png b/public/badges/lutiorange.png new file mode 100644 index 000000000..44a27cd5d Binary files /dev/null and b/public/badges/lutiorange.png differ diff --git a/public/badges/lutipink.avif b/public/badges/lutipink.avif new file mode 100644 index 000000000..3ea7537d5 Binary files /dev/null and b/public/badges/lutipink.avif differ diff --git a/public/badges/lutipink.png b/public/badges/lutipink.png new file mode 100644 index 000000000..cd97093a3 Binary files /dev/null and b/public/badges/lutipink.png differ diff --git a/public/badges/lutipurple.avif b/public/badges/lutipurple.avif new file mode 100644 index 000000000..29db82b8b Binary files /dev/null and b/public/badges/lutipurple.avif differ diff --git a/public/badges/lutipurple.png b/public/badges/lutipurple.png new file mode 100644 index 000000000..f32cf5319 Binary files /dev/null and b/public/badges/lutipurple.png differ diff --git a/public/badges/lutired.avif b/public/badges/lutired.avif new file mode 100644 index 000000000..5fe0d1fd0 Binary files /dev/null and b/public/badges/lutired.avif differ diff --git a/public/badges/lutired.png b/public/badges/lutired.png new file mode 100644 index 000000000..60701f7f5 Binary files /dev/null and b/public/badges/lutired.png differ diff --git a/public/badges/lutitan.avif b/public/badges/lutitan.avif new file mode 100644 index 000000000..8242917b3 Binary files /dev/null and b/public/badges/lutitan.avif differ diff --git a/public/badges/lutitan.png b/public/badges/lutitan.png new file mode 100644 index 000000000..605808841 Binary files /dev/null and b/public/badges/lutitan.png differ diff --git a/public/badges/lutiyellow.avif b/public/badges/lutiyellow.avif new file mode 100644 index 000000000..21cff19ce Binary files /dev/null and b/public/badges/lutiyellow.avif differ diff --git a/public/badges/lutiyellow.png b/public/badges/lutiyellow.png new file mode 100644 index 000000000..be56ecb78 Binary files /dev/null and b/public/badges/lutiyellow.png differ diff --git a/public/badges/monday.avif b/public/badges/monday.avif new file mode 100644 index 000000000..2c64b1b0d Binary files /dev/null and b/public/badges/monday.avif differ diff --git a/public/badges/monday.png b/public/badges/monday.png new file mode 100644 index 000000000..4ae045beb Binary files /dev/null and b/public/badges/monday.png differ diff --git a/public/badges/pair.avif b/public/badges/pair.avif new file mode 100644 index 000000000..a81ad62e3 Binary files /dev/null and b/public/badges/pair.avif differ diff --git a/public/badges/pair.png b/public/badges/pair.png new file mode 100644 index 000000000..69feb1336 Binary files /dev/null and b/public/badges/pair.png differ diff --git a/public/badges/patreon.avif b/public/badges/patreon.avif new file mode 100644 index 000000000..7430014ff Binary files /dev/null and b/public/badges/patreon.avif differ diff --git a/public/badges/patreon.png b/public/badges/patreon.png new file mode 100644 index 000000000..ff062922e Binary files /dev/null and b/public/badges/patreon.png differ diff --git a/public/badges/patreonplus.avif b/public/badges/patreonplus.avif new file mode 100644 index 000000000..f56eadbb8 Binary files /dev/null and b/public/badges/patreonplus.avif differ diff --git a/public/badges/patreonplus.png b/public/badges/patreonplus.png new file mode 100644 index 000000000..78cb82a26 Binary files /dev/null and b/public/badges/patreonplus.png differ diff --git a/public/badges/pool1.avif b/public/badges/pool1.avif new file mode 100644 index 000000000..79cc489fa Binary files /dev/null and b/public/badges/pool1.avif differ diff --git a/public/badges/pool1.png b/public/badges/pool1.png new file mode 100644 index 000000000..2472cb556 Binary files /dev/null and b/public/badges/pool1.png differ diff --git a/public/badges/pool2.avif b/public/badges/pool2.avif new file mode 100644 index 000000000..b36a2c1de Binary files /dev/null and b/public/badges/pool2.avif differ diff --git a/public/badges/pool2.png b/public/badges/pool2.png new file mode 100644 index 000000000..e42c6be2d Binary files /dev/null and b/public/badges/pool2.png differ diff --git a/public/badges/quad.avif b/public/badges/quad.avif new file mode 100644 index 000000000..1eefef6ef Binary files /dev/null and b/public/badges/quad.avif differ diff --git a/public/badges/quad.png b/public/badges/quad.png new file mode 100644 index 000000000..288809630 Binary files /dev/null and b/public/badges/quad.png differ diff --git a/public/badges/snapshot_bronze.avif b/public/badges/snapshot_bronze.avif new file mode 100644 index 000000000..719a48c1e Binary files /dev/null and b/public/badges/snapshot_bronze.avif differ diff --git a/public/badges/snapshot_bronze.png b/public/badges/snapshot_bronze.png new file mode 100644 index 000000000..d89079b1c Binary files /dev/null and b/public/badges/snapshot_bronze.png differ diff --git a/public/badges/snapshot_gold.avif b/public/badges/snapshot_gold.avif new file mode 100644 index 000000000..c3d661ebf Binary files /dev/null and b/public/badges/snapshot_gold.avif differ diff --git a/public/badges/snapshot_gold.png b/public/badges/snapshot_gold.png new file mode 100644 index 000000000..686fd1e9f Binary files /dev/null and b/public/badges/snapshot_gold.png differ diff --git a/public/badges/snapshot_silver.avif b/public/badges/snapshot_silver.avif new file mode 100644 index 000000000..4deeb6dba Binary files /dev/null and b/public/badges/snapshot_silver.avif differ diff --git a/public/badges/snapshot_silver.png b/public/badges/snapshot_silver.png new file mode 100644 index 000000000..9084bc4d9 Binary files /dev/null and b/public/badges/snapshot_silver.png differ diff --git a/public/badges/squid_junction.avif b/public/badges/squid_junction.avif new file mode 100644 index 000000000..ecf76e887 Binary files /dev/null and b/public/badges/squid_junction.avif differ diff --git a/public/badges/squid_junction.png b/public/badges/squid_junction.png new file mode 100644 index 000000000..fa867e2d7 Binary files /dev/null and b/public/badges/squid_junction.png differ diff --git a/public/badges/sundae.avif b/public/badges/sundae.avif new file mode 100644 index 000000000..49b55e37c Binary files /dev/null and b/public/badges/sundae.avif differ diff --git a/public/badges/sundae.png b/public/badges/sundae.png new file mode 100644 index 000000000..b0cfc2826 Binary files /dev/null and b/public/badges/sundae.png differ diff --git a/public/badges/superjump_alpha.avif b/public/badges/superjump_alpha.avif new file mode 100644 index 000000000..02f301a8e Binary files /dev/null and b/public/badges/superjump_alpha.avif differ diff --git a/public/badges/superjump_alpha.png b/public/badges/superjump_alpha.png new file mode 100644 index 000000000..971d64f54 Binary files /dev/null and b/public/badges/superjump_alpha.png differ diff --git a/public/badges/superjump_beta.avif b/public/badges/superjump_beta.avif new file mode 100644 index 000000000..515c867c8 Binary files /dev/null and b/public/badges/superjump_beta.avif differ diff --git a/public/badges/superjump_beta.png b/public/badges/superjump_beta.png new file mode 100644 index 000000000..6f0a336f4 Binary files /dev/null and b/public/badges/superjump_beta.png differ diff --git a/public/badges/superjump_gamma.avif b/public/badges/superjump_gamma.avif new file mode 100644 index 000000000..58791698e Binary files /dev/null and b/public/badges/superjump_gamma.avif differ diff --git a/public/badges/superjump_gamma.png b/public/badges/superjump_gamma.png new file mode 100644 index 000000000..46b668d68 Binary files /dev/null and b/public/badges/superjump_gamma.png differ diff --git a/public/badges/tidal_tuesdays.avif b/public/badges/tidal_tuesdays.avif new file mode 100644 index 000000000..375a7c6b9 Binary files /dev/null and b/public/badges/tidal_tuesdays.avif differ diff --git a/public/badges/tidal_tuesdays.png b/public/badges/tidal_tuesdays.png new file mode 100644 index 000000000..f6bb9e0cb Binary files /dev/null and b/public/badges/tidal_tuesdays.png differ diff --git a/public/badges/toni_kensa.avif b/public/badges/toni_kensa.avif new file mode 100644 index 000000000..42781e9a4 Binary files /dev/null and b/public/badges/toni_kensa.avif differ diff --git a/public/badges/toni_kensa.png b/public/badges/toni_kensa.png new file mode 100644 index 000000000..41343b450 Binary files /dev/null and b/public/badges/toni_kensa.png differ diff --git a/public/badges/triton.avif b/public/badges/triton.avif new file mode 100644 index 000000000..c66ccfb8c Binary files /dev/null and b/public/badges/triton.avif differ diff --git a/public/badges/triton.png b/public/badges/triton.png new file mode 100644 index 000000000..8a5a3037d Binary files /dev/null and b/public/badges/triton.png differ diff --git a/public/badges/xp26.avif b/public/badges/xp26.avif new file mode 100644 index 000000000..e52106a11 Binary files /dev/null and b/public/badges/xp26.avif differ diff --git a/public/badges/xp26.png b/public/badges/xp26.png new file mode 100644 index 000000000..3bd161872 Binary files /dev/null and b/public/badges/xp26.png differ diff --git a/public/badges/xp27.avif b/public/badges/xp27.avif new file mode 100644 index 000000000..87f0bc348 Binary files /dev/null and b/public/badges/xp27.avif differ diff --git a/public/badges/xp27.png b/public/badges/xp27.png new file mode 100644 index 000000000..763211566 Binary files /dev/null and b/public/badges/xp27.png differ diff --git a/public/badges/xp28.avif b/public/badges/xp28.avif new file mode 100644 index 000000000..10f835586 Binary files /dev/null and b/public/badges/xp28.avif differ diff --git a/public/badges/xp28.png b/public/badges/xp28.png new file mode 100644 index 000000000..1119ce7c9 Binary files /dev/null and b/public/badges/xp28.png differ diff --git a/public/badges/xp29.avif b/public/badges/xp29.avif new file mode 100644 index 000000000..5195c9ac9 Binary files /dev/null and b/public/badges/xp29.avif differ diff --git a/public/badges/xp29.png b/public/badges/xp29.png new file mode 100644 index 000000000..2c924182c Binary files /dev/null and b/public/badges/xp29.png differ diff --git a/public/badges/xp30.avif b/public/badges/xp30.avif new file mode 100644 index 000000000..acaaa4e82 Binary files /dev/null and b/public/badges/xp30.avif differ diff --git a/public/badges/xp30.png b/public/badges/xp30.png new file mode 100644 index 000000000..2dda6719c Binary files /dev/null and b/public/badges/xp30.png differ diff --git a/public/badges/zones.avif b/public/badges/zones.avif new file mode 100644 index 000000000..a351b8fd5 Binary files /dev/null and b/public/badges/zones.avif differ diff --git a/public/badges/zones.png b/public/badges/zones.png new file mode 100644 index 000000000..3ac0f3218 Binary files /dev/null and b/public/badges/zones.png differ