🐞 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
import "../styles/global.css";
const { children } = Astro.props;
const page = Astro.props.page;
---
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Prompt Catalog</title>
<title>Prompt Catalog - {page}</title>
</head>
<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";
const supabaseUrl = import.meta.env.PUBLIC_SUPABASE_URL;
const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
---
<html>
<head>
<title>Prompt Catalog - Add New Prompt</title>
</head>
<body class="font-sans antialiased bg-gray-800 text-gray-100">
<MainLayout page="Add Prompt">
<div
id="supabase-env"
data-url={supabaseUrl}
@@ -20,7 +15,7 @@ const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
></div>
<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>
</header>
@@ -238,6 +233,7 @@ const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
});
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 { data, error } = selectedIds.length > 0
@@ -275,5 +271,4 @@ const supabaseKey = import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
URL.revokeObjectURL(url);
});
</script>
</body>
</html>
</MainLayout>

View File

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

View File

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