🐞 fix: Update templates to use MainLayout and set page title via parameter

This commit is contained in:
Keith Solomon
2025-07-27 11:07:16 -05:00
parent 3ad0762e17
commit a28ac0b16a
4 changed files with 355 additions and 366 deletions

View File

@@ -2,14 +2,14 @@
// MainLayout.astro // MainLayout.astro
import "../styles/global.css"; import "../styles/global.css";
const { children } = Astro.props; const page = Astro.props.page;
--- ---
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Prompt Catalog</title> <title>Prompt Catalog - {page}</title>
</head> </head>
<body class="font-sans antialiased bg-gray-800 text-gray-100"> <body class="font-sans antialiased bg-gray-800 text-gray-100">

View File

@@ -1,17 +1,12 @@
--- ---
import "../styles/global.css"; import MainLayout from '../layouts/MainLayout.astro';
import Sidebar from "../components/SidebarAdd.astro"; import Sidebar from "../components/SidebarAdd.astro";
const supabaseUrl = import.meta.env.PUBLIC_SUPABASE_URL; const supabaseUrl = import.meta.env.PUBLIC_SUPABASE_URL;
const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY; const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
--- ---
<html> <MainLayout page="Add Prompt">
<head>
<title>Prompt Catalog - Add New Prompt</title>
</head>
<body class="font-sans antialiased bg-gray-800 text-gray-100">
<div <div
id="supabase-env" id="supabase-env"
data-url={supabaseUrl} data-url={supabaseUrl}
@@ -20,7 +15,7 @@ const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
></div> ></div>
<header class="border-b p-4"> <header class="border-b p-4">
<h1 class="text-2xl font-bold">Prompt Catalog - Add New Prompt</h1> <h1 class="text-2xl font-bold"><a href="/">Prompt Catalog - Add New Prompt</a></h1>
<p class="text-sm mt-1">Add or import new AI prompts to the catalog</p> <p class="text-sm mt-1">Add or import new AI prompts to the catalog</p>
</header> </header>
@@ -238,6 +233,7 @@ const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
}); });
exportBtn.addEventListener('click', async () => { exportBtn.addEventListener('click', async () => {
const checkboxes = Array.from(document.querySelectorAll('#prompt-list input[type="checkbox"]'));
const selectedIds = checkboxes.filter(cb => cb.checked).map(cb => cb.value); const selectedIds = checkboxes.filter(cb => cb.checked).map(cb => cb.value);
const { data, error } = selectedIds.length > 0 const { data, error } = selectedIds.length > 0
@@ -275,5 +271,4 @@ const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
URL.revokeObjectURL(url); URL.revokeObjectURL(url);
}); });
</script> </script>
</body> </MainLayout>
</html>

View File

@@ -1,17 +1,12 @@
--- ---
import "../styles/global.css"; import MainLayout from '../layouts/MainLayout.astro';
import Sidebar from "../components/SidebarEdit.astro"; import Sidebar from "../components/SidebarEdit.astro";
const supabaseUrl = import.meta.env.PUBLIC_SUPABASE_URL; const supabaseUrl = import.meta.env.PUBLIC_SUPABASE_URL;
const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY; const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
--- ---
<html lang="en"> <MainLayout page="Edit Prompt">
<head>
<title>Prompt Catalog - Edit Prompt</title>
</head>
<body class="font-sans antialiased bg-gray-800 text-gray-100">
<div <div
id="supabase-env" id="supabase-env"
data-url={supabaseUrl} data-url={supabaseUrl}
@@ -20,8 +15,8 @@ const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
></div> ></div>
<header class="border-b p-4"> <header class="border-b p-4">
<h1 class="text-2xl font-bold">Prompt Catalog - Add New Prompt</h1> <h1 class="text-2xl font-bold"><a href="/">Prompt Catalog - Edit Prompt</a></h1>
<p class="text-sm mt-1">Add a new AI prompt to the catalog</p> <p class="text-sm mt-1">Edit an existing AI prompt in the catalog</p>
</header> </header>
<main class="flex"> <main class="flex">
@@ -156,5 +151,4 @@ const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
} }
} }
</script> </script>
</body> </MainLayout>
</html>

View File

@@ -16,10 +16,10 @@ const allTags = Array.from(
).sort(); ).sort();
--- ---
<MainLayout> <MainLayout page="Home">
<header class="border-b p-4"> <header class="border-b p-4">
<h1 class="text-2xl font-bold">Prompt Catalog</h1> <h1 class="text-2xl font-bold"><a href="/">Prompt Catalog</a></h1>
<p class="text-sm mt-1">Explore and filter AI prompts</p> <p class="text-sm mt-1">Save and explore AI prompts</p>
</header> </header>
<main class="flex"> <main class="flex">