Monorepo for Tangled
Something went wrong. Try again.
Svelte
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647<script lang="ts"> import { resolve } from "$app/paths"; import type { Snippet } from "svelte"; import Card, { type CardVariants } from "$lib/components/ui/Card.svelte"; import RepoCardContent from "$lib/components/repo/RepoCardContent.svelte"; import type { RepoCardData, StarChange } from "$lib/components/profile/types"; import { navigatingTo } from "$lib/navPulse"; let { repo, starButton = true, showOwner = true, border = true, background = true, padding = "regular", onStar, action }: { repo: RepoCardData; onStar?: (change: StarChange) => void; starButton?: boolean; showOwner?: boolean; border?: CardVariants["border"]; background?: CardVariants["background"]; padding?: CardVariants["padding"]; action?: Snippet; } = $props();
const href = $derived(resolve(`/${repo.ownerHandle}/${repo.name}` as "/"));</script>
{#snippet body()} <RepoCardContent {repo} {starButton} {showOwner} {onStar} />{/snippet}
<Card {border} {background} {padding} class={navigatingTo(href) ? "row-breathe" : undefined}> {#if action} <div class="flex items-center gap-sm"> <div class="min-w-0 flex-1"> {@render body()} </div> {@render action()} </div> {:else} {@render body()} {/if}</Card>