feat: Реализован полный CRUD для админ-панели и улучшена функциональность
- Portfolio CRUD: добавление, редактирование, удаление, переключение публикации - Services CRUD: полное управление услугами с возможностью активации/деактивации - Banner system: новая модель Banner с CRUD операциями и аналитикой кликов - Telegram integration: расширенные настройки бота, обнаружение чатов, отправка сообщений - Media management: улучшенная загрузка файлов с оптимизацией изображений и превью - UI improvements: обновлённые админ-панели с rich-text редактором и drag&drop загрузкой - Database: добавлена таблица banners с полями для баннеров и аналитики
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<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>서비스 - SmartSolTech</title>
|
||||
<title><%- __('services.meta.title') %> - SmartSolTech</title>
|
||||
|
||||
<!-- SEO Meta Tags -->
|
||||
<meta name="description" content="SmartSolTech의 전문 서비스를 확인하세요. 웹 개발, 모바일 앱, UI/UX 디자인, 디지털 마케팅 등 다양한 기술 솔루션을 제공합니다.">
|
||||
<meta name="keywords" content="웹 개발, 모바일 앱, UI/UX 디자인, 디지털 마케팅, 기술 솔루션, SmartSolTech">
|
||||
<meta name="description" content="<%- __('services.meta.description') %>">
|
||||
<meta name="keywords" content="<%- __('services.meta.keywords') %>">
|
||||
|
||||
<!-- PWA -->
|
||||
<meta name="theme-color" content="#3B82F6">
|
||||
@@ -19,18 +19,20 @@
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
|
||||
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
|
||||
<link href="/css/main.css" rel="stylesheet">
|
||||
<link href="/css/fixes.css" rel="stylesheet">
|
||||
<link href="/css/dark-theme.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<body class="font-sans dark:bg-gray-900 dark:text-gray-100">
|
||||
<%- include('partials/navigation') %>
|
||||
|
||||
<!-- Services Hero Section -->
|
||||
<section class="hero-section bg-gradient-to-br from-blue-600 via-purple-600 to-blue-800 pt-20">
|
||||
<div class="container mx-auto px-4 py-20 text-center text-white">
|
||||
<h1 class="text-5xl md:text-6xl font-bold mb-6" data-aos="fade-up">
|
||||
우리의 <span class="text-yellow-300">서비스</span>
|
||||
<!-- Services Hero Section - Компактный -->
|
||||
<section class="hero-section-compact bg-gradient-to-br from-blue-600 via-purple-600 to-blue-800">
|
||||
<div class="container mx-auto px-4 py-16 text-center text-white">
|
||||
<h1 class="text-4xl md:text-5xl font-bold mb-4" data-aos="fade-up">
|
||||
<%- __('services.hero.title') %> <span class="text-yellow-300"><%- __('services.hero.title_highlight') %></span>
|
||||
</h1>
|
||||
<p class="text-xl md:text-2xl mb-8 opacity-90" data-aos="fade-up" data-aos-delay="200">
|
||||
혁신적인 기술로 비즈니스의 성장을 지원합니다
|
||||
<%- __('services.hero.subtitle') %>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
@@ -62,9 +64,9 @@
|
||||
<!-- Pricing -->
|
||||
<% if (service.pricing) { %>
|
||||
<div class="mb-6">
|
||||
<div class="text-sm text-gray-500 mb-1">시작가격</div>
|
||||
<div class="text-sm text-gray-500 mb-1"><%- __('services.cards.starting_price') %></div>
|
||||
<div class="text-2xl font-bold text-blue-600">
|
||||
<%= service.pricing.basePrice ? service.pricing.basePrice.toLocaleString() : '상담' %>
|
||||
<%= service.pricing.basePrice ? service.pricing.basePrice.toLocaleString() : __('services.cards.consultation') %>
|
||||
<% if (service.pricing.basePrice) { %>
|
||||
<span class="text-sm text-gray-500">원~</span>
|
||||
<% } %>
|
||||
@@ -82,11 +84,11 @@
|
||||
<div class="flex flex-col gap-3">
|
||||
<a href="/contact?service=<%= service._id %>"
|
||||
class="block w-full bg-gradient-to-r from-blue-600 to-purple-600 text-white text-center py-3 rounded-lg font-semibold hover:from-blue-700 hover:to-purple-700 transition-all duration-300">
|
||||
문의하기
|
||||
<%- __('services.cards.contact') %>
|
||||
</a>
|
||||
<a href="/calculator?service=<%= service._id %>"
|
||||
class="block w-full border-2 border-blue-600 text-blue-600 text-center py-3 rounded-lg font-semibold hover:bg-blue-600 hover:text-white transition-all duration-300">
|
||||
비용 계산하기
|
||||
<%- __('services.cards.calculate_cost') %>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -94,7 +96,7 @@
|
||||
<% if (service.featured) { %>
|
||||
<div class="absolute top-4 right-4">
|
||||
<span class="bg-yellow-500 text-white px-2 py-1 rounded-full text-xs font-bold">
|
||||
<i class="fas fa-star"></i> 인기
|
||||
<i class="fas fa-star"></i> <%- __('services.cards.popular') %>
|
||||
</span>
|
||||
</div>
|
||||
<% } %>
|
||||
@@ -103,8 +105,8 @@
|
||||
<% } else { %>
|
||||
<div class="col-span-full text-center py-12">
|
||||
<i class="fas fa-cogs text-6xl text-gray-300 mb-4"></i>
|
||||
<h3 class="text-2xl font-bold text-gray-500 mb-2">서비스 준비 중</h3>
|
||||
<p class="text-gray-400">곧 다양한 서비스를 제공할 예정입니다!</p>
|
||||
<h3 class="text-2xl font-bold text-gray-500 mb-2"><%- __('services.cards.coming_soon') %></h3>
|
||||
<p class="text-gray-400"><%- __('services.cards.coming_soon_desc') %></p>
|
||||
</div>
|
||||
<% } %>
|
||||
</div>
|
||||
@@ -116,10 +118,10 @@
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="text-center mb-16" data-aos="fade-up">
|
||||
<h2 class="text-3xl md:text-4xl font-bold text-gray-900 mb-4">
|
||||
프로젝트 진행 과정
|
||||
<%- __('services.process.title') %>
|
||||
</h2>
|
||||
<p class="text-xl text-gray-600">
|
||||
체계적이고 전문적인 프로세스로 프로젝트를 진행합니다
|
||||
<p class="text-lg text-gray-600 mb-12 max-w-3xl mx-auto">
|
||||
<%- __('services.process.subtitle') %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user