feat: add admin edit page with content preview and save functionality

This commit is contained in:
greg 2025-05-24 09:51:54 +02:00
parent df15dc91db
commit 2576a5cd41

View File

@ -1,7 +1,11 @@
---
import SiteLayout from '../../components/SiteLayout.astro';
// In a real app, you'd check authentication here
// Ensure ADMIN_USERNAME and ADMIN_PASSWORD env vars are set in Coolify
// and match the credentials Caddy uses for Basic Auth.
// From Caddy logs, username should be 'Gregman'.
const adminUser = import.meta.env.ADMIN_USERNAME;
const adminPass = import.meta.env.ADMIN_PASSWORD;
---
<SiteLayout title="Edit Content">
@ -43,7 +47,7 @@ import SiteLayout from '../../components/SiteLayout.astro';
</div>
</div>
<script>
<script define:vars={{ adminUser, adminPass }}>
// Get query params
const urlParams = new URLSearchParams(window.location.search);
const fileParam = urlParams.get('file');
@ -70,7 +74,7 @@ import SiteLayout from '../../components/SiteLayout.astro';
const response = await fetch(getApiUrl(`content/${fileParam}`), {
headers: {
'Authorization': 'Basic ' + btoa('admin:password') // In production, use proper auth
'Authorization': 'Basic ' + btoa(`${adminUser}:${adminPass}`)
}
});
@ -112,7 +116,7 @@ import SiteLayout from '../../components/SiteLayout.astro';
method: isNewFile ? 'POST' : 'PUT',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa('admin:password') // In production, use proper auth
'Authorization': 'Basic ' + btoa(`${adminUser}:${adminPass}`)
},
body: JSON.stringify({ filename, content })
});