Skip to content

Commit 9a60bde

Browse files
feat: make the UI (hints), remove description for deprecated packages
1 parent 7a3e041 commit 9a60bde

File tree

3 files changed

+45
-10
lines changed

3 files changed

+45
-10
lines changed

src/lib/server/package-discoverer.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,18 @@ export class PackageDiscoverer {
5858
packages: await Promise.all(
5959
packages.map(async (pkg): Promise<Package> => {
6060
const ghName = this.#gitHubDirectoryFromName(pkg);
61+
const deprecated = (await this.#cache.getPackageDeprecation(pkg)).value || undefined;
6162
return {
6263
name: pkg,
63-
description:
64-
descriptions[`packages/${ghName}/package.json`] ??
65-
descriptions[
66-
`packages/${ghName.substring(ghName.lastIndexOf("/") + 1)}/package.json`
67-
] ??
68-
descriptions["package.json"] ??
69-
"",
70-
deprecated: (await this.#cache.getPackageDeprecation(pkg)).value || undefined
64+
description: deprecated
65+
? ""
66+
: (descriptions[`packages/${ghName}/package.json`] ??
67+
descriptions[
68+
`packages/${ghName.substring(ghName.lastIndexOf("/") + 1)}/package.json`
69+
] ??
70+
descriptions["package.json"] ??
71+
""),
72+
deprecated
7173
};
7274
})
7375
)

src/routes/package/SidePanel.svelte

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,15 @@
157157
href="/package/{pkg.name}"
158158
class="group inline-flex w-full items-center gap-1"
159159
>
160-
<span class="underline-offset-4 group-hover:underline">{pkg.name}</span>
160+
<span
161+
class={[
162+
"underline-offset-4 group-hover:underline",
163+
pkg.deprecated &&
164+
"transition-opacity duration-300 line-through opacity-75 group-hover:opacity-100"
165+
]}
166+
>
167+
{pkg.name}
168+
</span>
161169
<span class="ml-auto flex items-center gap-1">
162170
{#if linkedBadgeData}
163171
{#await linkedBadgeData then data}

src/routes/package/[...package]/+page.svelte

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
<script lang="ts">
22
import { navigating, page } from "$app/state";
3-
import { ChevronRight, LoaderCircle, Rss } from "@lucide/svelte";
3+
import { ChevronRight, CircleAlert, LoaderCircle, Rss } from "@lucide/svelte";
44
import semver from "semver";
55
import * as Accordion from "$lib/components/ui/accordion";
66
import { Button } from "$lib/components/ui/button";
7+
import * as Card from "$lib/components/ui/card";
78
import * as Collapsible from "$lib/components/ui/collapsible";
89
import { Separator } from "$lib/components/ui/separator";
910
import { Skeleton } from "$lib/components/ui/skeleton";
1011
import AnimatedCollapsibleContent from "$lib/components/AnimatedCollapsibleContent.svelte";
12+
import MarkdownRenderer from "$lib/components/MarkdownRenderer.svelte";
1113
import ReleaseCard from "./ReleaseCard.svelte";
1214
1315
let { data } = $props();
@@ -128,6 +130,29 @@
128130
.map(({ id }) => id.toString())}
129131
class="w-full space-y-2"
130132
>
133+
{#if data.currentPackage.pkg.deprecated}
134+
<Card.Root class="border-amber-500 bg-amber-400/10 rounded-xl">
135+
<Card.Header class="pb-6">
136+
<Card.Title class="text-xl inline-flex items-center gap-2">
137+
<CircleAlert class="size-5" />
138+
Deprecated
139+
</Card.Title>
140+
<Card.Description>
141+
<MarkdownRenderer
142+
markdown={data.currentPackage.pkg.deprecated}
143+
inline
144+
class="text-sm text-muted-foreground"
145+
>
146+
{#snippet a({ style, children, class: className, title, href, hidden, type })}
147+
<a {style} class={className} {title} {href} {hidden} {type} target="_blank">
148+
{@render children?.()}
149+
</a>
150+
{/snippet}
151+
</MarkdownRenderer>
152+
</Card.Description>
153+
</Card.Header>
154+
</Card.Root>
155+
{/if}
131156
{#each displayableReleases as release, index (release.id)}
132157
{@const semVersion = semver.coerce(release.cleanVersion)}
133158
{@const isMajorRelease =

0 commit comments

Comments
 (0)