Files
sst_site/.history/views/index_20251025214115.ejs
2025-10-26 14:44:10 +09:00

316 lines
23 KiB
Plaintext

<!-- Hero Section -->
<section class="relative bg-gradient-to-br from-blue-900 via-purple-900 to-indigo-900 dark:from-gray-900 dark:via-blue-900 dark:to-purple-900 min-h-screen flex items-center overflow-hidden hero-section">
<div class="absolute inset-0 bg-black opacity-50 dark:opacity-70"></div>
<div class="absolute inset-0 bg-gradient-to-r from-blue-600/20 to-purple-600/20"></div>
<!-- Animated Background Elements -->
<div class="absolute inset-0 overflow-hidden">
<div class="absolute -top-40 -right-32 w-80 h-80 bg-purple-500 dark:bg-purple-400 rounded-full mix-blend-multiply filter blur-xl opacity-70 animate-blob"></div>
<div class="absolute -bottom-40 -left-32 w-80 h-80 bg-blue-500 dark:bg-blue-400 rounded-full mix-blend-multiply filter blur-xl opacity-70 animate-blob animation-delay-2000"></div>
<div class="absolute top-40 left-40 w-80 h-80 bg-indigo-500 dark:bg-indigo-400 rounded-full mix-blend-multiply filter blur-xl opacity-70 animate-blob animation-delay-4000"></div>
</div>
<div class="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-24">
<div class="text-center">
<h1 class="text-3xl md:text-5xl font-bold text-white mb-6 leading-tight" data-aos="fade-up">
<%- __('hero.title.smart') %>
<span class="text-transparent bg-clip-text bg-gradient-to-r from-blue-400 to-purple-400"><%- __('hero.title.solutions') %></span>
</h1>
<p class="text-xl md:text-2xl text-gray-300 dark:text-gray-200 mb-8 max-w-3xl mx-auto" data-aos="fade-up" data-aos-delay="200">
<%- __('hero.subtitle') %>
</p>
<div class="flex flex-col sm:flex-row gap-4 justify-center items-center" data-aos="fade-up" data-aos-delay="400">
<a href="/contact" class="btn-primary bg-gradient-to-r from-blue-500 to-purple-600 text-white px-8 py-4 rounded-full text-lg font-semibold hover:from-blue-600 hover:to-purple-700 transition-all duration-300 transform hover:scale-105 shadow-lg">
<%- __('hero.cta.start') %>
</a>
<a href="/portfolio" class="border-2 border-white text-white px-8 py-4 rounded-full text-lg font-semibold hover:bg-white hover:text-gray-900 transition-all duration-300 transform hover:scale-105">
<%- __('hero.cta.portfolio') %>
</a>
</div>
</div>
<!-- Scroll indicator -->
<div class="absolute bottom-8 left-1/2 transform -translate-x-1/2 animate-bounce">
<svg class="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 14l-7 7m0 0l-7-7m7 7V3"></path>
</svg>
</div>
</div>
</section>
<!-- Services Section -->
<section class="py-20 bg-white dark:bg-gray-900">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-16" data-aos="fade-up">
<h2 class="text-2xl md:text-3xl font-bold text-gray-900 dark:text-white mb-4">
<%- __('services.title.our') %> <span class="text-blue-600 dark:text-blue-400"><%- __('services.title.services') %></span>
</h2>
<p class="text-lg text-white text-center max-w-3xl mx-auto">
<%- __('services.subtitle') %>
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
<!-- Web Development Service -->
<div class="group p-8 bg-gray-50 dark:bg-gray-800 rounded-2xl hover:bg-white dark:hover:bg-gray-700 hover:shadow-xl transition-all duration-300 transform hover:-translate-y-2 card-hover" data-aos="fade-up">
<div class="text-blue-600 dark:text-blue-400 mb-4 group-hover:scale-110 transition-transform duration-300">
<i class="fas fa-code text-4xl"></i>
</div>
<h3 class="text-xl font-bold text-gray-900 dark:text-white mb-3"><%- __('services.web.title') %></h3>
<p class="text-gray-600 dark:text-gray-300 mb-4"><%- __('services.web.description') %></p>
<div class="text-blue-600 dark:text-blue-400 font-semibold"><%- __('services.web.price') %></div>
</div>
<!-- Mobile App Service -->
<div class="group p-8 bg-gray-50 dark:bg-gray-800 rounded-2xl hover:bg-white dark:hover:bg-gray-700 hover:shadow-xl transition-all duration-300 transform hover:-translate-y-2 card-hover" data-aos="fade-up" data-aos-delay="100">
<div class="text-blue-600 dark:text-blue-400 mb-4 group-hover:scale-110 transition-transform duration-300">
<i class="fas fa-mobile-alt text-4xl"></i>
</div>
<h3 class="text-xl font-bold text-gray-900 dark:text-white mb-3"><%- __('services.mobile.title') %></h3>
<p class="text-gray-600 dark:text-gray-300 mb-4"><%- __('services.mobile.description') %></p>
<div class="text-blue-600 dark:text-blue-400 font-semibold"><%- __('services.mobile.price') %></div>
</div>
<!-- UI/UX Design Service -->
<div class="group p-8 bg-gray-50 dark:bg-gray-800 rounded-2xl hover:bg-white dark:hover:bg-gray-700 hover:shadow-xl transition-all duration-300 transform hover:-translate-y-2 card-hover" data-aos="fade-up" data-aos-delay="200">
<div class="text-blue-600 dark:text-blue-400 mb-4 group-hover:scale-110 transition-transform duration-300">
<i class="fas fa-palette text-4xl"></i>
</div>
<h3 class="text-xl font-bold text-gray-900 dark:text-white mb-3"><%- __('services.design.title') %></h3>
<p class="text-gray-600 dark:text-gray-300 mb-4"><%- __('services.design.description') %></p>
<div class="text-blue-600 dark:text-blue-400 font-semibold"><%- __('services.design.price') %></div>
</div>
<!-- Digital Marketing Service -->
<div class="group p-8 bg-gray-50 dark:bg-gray-800 rounded-2xl hover:bg-white dark:hover:bg-gray-700 hover:shadow-xl transition-all duration-300 transform hover:-translate-y-2 card-hover" data-aos="fade-up" data-aos-delay="300">
<div class="text-blue-600 dark:text-blue-400 mb-4 group-hover:scale-110 transition-transform duration-300">
<i class="fas fa-chart-line text-4xl"></i>
</div>
<h3 class="text-xl font-bold text-gray-900 dark:text-white mb-3"><%- __('services.marketing.title') %></h3>
<p class="text-gray-600 dark:text-gray-300 mb-4"><%- __('services.marketing.description') %></p>
<div class="text-blue-600 dark:text-blue-400 font-semibold"><%- __('services.marketing.price') %></div>
</div>
</div>
<div class="text-center mt-12" data-aos="fade-up">
<a href="/services" class="inline-flex items-center px-6 py-3 border border-blue-600 dark:border-blue-400 text-blue-600 dark:text-blue-400 font-semibold rounded-lg hover:bg-blue-600 hover:text-white dark:hover:bg-blue-400 dark:hover:text-gray-900 transition-colors">
<%- __('services.view_all') %>
<svg class="ml-2 w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"></path>
</svg>
</a>
</div>
</div>
</section>
<!-- Portfolio Section -->
<section class="py-20 bg-gray-50 dark:bg-gray-800">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-16" data-aos="fade-up">
<h2 class="text-2xl md:text-3xl font-bold text-gray-900 dark:text-white mb-4">
<%- __('portfolio.title.recent') %> <span class="text-purple-600 dark:text-purple-400"><%- __('portfolio.title.projects') %></span>
</h2>
<p class="text-lg text-white text-center max-w-3xl mx-auto">
<%- __('portfolio.subtitle') %>
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<% if (featuredPortfolio && featuredPortfolio.length > 0) { %>
<% featuredPortfolio.forEach((project, index) => { %>
<div class="group bg-white dark:bg-gray-700 rounded-2xl overflow-hidden shadow-lg hover:shadow-2xl transition-all duration-300 transform hover:-translate-y-2 card-hover" data-aos="fade-up" data-aos-delay="<%= index * 100 %>">
<div class="relative overflow-hidden portfolio-item">
<% if (project.images && project.images.length > 0) { %>
<img src="<%= project.images.find(img => img.isPrimary)?.url || project.images[0].url %>"
alt="<%= project.images.find(img => img.isPrimary)?.alt || project.title %>"
class="w-full h-48 object-cover portfolio-image">
<% } else { %>
<div class="w-full h-48 bg-gradient-to-br from-blue-500 to-purple-600 flex items-center justify-center">
<span class="text-white text-2xl font-bold"><%= project.title.charAt(0) %></span>
</div>
<% } %>
<div class="absolute inset-0 bg-gradient-to-t from-black/50 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
<div class="absolute bottom-4 left-4 right-4 transform translate-y-4 group-hover:translate-y-0 transition-transform duration-300 opacity-0 group-hover:opacity-100">
<div class="flex flex-wrap gap-2">
<% if (project.technologies && project.technologies.length > 0) { %>
<% project.technologies.slice(0, 3).forEach(tech => { %>
<span class="px-2 py-1 bg-white/20 glass-effect text-white text-xs rounded-full"><%= tech %></span>
<% }) %>
<% } %>
</div>
</div>
</div>
<div class="p-6">
<div class="flex items-center justify-between mb-2">
<span class="px-3 py-1 bg-blue-100 dark:bg-blue-900 text-blue-600 dark:text-blue-300 text-sm rounded-full font-medium"><%= project.category %></span>
<span class="text-gray-500 dark:text-gray-400 text-sm">
<i class="fas fa-eye mr-1"></i><%= project.viewCount || 0 %>
</span>
</div>
<h3 class="text-xl font-bold text-gray-900 dark:text-white mb-2 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"><%= project.title %></h3>
<p class="text-gray-600 dark:text-gray-300 mb-4"><%= project.shortDescription || project.description %></p>
<a href="/portfolio/<%= project._id %>" class="inline-flex items-center text-blue-600 dark:text-blue-400 font-semibold hover:text-blue-700 dark:hover:text-blue-300 transition-colors">
<%- __('common.view_details') %>
<svg class="ml-1 w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"></path>
</svg>
</a>
</div>
</div>
<% }) %>
<% } else { %>
<!-- Default portfolio items -->
<div class="group bg-white dark:bg-gray-700 rounded-2xl overflow-hidden shadow-lg hover:shadow-2xl transition-all duration-300 transform hover:-translate-y-2 card-hover" data-aos="fade-up">
<div class="relative overflow-hidden portfolio-item">
<div class="w-full h-48 bg-gradient-to-br from-blue-500 to-purple-600 flex items-center justify-center">
<span class="text-white text-2xl font-bold">E</span>
</div>
<div class="absolute inset-0 bg-gradient-to-t from-black/50 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
<div class="absolute bottom-4 left-4 right-4 transform translate-y-4 group-hover:translate-y-0 transition-transform duration-300 opacity-0 group-hover:opacity-100">
<div class="flex flex-wrap gap-2">
<span class="px-2 py-1 bg-white/20 glass-effect text-white text-xs rounded-full">React</span>
<span class="px-2 py-1 bg-white/20 glass-effect text-white text-xs rounded-full">Node.js</span>
</div>
</div>
</div>
<div class="p-6">
<div class="flex items-center justify-between mb-2">
<span class="px-3 py-1 bg-blue-100 dark:bg-blue-900 text-blue-600 dark:text-blue-300 text-sm rounded-full font-medium"><%- __('portfolio.default.ecommerce') %></span>
<span class="text-gray-500 dark:text-gray-400 text-sm">
<i class="fas fa-eye mr-1"></i>1,234
</span>
</div>
<h3 class="text-xl font-bold text-gray-900 dark:text-white mb-2 group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"><%- __('portfolio.default.title') %></h3>
<p class="text-gray-600 dark:text-gray-300 mb-4"><%- __('portfolio.default.description') %></p>
<a href="#" class="inline-flex items-center text-blue-600 dark:text-blue-400 font-semibold hover:text-blue-700 dark:hover:text-blue-300 transition-colors">
<%- __('common.view_details') %>
<svg class="ml-1 w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"></path>
</svg>
</a>
</div>
</div>
<% } %>
</div>
<div class="text-center mt-12" data-aos="fade-up">
<a href="/portfolio" class="inline-flex items-center px-6 py-3 bg-purple-600 dark:bg-purple-500 text-white font-semibold rounded-lg hover:bg-purple-700 dark:hover:bg-purple-400 transition-colors">
<%- __('portfolio.view_all') %>
<svg class="ml-2 w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"></path>
</svg>
</a>
</div>
</div>
</section>
<!-- Calculator CTA Section -->
<section class="py-20 cta-section">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center relative z-10">
<div data-aos="fade-up">
<h2 class="text-2xl md:text-3xl font-bold text-white mb-6">
<%- __('calculator.cta.title') %>
</h2>
<p class="text-lg text-blue-100 mb-8 max-w-3xl mx-auto">
<%- __('calculator.cta.subtitle') %>
</p>
<a href="/calculator" class="inline-flex items-center px-8 py-4 bg-white text-blue-600 font-bold rounded-full text-lg hover:bg-gray-100 transition-colors transform hover:scale-105">
<i class="fas fa-calculator mr-3"></i>
<%- __('calculator.cta.button') %>
</a>
</div>
</div>
</section>
<!-- Contact Section -->
<section class="py-20 bg-white dark:bg-gray-900">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
<div data-aos="fade-right">
<h2 class="text-2xl md:text-3xl font-bold text-gray-900 dark:text-white mb-6">
<%- __('contact.cta.ready') %> <span class="text-blue-600 dark:text-blue-400"><%- __('contact.cta.start') %></span><%- __('contact.cta.question') %>
</h2>
<p class="text-lg text-gray-600 dark:text-gray-300 mb-8">
<%- __('contact.cta.subtitle') %>
</p>
<div class="space-y-4">
<div class="flex items-center">
<div class="w-12 h-12 bg-blue-100 dark:bg-blue-900 rounded-full flex items-center justify-center mr-4">
<i class="fas fa-phone text-blue-600 dark:text-blue-400"></i>
</div>
<div>
<div class="font-semibold text-gray-900 dark:text-white"><%- __('contact.phone.title') %></div>
<div class="text-gray-600 dark:text-gray-300"><%- __('contact.phone.number') %></div>
</div>
</div>
<div class="flex items-center">
<div class="w-12 h-12 bg-purple-100 dark:bg-purple-900 rounded-full flex items-center justify-center mr-4">
<i class="fas fa-envelope text-purple-600 dark:text-purple-400"></i>
</div>
<div>
<div class="font-semibold text-gray-900 dark:text-white"><%- __('contact.email.title') %></div>
<div class="text-gray-600 dark:text-gray-300"><%- __('contact.email.address') %></div>
</div>
</div>
<div class="flex items-center">
<div class="w-12 h-12 bg-green-100 dark:bg-green-900 rounded-full flex items-center justify-center mr-4">
<i class="fab fa-telegram text-green-600 dark:text-green-400"></i>
</div>
<div>
<div class="font-semibold text-gray-900 dark:text-white"><%- __('contact.telegram.title') %></div>
<div class="text-gray-600 dark:text-gray-300"><%- __('contact.telegram.subtitle') %></div>
</div>
</div>
</div>
</div>
<div data-aos="fade-left">
<div class="contact-form p-8 rounded-2xl shadow-lg bg-white dark:bg-gray-800">
<h3 class="text-2xl font-bold text-gray-900 dark:text-white mb-6"><%- __('contact.form.title') %></h3>
<form id="quick-contact-form" class="space-y-4">
<div>
<input type="text" name="name" placeholder="<%- __('contact.form.name') %>" required class="form-input w-full px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-gray-700 dark:text-white">
</div>
<div>
<input type="email" name="email" placeholder="<%- __('contact.form.email') %>" required class="form-input w-full px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-gray-700 dark:text-white">
</div>
<div>
<input type="tel" name="phone" placeholder="<%- __('contact.form.phone') %>" class="form-input w-full px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-gray-700 dark:text-white">
</div>
<div>
<select name="serviceInterest" class="form-input w-full px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-gray-700 dark:text-white">
<option value=""><%- __('contact.form.service.select') %></option>
<option value="web-development"><%- __('contact.form.service.web') %></option>
<option value="mobile-app"><%- __('contact.form.service.mobile') %></option>
<option value="ui-ux-design"><%- __('contact.form.service.design') %></option>
<option value="branding"><%- __('contact.form.service.branding') %></option>
<option value="consulting"><%- __('contact.form.service.consulting') %></option>
<option value="other"><%- __('contact.form.service.other') %></option>
</select>
</div>
<div>
<textarea name="message" rows="4" placeholder="<%- __('contact.form.message') %>" required class="form-input w-full px-4 py-3 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent resize-none dark:bg-gray-700 dark:text-white"></textarea>
</div>
<button type="submit" class="w-full btn-primary bg-gradient-to-r from-blue-600 to-purple-600 text-white font-semibold py-3 rounded-lg hover:from-blue-700 hover:to-purple-700 transition-all duration-300 transform hover:scale-105">
<%- __('contact.form.submit') %>
</button>
</form>
</div>
</div>
</div>
</div>
</section>
<!-- Initialize AOS -->
<script>
document.addEventListener('DOMContentLoaded', function() {
if (typeof AOS !== 'undefined') {
AOS.init({
duration: 800,
easing: 'ease-in-out',
once: true
});
}
});
</script>