Files
sst_site/views/layout.ejs
Andrey K. Choi 9477ff6de0 feat: Реализован полный CRUD для админ-панели и улучшена функциональность
- Portfolio CRUD: добавление, редактирование, удаление, переключение публикации
- Services CRUD: полное управление услугами с возможностью активации/деактивации
- Banner system: новая модель Banner с CRUD операциями и аналитикой кликов
- Telegram integration: расширенные настройки бота, обнаружение чатов, отправка сообщений
- Media management: улучшенная загрузка файлов с оптимизацией изображений и превью
- UI improvements: обновлённые админ-панели с rich-text редактором и drag&drop загрузкой
- Database: добавлена таблица banners с полями для баннеров и аналитики
2025-10-22 20:32:16 +09:00

113 lines
4.3 KiB
Plaintext

<!DOCTYPE html>
<html lang="<%= locale || 'ko' %>" class="<%= theme === 'dark' ? 'dark' : '' %>">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><%= title %></title>
<!-- PWA Meta Tags -->
<meta name="theme-color" content="#1a202c">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="apple-mobile-web-app-title" content="SmartSolTech">
<!-- SEO Meta Tags -->
<meta name="description" content="<%= settings && settings.seo ? settings.seo.metaDescription : 'SmartSolTech - Innovative Technology Solutions' %>">
<meta name="keywords" content="<%= settings && settings.seo ? settings.seo.keywords : 'web development, mobile apps, UI/UX design, Korea' %>">
<meta name="author" content="SmartSolTech">
<!-- Open Graph -->
<meta property="og:title" content="<%= title %>">
<meta property="og:description" content="<%= settings && settings.seo ? settings.seo.metaDescription : 'SmartSolTech - Innovative Technology Solutions' %>">
<meta property="og:type" content="website">
<meta property="og:url" content="<%= process.env.SITE_URL || 'https://smartsoltech.kr' %>">
<meta property="og:image" content="<%= process.env.SITE_URL || 'https://smartsoltech.kr' %>/images/og-image.png">
<!-- Favicon -->
<link rel="icon" href="/favicon.ico">
<link rel="apple-touch-icon" href="/images/icon-192x192.png">
<!-- PWA Manifest -->
<link rel="manifest" href="/manifest.json">
<!-- Fonts -->
<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=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<!-- Tailwind CSS (newer version with CDN Play) -->
<script src="https://cdn.tailwindcss.com"></script>
<!-- Font Awesome -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" rel="stylesheet">
<!-- AOS Animation Library -->
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="/css/base.css" rel="stylesheet">
<link href="/css/main.css" rel="stylesheet">
<link href="/css/fixes.css" rel="stylesheet">
<!-- Tailwind Configuration -->
<script>
tailwind.config = {
theme: {
extend: {
colors: {
'primary': '#3B82F6',
'secondary': '#8B5CF6',
'accent': '#10B981',
},
fontFamily: {
'sans': ['Inter', 'system-ui', 'sans-serif'],
}
}
}
}
</script>
</head>
<body class="font-sans dark:bg-gray-900 dark:text-gray-100">
<!-- Navigation -->
<%- include('partials/navigation') %>
<!-- Main Content -->
<main>
<%- body %>
</main>
<!-- Footer -->
<%- include('partials/footer') %>
<!-- Scripts -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/aos/2.3.4/aos.js"></script>
<script src="/js/main.js"></script>
<!-- PWA Service Worker -->
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/sw.js')
.then(registration => {
console.log('SW registered: ', registration);
})
.catch(registrationError => {
console.log('SW registration failed: ', registrationError);
});
});
}
</script>
<!-- Analytics -->
<% if (settings && settings.seo && settings.seo.googleAnalytics) { %>
<!-- Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=<%= settings.seo.googleAnalytics %>"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '<%= settings.seo.googleAnalytics %>');
</script>
<% } %>
</body>
</html>