사주 풀이 고도화, NAS 배포 자동화

This commit is contained in:
2026-02-16 19:02:04 +09:00
parent d513c063cf
commit 7042373448
44 changed files with 6280 additions and 978 deletions

View File

@@ -1,220 +1,229 @@
import Link from 'next/link';
import SajuForm from './components/SajuForm';
import UserMenu from '@/components/UserMenu';
export default function Home() {
return (
<div className="min-h-screen bg-gradient-to-br from-indigo-50 via-purple-50 to-pink-50">
<div className="min-h-screen bg-gray-950 text-white">
{/* Navigation */}
<nav className="bg-white/80 backdrop-blur-md border-b border-gray-200 sticky top-0 z-50">
<nav className="bg-gray-950/80 backdrop-blur-md border-b border-gray-800 sticky top-0 z-50">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="flex justify-between items-center h-16">
<div className="text-2xl font-bold bg-gradient-to-r from-indigo-600 to-purple-600 bg-clip-text text-transparent">
🔮
</div>
<div className="hidden md:flex space-x-6">
<Link href="#saju" className="text-gray-700 hover:text-indigo-600 transition font-medium"></Link>
<Link href="/compatibility" className="text-gray-700 hover:text-indigo-600 transition font-medium"></Link>
<Link href="/" className="text-2xl font-bold bg-gradient-to-r from-amber-400 to-orange-400 bg-clip-text text-transparent">
🔮
</Link>
<div className="flex items-center space-x-6">
<div className="hidden md:flex space-x-6 mr-4">
<Link href="/saju" className="text-gray-300 hover:text-amber-400 transition font-medium"></Link>
<Link href="/compatibility" className="text-gray-300 hover:text-amber-400 transition font-medium"></Link>
<Link href="/tojeong" className="text-gray-300 hover:text-amber-400 transition font-medium"></Link>
</div>
<UserMenu />
</div>
</div>
</div>
</nav>
{/* Hero Section */}
<section className="pt-20 pb-32 px-4">
<div className="max-w-4xl mx-auto text-center">
<div className="inline-block mb-6 px-6 py-2 bg-white/50 backdrop-blur-sm rounded-full text-indigo-700 font-semibold border border-indigo-200">
<section className="relative overflow-hidden">
{/* Background decorations */}
<div className="absolute inset-0 overflow-hidden pointer-events-none">
<div className="absolute top-20 left-10 w-72 h-72 bg-amber-500/10 rounded-full blur-3xl"></div>
<div className="absolute top-40 right-10 w-96 h-96 bg-purple-500/10 rounded-full blur-3xl"></div>
<div className="absolute bottom-20 left-1/3 w-80 h-80 bg-indigo-500/10 rounded-full blur-3xl"></div>
</div>
<div className="relative max-w-7xl mx-auto px-4 pt-24 pb-32 text-center">
<div className="inline-block mb-8 px-5 py-2 bg-amber-500/10 border border-amber-500/30 rounded-full text-amber-400 text-sm font-semibold tracking-wide">
AI
</div>
<h1 className="text-5xl md:text-7xl font-bold text-gray-900 mb-6 leading-tight">
<span className="bg-gradient-to-r from-indigo-600 to-purple-600 bg-clip-text text-transparent"></span><br />
<h1 className="text-5xl md:text-7xl font-bold mb-8 leading-tight">
<span className="bg-gradient-to-r from-amber-400 via-orange-400 to-red-400 bg-clip-text text-transparent"></span><br />
</h1>
<p className="text-xl text-gray-600 mb-12 max-w-2xl mx-auto">
, , .
.
<p className="text-xl md:text-2xl text-gray-400 mb-16 max-w-3xl mx-auto leading-relaxed">
AI <br className="hidden md:block" />
.
</p>
{/* Main Input Card */}
<div className="bg-white rounded-3xl shadow-2xl p-8 md:p-12 max-w-2xl mx-auto">
<h2 className="text-2xl font-bold text-gray-900 mb-8"> </h2>
<SajuForm />
{/* 생년월일 */}
<div>
<label className="block text-left text-sm font-semibold text-gray-700 mb-2">
</label>
<div className="grid grid-cols-3 gap-3">
<input
type="number"
placeholder="년 (예: 1990)"
className="px-4 py-3 border-2 border-gray-200 rounded-xl focus:border-indigo-500 focus:outline-none transition"
min="1900"
max="2100"
/>
<input
type="number"
placeholder="월 (1-12)"
className="px-4 py-3 border-2 border-gray-200 rounded-xl focus:border-indigo-500 focus:outline-none transition"
min="1"
max="12"
/>
<input
type="number"
placeholder="일 (1-31)"
className="px-4 py-3 border-2 border-gray-200 rounded-xl focus:border-indigo-500 focus:outline-none transition"
min="1"
max="31"
/>
</div>
{/* Service Cards */}
<div className="grid md:grid-cols-3 gap-6 max-w-5xl mx-auto mb-20">
{/* 사주팔자 */}
<Link href="/saju" className="group relative bg-gradient-to-br from-gray-900 to-gray-800 border border-gray-700 rounded-3xl p-8 hover:border-amber-500/50 transition-all duration-300 hover:shadow-2xl hover:shadow-amber-500/10 text-left">
<div className="text-5xl mb-6">📜</div>
<h3 className="text-2xl font-bold text-white mb-3 group-hover:text-amber-400 transition"></h3>
<p className="text-gray-400 mb-6 leading-relaxed">
, , .
</p>
<div className="flex items-center text-amber-400 font-semibold text-sm">
<span> </span>
<svg className="w-4 h-4 ml-2 group-hover:translate-x-1 transition" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" /></svg>
</div>
<div className="absolute top-4 right-4 px-2 py-1 bg-amber-500/20 text-amber-400 text-xs font-bold rounded-full"></div>
</Link>
{/* 태어난 시간 */}
<div>
<label className="block text-left text-sm font-semibold text-gray-700 mb-2">
()
</label>
<select className="w-full px-4 py-3 border-2 border-gray-200 rounded-xl focus:border-indigo-500 focus:outline-none transition">
<option value=""> / </option>
<option value="23-01"> () 23:00 - 01:00</option>
<option value="01-03"> () 01:00 - 03:00</option>
<option value="03-05"> () 03:00 - 05:00</option>
<option value="05-07"> () 05:00 - 07:00</option>
<option value="07-09"> () 07:00 - 09:00</option>
<option value="09-11"> () 09:00 - 11:00</option>
<option value="11-13"> () 11:00 - 13:00</option>
<option value="13-15"> () 13:00 - 15:00</option>
<option value="15-17"> () 15:00 - 17:00</option>
<option value="17-19"> () 17:00 - 19:00</option>
<option value="19-21"> () 19:00 - 21:00</option>
<option value="21-23"> () 21:00 - 23:00</option>
</select>
{/* 궁합 */}
<Link href="/compatibility" className="group relative bg-gradient-to-br from-gray-900 to-gray-800 border border-gray-700 rounded-3xl p-8 hover:border-pink-500/50 transition-all duration-300 hover:shadow-2xl hover:shadow-pink-500/10 text-left">
<div className="text-5xl mb-6">💕</div>
<h3 className="text-2xl font-bold text-white mb-3 group-hover:text-pink-400 transition"> </h3>
<p className="text-gray-400 mb-6 leading-relaxed">
.
</p>
<div className="flex items-center text-pink-400 font-semibold text-sm">
<span> </span>
<svg className="w-4 h-4 ml-2 group-hover:translate-x-1 transition" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" /></svg>
</div>
</Link>
{/* 양력/음력 선택 */}
<div>
<label className="block text-left text-sm font-semibold text-gray-700 mb-2">
</label>
<div className="grid grid-cols-2 gap-3">
<button
type="button"
className="px-6 py-3 bg-indigo-600 text-white rounded-xl font-semibold hover:bg-indigo-700 transition"
>
</button>
<button
type="button"
className="px-6 py-3 bg-white border-2 border-gray-200 text-gray-700 rounded-xl font-semibold hover:border-indigo-500 hover:text-indigo-600 transition"
>
</button>
</div>
{/* 토정비결 */}
<Link href="/tojeong" className="group relative bg-gradient-to-br from-gray-900 to-gray-800 border border-gray-700 rounded-3xl p-8 hover:border-emerald-500/50 transition-all duration-300 hover:shadow-2xl hover:shadow-emerald-500/10 text-left">
<div className="text-5xl mb-6">🎋</div>
<h3 className="text-2xl font-bold text-white mb-3 group-hover:text-emerald-400 transition"></h3>
<p className="text-gray-400 mb-6 leading-relaxed">
.
</p>
<div className="flex items-center text-emerald-400 font-semibold text-sm">
<span> </span>
<svg className="w-4 h-4 ml-2 group-hover:translate-x-1 transition" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 5l7 7-7 7" /></svg>
</div>
{/* 성별 선택 */}
<div>
<label className="block text-left text-sm font-semibold text-gray-700 mb-2">
</label>
<div className="grid grid-cols-2 gap-3">
<button
type="button"
className="px-6 py-3 bg-indigo-600 text-white rounded-xl font-semibold hover:bg-indigo-700 transition"
>
</button>
<button
type="button"
className="px-6 py-3 bg-white border-2 border-gray-200 text-gray-700 rounded-xl font-semibold hover:border-indigo-500 hover:text-indigo-600 transition"
>
</button>
</div>
</div>
{/* 제출 버튼 */}
</Link>
</div>
</div>
</section>
{/* Features Section */}
<section className="py-20 px-4 bg-white">
<div className="max-w-7xl mx-auto">
{/* Why Us Section */}
<section className="py-24 px-4 bg-gray-900/50">
<div className="max-w-6xl mx-auto">
<div className="text-center mb-16">
<h2 className="text-4xl font-bold text-gray-900 mb-4"> ?</h2>
<p className="text-xl text-gray-600"> </p>
<h2 className="text-4xl font-bold mb-4"> <span className="text-amber-400"></span>?</h2>
<p className="text-xl text-gray-400"> </p>
</div>
<div className="grid md:grid-cols-2 lg:grid-cols-4 gap-8">
{/* Feature 1 */}
<div className="text-center p-6 rounded-2xl hover:bg-indigo-50 transition">
<div className="text-5xl mb-4">📜</div>
<h3 className="text-xl font-bold text-gray-900 mb-3"></h3>
<p className="text-gray-600">
, , , .
</p>
<div className="text-center">
<div className="w-16 h-16 bg-amber-500/10 rounded-2xl flex items-center justify-center mx-auto mb-5">
<span className="text-3xl">🧠</span>
</div>
<h3 className="text-lg font-bold mb-2">AI </h3>
<p className="text-gray-400 text-sm leading-relaxed"> , AI가 ·· .</p>
</div>
{/* Feature 2 */}
<div className="text-center p-6 rounded-2xl hover:bg-purple-50 transition">
<div className="text-5xl mb-4">🌟</div>
<h3 className="text-xl font-bold text-gray-900 mb-3"> </h3>
<p className="text-gray-600">
.
</p>
<div className="text-center">
<div className="w-16 h-16 bg-purple-500/10 rounded-2xl flex items-center justify-center mx-auto mb-5">
<span className="text-3xl">📚</span>
</div>
<h3 className="text-lg font-bold mb-2"> </h3>
<p className="text-gray-400 text-sm leading-relaxed"> .</p>
</div>
<div className="text-center">
<div className="w-16 h-16 bg-pink-500/10 rounded-2xl flex items-center justify-center mx-auto mb-5">
<span className="text-3xl">🔒</span>
</div>
<h3 className="text-lg font-bold mb-2"> </h3>
<p className="text-gray-400 text-sm leading-relaxed"> . .</p>
</div>
<div className="text-center">
<div className="w-16 h-16 bg-emerald-500/10 rounded-2xl flex items-center justify-center mx-auto mb-5">
<span className="text-3xl"></span>
</div>
<h3 className="text-lg font-bold mb-2"> </h3>
<p className="text-gray-400 text-sm leading-relaxed"> .</p>
</div>
</div>
</div>
</section>
{/* Feature 3 */}
<Link href="/compatibility" className="text-center p-6 rounded-2xl hover:bg-pink-50 transition block">
<div className="text-5xl mb-4">💕</div>
<h3 className="text-xl font-bold text-gray-900 mb-3"></h3>
<p className="text-gray-600">
.
</p>
</Link>
{/* Feature 4 */}
<Link href="/tojeong" className="text-center p-6 rounded-2xl hover:bg-amber-50 transition block">
<div className="text-5xl mb-4">🎋</div>
<h3 className="text-xl font-bold text-gray-900 mb-3"></h3>
<p className="text-gray-600">
.
</p>
</Link>
{/* Testimonial / Trust Section */}
<section className="py-24 px-4">
<div className="max-w-4xl mx-auto text-center">
<div className="bg-gradient-to-br from-gray-900 to-gray-800 border border-gray-700 rounded-3xl p-12">
<div className="text-6xl mb-6"></div>
<p className="text-2xl md:text-3xl font-bold mb-4 leading-relaxed">
&ldquo; &rdquo;
</p>
<p className="text-gray-400 text-lg mb-8">
.
</p>
<div className="flex justify-center gap-8 text-center">
<div>
<div className="text-3xl font-bold text-amber-400">5,000+</div>
<div className="text-sm text-gray-500 mt-1"> </div>
</div>
<div className="w-px bg-gray-700"></div>
<div>
<div className="text-3xl font-bold text-amber-400">4.8</div>
<div className="text-sm text-gray-500 mt-1"></div>
</div>
<div className="w-px bg-gray-700"></div>
<div>
<div className="text-3xl font-bold text-amber-400">97%</div>
<div className="text-sm text-gray-500 mt-1"> </div>
</div>
</div>
</div>
</div>
</section>
{/* CTA Section */}
<section className="py-20 px-4 bg-gradient-to-r from-indigo-600 to-purple-600">
<div className="max-w-4xl mx-auto text-center text-white">
<section className="py-24 px-4">
<div className="max-w-4xl mx-auto text-center">
<h2 className="text-4xl md:text-5xl font-bold mb-6">
</h2>
<p className="text-xl mb-8 opacity-90">
<p className="text-xl text-gray-400 mb-10">
.
</p>
<a href="#" className="inline-block bg-white text-indigo-600 px-8 py-4 rounded-xl text-lg font-bold hover:bg-gray-100 transition shadow-lg">
</a>
<div className="flex flex-wrap justify-center gap-4">
<Link
href="/saju"
className="inline-flex items-center gap-2 bg-gradient-to-r from-amber-500 to-orange-500 text-gray-900 px-8 py-4 rounded-2xl text-lg font-bold hover:from-amber-400 hover:to-orange-400 transition shadow-lg shadow-amber-500/25 hover:shadow-xl hover:shadow-amber-500/30"
>
<svg className="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 7l5 5m0 0l-5 5m5-5H6" /></svg>
</Link>
<Link
href="/compatibility"
className="inline-flex items-center gap-2 bg-gray-800 text-white px-8 py-4 rounded-2xl text-lg font-bold hover:bg-gray-700 transition border border-gray-700"
>
</Link>
</div>
</div>
</section>
{/* Footer */}
<footer className="bg-gray-900 text-white py-12 px-4">
<div className="max-w-7xl mx-auto text-center">
<div className="text-2xl font-bold mb-4 bg-gradient-to-r from-indigo-400 to-purple-400 bg-clip-text text-transparent">
🔮
<footer className="bg-gray-900 border-t border-gray-800 py-12 px-4">
<div className="max-w-7xl mx-auto">
<div className="grid md:grid-cols-3 gap-8 mb-8">
<div>
<div className="text-2xl font-bold mb-4 bg-gradient-to-r from-amber-400 to-orange-400 bg-clip-text text-transparent">
🔮
</div>
<p className="text-gray-500 text-sm leading-relaxed">
AI <br />
.
</p>
</div>
<div>
<h4 className="text-sm font-bold text-gray-300 mb-4 tracking-wide"></h4>
<div className="space-y-2">
<Link href="/saju" className="block text-gray-500 hover:text-amber-400 transition text-sm"></Link>
<Link href="/compatibility" className="block text-gray-500 hover:text-amber-400 transition text-sm"> </Link>
<Link href="/tojeong" className="block text-gray-500 hover:text-amber-400 transition text-sm"></Link>
</div>
</div>
<div>
<h4 className="text-sm font-bold text-gray-300 mb-4 tracking-wide"></h4>
<div className="space-y-2">
<p className="text-gray-500 text-sm">문의: bgg8988@gmail.com</p>
<a href="https://jaengseung-made.com" target="_blank" rel="noopener noreferrer" className="block text-gray-500 hover:text-amber-400 transition text-sm"></a>
<Link href="/mypage" className="block text-gray-500 hover:text-amber-400 transition text-sm"></Link>
</div>
</div>
</div>
<p className="text-gray-400 mb-6">
</p>
<div className="text-sm text-gray-500">
<p>문의: bgg8988@gmail.com | <a href="https://jaengseung-made.com" target="_blank" rel="noopener noreferrer" className="hover:text-indigo-400"></a></p>
<p className="mt-2">&copy; 2025 . All rights reserved.</p>
<div className="border-t border-gray-800 pt-8 text-center text-sm text-gray-600">
<p>&copy; 2025 . All rights reserved.</p>
</div>
</div>
</footer>