refactor(all): biomejs

This commit is contained in:
z0x 2025-01-14 22:41:22 -05:00
parent 9c22eceaf7
commit a519150e9f
29 changed files with 540 additions and 489 deletions

View file

@ -2,11 +2,11 @@
import type { CollectionEntry } from "astro:content";
type Props = {
entry: CollectionEntry<"blog">;
entry: CollectionEntry<"blog">;
};
const { entry } = Astro.props as {
entry: CollectionEntry<"blog">;
entry: CollectionEntry<"blog">;
};
---

View file

@ -1,7 +1,3 @@
---
---
<button
id="back-to-top"
class="group relative flex w-fit flex-nowrap rounded border border-black/15 py-1.5 pl-8 pr-3 transition-colors duration-300 ease-in-out hover:bg-black/5 hover:text-black focus-visible:bg-black/5 focus-visible:text-black dark:border-white/20 dark:hover:bg-white/5 dark:hover:text-white dark:focus-visible:bg-white/5 dark:focus-visible:text-white"

View file

@ -1,6 +1,6 @@
---
interface Props {
type: "default" | "info" | "warning" | "error";
type: "default" | "info" | "warning" | "error";
}
const { type = "default" } = Astro.props;
@ -8,11 +8,11 @@ const { type = "default" } = Astro.props;
let emoji = "💡";
if (type === "info") {
emoji = "";
emoji = "";
} else if (type === "warning") {
emoji = "⚠️";
emoji = "⚠️";
} else if (type === "error") {
emoji = "🚨";
emoji = "🚨";
}
---

View file

@ -1,5 +1 @@
---
---
<div class="mx-auto max-w-screen-sm px-3"><slot /></div>

View file

@ -1,6 +1,6 @@
---
import Container from "@components/Container.astro";
import BackToTop from "@components/BackToTop.astro";
import Container from "@components/Container.astro";
import { SITE } from "@consts";
---

View file

@ -1,6 +1,6 @@
---
interface Props {
date: Date;
date: Date;
}
const { date } = Astro.props;

View file

@ -24,9 +24,9 @@ import "@fontsource/geist-mono/800.css";
import "@fontsource/geist-mono/900.css";
interface Props {
title: string;
description: string;
image?: string;
title: string;
description: string;
image?: string;
}
const { title, description, image = "/blog-placeholder-1.jpg" } = Astro.props;

View file

@ -2,18 +2,18 @@
import { cn } from "@lib/utils";
type Props = {
href: string;
external?: boolean;
underline?: boolean;
group?: boolean;
href: string;
external?: boolean;
underline?: boolean;
group?: boolean;
};
const {
href,
external,
underline = true,
group = false,
...rest
href,
external,
underline = true,
group = false,
...rest
} = Astro.props;
---

View file

@ -5,24 +5,24 @@ const { headings } = Astro.props;
const toc = buildToc(headings);
export interface Heading {
depth: number;
id: string;
text: string;
depth: number;
id: string;
text: string;
}
function buildToc(headings: Heading[]) {
const toc: Heading[] = [];
const parentHeadings = new Map();
headings.forEach((h) => {
const heading = { ...h, subheadings: [] };
parentHeadings.set(heading.depth, heading);
if (heading.depth === 2) {
toc.push(heading);
} else {
parentHeadings.get(heading.depth - 1).subheadings.push(heading);
}
});
return toc;
const toc: Heading[] = [];
const parentHeadings = new Map();
headings.forEach((h) => {
const heading = { ...h, subheadings: [] };
parentHeadings.set(heading.depth, heading);
if (heading.depth === 2) {
toc.push(heading);
} else {
parentHeadings.get(heading.depth - 1).subheadings.push(heading);
}
});
return toc;
}
---

View file

@ -1,6 +1,6 @@
---
import type { Heading } from "./TableOfContents.astro";
import Link from "./Link.astro";
import type { Heading } from "./TableOfContents.astro";
const { heading } = Astro.props;
---