Просмотр исходного кода

Makes templates into clickable links

Alicia Sykes 2 лет назад
Родитель
Сommit
30418d0ffe
1 измененных файлов с 10 добавлено и 3 удалено
  1. 10 3
      src/lib/TemplateList.svelte

+ 10 - 3
src/lib/TemplateList.svelte

@@ -1,10 +1,15 @@
 <script lang="ts">
-  export let templates: any;
+  import type { Template } from '$src/Types';
+  export let templates: Template[];
+
+  const slugify = (title: string) => {
+    return `/${title.toLowerCase().replace(/[^a-zA-Z ]/g, "").replaceAll(' ', '-')}`;
+  }
 </script>
 
 <section class="templates">
   {#each templates as template}
-    <div class="template-card">
+    <a class="template-card" href={slugify(template.title)}>
       <h3>{template.title}</h3>
       <div class="template-summary">
         <div class="left">
@@ -14,7 +19,7 @@
           <p class="description" title={template.description}>{template.description}</p>
         </div>
       </div>
-    </div>
+    </a>
   {/each}
 </section>
 
@@ -35,6 +40,8 @@ section.templates {
     gap: 1rem;
     transition:all 0.3s ease-in-out;
     max-width: 28rem;
+    text-decoration: none;
+    color: var(--foreground);
     &:hover {
       box-shadow: var(--shadow);
     }