feat(theme): restore database appearance linkage and IFRAME_READY

This commit is contained in:
Autoblogia Bot 2026-05-19 23:08:51 +00:00
parent 281e83784c
commit a1bdba2a51
2 changed files with 132 additions and 104 deletions

View file

@ -72,15 +72,7 @@
<!-- Theme Auto-Updater injected by autoblogia -->
<script>
<!-- Theme Auto-Updater injected by autoblogia -->
<!-- Theme Auto-Updater injected by autoblogia -->
<!-- Theme Auto-Updater injected by autoblogia -->
window.addEventListener('message', (event) => {
if (event.data && event.data.type === 'UPDATE_APPEARANCE') {
const settings = event.data.settings;
function applySettings(settings) {
if (!settings) return;
let css = '';
if (settings.primaryColor) {
@ -112,19 +104,41 @@ window.addEventListener('message', (event) => {
}
css += "
:root { " +
"--font-sans: "" + settings.fontFamily + "", sans-serif !important; " +
"--font-serif: "" + settings.fontFamily + "", serif !important; " +
"--font-mono: "" + settings.fontFamily + "", monospace !important; " +
"} * { font-family: "" + settings.fontFamily + "", sans-serif !important; }";
"--font-sans: '" + settings.fontFamily + "', sans-serif !important; " +
"--font-serif: '" + settings.fontFamily + "', serif !important; " +
"--font-mono: '" + settings.fontFamily + "', monospace !important; " +
"} * { font-family: '" + settings.fontFamily + "', sans-serif !important; }";
}
let styleNode = document.getElementById('dynamic-theme-style');
if (!styleNode) { styleNode = document.createElement('style'); styleNode.id = 'dynamic-theme-style'; document.head.appendChild(styleNode); }
styleNode.innerHTML = css;
}
window.addEventListener('message', (event) => {
if (event.data && event.data.type === 'UPDATE_APPEARANCE') {
applySettings(event.data.settings);
}
});
// Ping parent window that we are ready
window.parent.postMessage({ type: 'IFRAME_READY' }, '*');
// Fetch on load
try {
const host = window.location.hostname;
const SUPABASE_URL = 'https://ccfezpxxmwpngqhlsbxz.supabase.co';
const SUPABASE_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImNjZmV6cHh4bXdwbmdxaGxzYnh6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzU2ODk4NTcsImV4cCI6MjA5MTI2NTg1N30.TqXoUsunJoX9xQwOOq3PTugltyrMGn1OrZysO6C9hRM';
fetch(SUPABASE_URL + '/rest/v1/sites?select=settings&custom_domain=ilike.*' + host + '*', {
headers: {
'apikey': SUPABASE_KEY,
'Authorization': 'Bearer ' + SUPABASE_KEY
}
}).then(r => r.json()).then(data => {
if (data && data.length > 0 && data[0].settings) {
applySettings(data[0].settings);
}
}).catch(console.error);
} catch(e) {}
</script>
</body>
</body>

View file

@ -72,15 +72,7 @@
<!-- Theme Auto-Updater injected by autoblogia -->
<script>
<!-- Theme Auto-Updater injected by autoblogia -->
<!-- Theme Auto-Updater injected by autoblogia -->
<!-- Theme Auto-Updater injected by autoblogia -->
window.addEventListener('message', (event) => {
if (event.data && event.data.type === 'UPDATE_APPEARANCE') {
const settings = event.data.settings;
function applySettings(settings) {
if (!settings) return;
let css = '';
if (settings.primaryColor) {
@ -112,19 +104,41 @@ window.addEventListener('message', (event) => {
}
css += "
:root { " +
"--font-sans: "" + settings.fontFamily + "", sans-serif !important; " +
"--font-serif: "" + settings.fontFamily + "", serif !important; " +
"--font-mono: "" + settings.fontFamily + "", monospace !important; " +
"} * { font-family: "" + settings.fontFamily + "", sans-serif !important; }";
"--font-sans: '" + settings.fontFamily + "', sans-serif !important; " +
"--font-serif: '" + settings.fontFamily + "', serif !important; " +
"--font-mono: '" + settings.fontFamily + "', monospace !important; " +
"} * { font-family: '" + settings.fontFamily + "', sans-serif !important; }";
}
let styleNode = document.getElementById('dynamic-theme-style');
if (!styleNode) { styleNode = document.createElement('style'); styleNode.id = 'dynamic-theme-style'; document.head.appendChild(styleNode); }
styleNode.innerHTML = css;
}
window.addEventListener('message', (event) => {
if (event.data && event.data.type === 'UPDATE_APPEARANCE') {
applySettings(event.data.settings);
}
});
// Ping parent window that we are ready
window.parent.postMessage({ type: 'IFRAME_READY' }, '*');
// Fetch on load
try {
const host = window.location.hostname;
const SUPABASE_URL = 'https://ccfezpxxmwpngqhlsbxz.supabase.co';
const SUPABASE_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImNjZmV6cHh4bXdwbmdxaGxzYnh6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzU2ODk4NTcsImV4cCI6MjA5MTI2NTg1N30.TqXoUsunJoX9xQwOOq3PTugltyrMGn1OrZysO6C9hRM';
fetch(SUPABASE_URL + '/rest/v1/sites?select=settings&custom_domain=ilike.*' + host + '*', {
headers: {
'apikey': SUPABASE_KEY,
'Authorization': 'Bearer ' + SUPABASE_KEY
}
}).then(r => r.json()).then(data => {
if (data && data.length > 0 && data[0].settings) {
applySettings(data[0].settings);
}
}).catch(console.error);
} catch(e) {}
</script>
</body>
</body>