<!doctype html>
<html lang="en" class="h-full">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BetaniaGPT</title>
<script src="https://cdn.tailwindcss.com/3.4.17"></script>
<script src="/_sdk/element_sdk.js"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
* { font-family: 'Outfit', sans-serif; }
.gradient-bg {
background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
}
.glow-effect {
box-shadow: 0 0 60px rgba(99, 102, 241, 0.3), 0 0 100px rgba(99, 102, 241, 0.1);
}
.app-icon {
animation: float 6s ease-in-out infinite;
}
.app-icon:nth-child(2) { animation-delay: -1s; }
.app-icon:nth-child(3) { animation-delay: -2s; }
.app-icon:nth-child(4) { animation-delay: -3s; }
.app-icon:nth-child(5) { animation-delay: -4s; }
@keyframes float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
}
.email-btn {
transition: all 0.3s ease;
}
.email-btn:hover {
transform: translateY(-2px);
box-shadow: 0 10px 40px rgba(99, 102, 241, 0.4);
}
.grid-pattern {
background-image:
linear-gradient(rgba(99, 102, 241, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(99, 102, 241, 0.03) 1px, transparent 1px);
background-size: 60px 60px;
}
</style>
<style>body { box-sizing: border-box; }</style>
<script src="/_sdk/data_sdk.js" type="text/javascript"></script>
</head>
<body class="h-full">
<div class="app-wrapper gradient-bg grid-pattern h-full w-full overflow-auto">
<div class="min-h-full flex flex-col items-center justify-center px-6 py-12"><!-- Logo & Brand -->
<div class="text-center mb-8">
<div class="glow-effect inline-flex items-center justify-center w-24 h-24 rounded-3xl bg-gradient-to-br from-indigo-500 to-purple-600 mb-6">
<svg class="w-12 h-12 text-white" fill="none" stroke="currentColor" viewbox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
</svg>
</div>
<h1 id="company-name" class="text-5xl md:text-6xl font-bold text-white mb-3 tracking-tight">BetaniaGPT</h1>
<p id="tagline" class="text-xl text-indigo-300 font-light">Crafting Exceptional iOS Experiences</p>
</div><!-- App Icons Display -->
<div class="flex items-center justify-center gap-4 mb-10">
<div class="app-icon w-14 h-14 rounded-2xl bg-gradient-to-br from-rose-400 to-rose-600 flex items-center justify-center shadow-lg"><span class="text-2xl">📱</span>
</div>
<div class="app-icon w-14 h-14 rounded-2xl bg-gradient-to-br from-amber-400 to-orange-500 flex items-center justify-center shadow-lg"><span class="text-2xl">⚡</span>
</div>
<div class="app-icon w-14 h-14 rounded-2xl bg-gradient-to-br from-emerald-400 to-teal-500 flex items-center justify-center shadow-lg"><span class="text-2xl">🚀</span>
</div>
<div class="app-icon w-14 h-14 rounded-2xl bg-gradient-to-br from-blue-400 to-indigo-500 flex items-center justify-center shadow-lg"><span class="text-2xl">✨</span>
</div>
<div class="app-icon w-14 h-14 rounded-2xl bg-gradient-to-br from-purple-400 to-pink-500 flex items-center justify-center shadow-lg"><span class="text-2xl">🎯</span>
</div>
</div><!-- Description Card -->
<div class="max-w-xl mx-auto text-center mb-10">
<div class="bg-white/5 backdrop-blur-sm border border-white/10 rounded-2xl p-8">
<p id="description" class="text-lg text-slate-300 leading-relaxed">Welcome to our home page. We are a small app development company that has published over 5 apps on the App Store!</p>
<div class="mt-6 flex items-center justify-center gap-2 text-indigo-400">
<svg class="w-5 h-5" fill="currentColor" viewbox="0 0 24 24"><path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.81-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z" />
</svg><span class="text-sm font-medium">5+ Apps Published</span>
</div>
</div>
</div><!-- Support Section -->
<div class="text-center">
<p class="text-slate-400 mb-4 text-sm uppercase tracking-widest font-medium">Need Support?</p><a id="email-link" href="mailto:ADMIN@BETANIAGPT.COM" class="email-btn inline-flex items-center gap-3 bg-gradient-to-r from-indigo-500 to-purple-600 text-white px-8 py-4 rounded-full font-semibold text-lg">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewbox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
</svg><span id="email-text">ADMIN@BETANIAGPT.COM</span> </a>
</div><!-- Footer -->
<footer class="mt-16 text-center">
<p class="text-slate-500 text-sm">© 2024 BetaniaGPT. All rights reserved.</p>
</footer>
</div>
</div>
<script>
const defaultConfig = {
company_name: 'BetaniaGPT',
tagline: 'Crafting Exceptional iOS Experiences',
description: 'Welcome to our home page. We are a small app development company that has published over 5 apps on the App Store!',
support_email: 'ADMIN@BETANIAGPT.COM',
background_color: '#0f172a',
surface_color: 'rgba(255,255,255,0.05)',
text_color: '#cbd5e1',
primary_action_color: '#6366f1',
secondary_action_color: '#a5b4fc',
font_family: 'Outfit',
font_size: 16
};
async function onConfigChange(config) {
const companyName = config.company_name || defaultConfig.company_name;
const tagline = config.tagline || defaultConfig.tagline;
const description = config.description || defaultConfig.description;
const supportEmail = config.support_email || defaultConfig.support_email;
const fontFamily = config.font_family || defaultConfig.font_family;
const fontSize = config.font_size || defaultConfig.font_size;
const bgColor = config.background_color || defaultConfig.background_color;
const surfaceColor = config.surface_color || defaultConfig.surface_color;
const textColor = config.text_color || defaultConfig.text_color;
const primaryColor = config.primary_action_color || defaultConfig.primary_action_color;
const secondaryColor = config.secondary_action_color || defaultConfig.secondary_action_color;
// Update text content
document.getElementById('company-name').textContent = companyName;
document.getElementById('tagline').textContent = tagline;
document.getElementById('description').textContent = description;
document.getElementById('email-text').textContent = supportEmail;
document.getElementById('email-link').href = `mailto:${supportEmail}`;
// Apply font
document.body.style.fontFamily = `${fontFamily}, sans-serif`;
// Apply font sizes
document.getElementById('company-name').style.fontSize = `${fontSize * 3}px`;
document.getElementById('tagline').style.fontSize = `${fontSize * 1.25}px`;
document.getElementById('description').style.fontSize = `${fontSize * 1.125}px`;
// Apply colors
const wrapper = document.querySelector('.app-wrapper');
wrapper.style.background = `linear-gradient(135deg, ${bgColor} 0%, ${adjustColor(bgColor, 20)} 50%, ${bgColor} 100%)`;
document.getElementById('tagline').style.color = secondaryColor;
document.getElementById('description').style.color = textColor;
const emailBtn = document.getElementById('email-link');
emailBtn.style.background = `linear-gradient(to right, ${primaryColor}, ${adjustColor(primaryColor, 30)})`;
}
function adjustColor(hex, amount) {
const num = parseInt(hex.replace('#', ''), 16);
const r = Math.min(255, Math.max(0, (num >> 16) + amount));
const g = Math.min(255, Math.max(0, ((num >> 8) & 0x00FF) + amount));
const b = Math.min(255, Math.max(0, (num & 0x0000FF) + amount));
return `#${(1 << 24 | r << 16 | g << 8 | b).toString(16).slice(1)}`;
}
function mapToCapabilities(config) {
return {
recolorables: [
{
get: () => config.background_color || defaultConfig.background_color,
set: (value) => { config.background_color = value; window.elementSdk.setConfig({ background_color: value }); }
},
{
get: () => config.surface_color || defaultConfig.surface_color,
set: (value) => { config.surface_color = value; window.elementSdk.setConfig({ surface_color: value }); }
},
{
get: () => config.text_color || defaultConfig.text_color,
set: (value) => { config.text_color = value; window.elementSdk.setConfig({ text_color: value }); }
},
{
get: () => config.primary_action_color || defaultConfig.primary_action_color,
set: (value) => { config.primary_action_color = value; window.elementSdk.setConfig({ primary_action_color: value }); }
},
{
get: () => config.secondary_action_color || defaultConfig.secondary_action_color,
set: (value) => { config.secondary_action_color = value; window.elementSdk.setConfig({ secondary_action_color: value }); }
}
],
borderables: [],
fontEditable: {
get: () => config.font_family || defaultConfig.font_family,
set: (value) => { config.font_family = value; window.elementSdk.setConfig({ font_family: value }); }
},
fontSizeable: {
get: () => config.font_size || defaultConfig.font_size,
set: (value) => { config.font_size = value; window.elementSdk.setConfig({ font_size: value }); }
}
};
}
function mapToEditPanelValues(config) {
return new Map([
['company_name', config.company_name || defaultConfig.company_name],
['tagline', config.tagline || defaultConfig.tagline],
['description', config.description || defaultConfig.description],
['support_email', config.support_email || defaultConfig.support_email]
]);
}
if (window.elementSdk) {
window.elementSdk.init({
defaultConfig,
onConfigChange,
mapToCapabilities,
mapToEditPanelValues
});
}
</script>
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'9d79e9ff652c8cb6',t:'MTc3MjcyMjAyNy4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
</html>