kit/src/lib/FrameworkSwitchCourse.svelte (33 lines of code) (raw):
<script lang="ts">
import type { CourseFramework } from "./types";
import IconPytorch from "./IconPytorch.svelte";
import IconTensorflow from "./IconTensorflow.svelte";
export let fw: CourseFramework;
const FRAMEWORKS = [
{
id: "pt",
classNames: "bg-red-50 dark:bg-transparent text-red-600",
icon: IconPytorch,
name: "Pytorch",
},
{
id: "tf",
classNames: "bg-orange-50 dark:bg-transparent text-yellow-600",
icon: IconTensorflow,
name: "TensorFlow",
},
] as const;
</script>
<div class="bg-white leading-none border border-gray-100 rounded-lg flex p-0.5 w-56 text-sm mb-4">
{#each FRAMEWORKS as f, i}
<a
class="flex justify-center flex-1 py-1.5 px-2.5 focus:outline-none !no-underline
rounded-{i ? 'r' : 'l'}
{f.id === fw ? f.classNames : 'text-gray-500 filter grayscale'}"
href="?fw={f.id}"
>
<svelte:component this={f.icon} classNames="mr-1.5" />
{f.name}
</a>
{/each}
</div>