update links page to include project name in each card

pull/3/head
TZGyn 2 years ago
parent 0f64c1579b
commit cd080bfbea
Signed by: TZGyn
GPG Key ID: 122EAF77AE81FD4A

@ -0,0 +1,18 @@
<script lang="ts">
import { cn } from "$lib/utils";
import { badgeVariants, type Variant } from ".";
let className: string | undefined | null = undefined;
export let href: string | undefined = undefined;
export let variant: Variant = "default";
export { className as class };
</script>
<svelte:element
this={href ? "a" : "span"}
{href}
class={cn(badgeVariants({ variant, className }))}
{...$$restProps}
>
<slot />
</svelte:element>

@ -0,0 +1,22 @@
import { tv, type VariantProps } from "tailwind-variants";
export { default as Badge } from "./badge.svelte";
export const badgeVariants = tv({
base: "inline-flex items-center border rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none select-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
variants: {
variant: {
default:
"bg-primary hover:bg-primary/80 border-transparent text-primary-foreground",
secondary:
"bg-secondary hover:bg-secondary/80 border-transparent text-secondary-foreground",
destructive:
"bg-destructive hover:bg-destructive/80 border-transparent text-destructive-foreground",
outline: "text-foreground"
}
},
defaultVariants: {
variant: "default"
}
});
export type Variant = VariantProps<typeof badgeVariants>["variant"];

@ -35,9 +35,7 @@ export const load = (async (event) => {
where: (shortener, { eq, and, isNull }) =>
and(
eq(shortener.userId, user.id),
project_id
? eq(shortener.projectId, project_id)
: isNull(shortener.projectId),
project_id ? eq(shortener.projectId, project_id) : undefined,
),
})

@ -8,6 +8,7 @@
import * as Select from '$lib/components/ui/select'
import { Input } from '$lib/components/ui/input'
import { Label } from '$lib/components/ui/label'
import { Badge } from '$lib/components/ui/badge'
import {
BarChart,
ExternalLink,
@ -155,7 +156,8 @@
{#each data.shorteners as shortener}
<Card.Root class="w-full max-w-[500px]">
<Card.Header>
<Card.Title class="flex items-center gap-2">
<Card.Title class="flex items-center justify-between gap-2">
<div class="flex items-center gap-2">
<a
href={'https://' +
data.shortener_url +
@ -166,6 +168,11 @@
{data.shortener_url + '/' + shortener.code}
</a>
<ExternalLink size={16} />
</div>
<Badge variant="default"
>{shortener.project
? shortener.project.name
: 'Uncategorized'}</Badge>
</Card.Title>
<Card.Description>{shortener.link}</Card.Description>
</Card.Header>

Loading…
Cancel
Save