mirror of
https://github.com/twinpath/app.git
synced 2026-01-27 05:42:04 +07:00
214 lines
13 KiB
PHP
214 lines
13 KiB
PHP
@extends('layouts.fullscreen-layout', ['title' => 'Secure Certificate & API Management'])
|
|
|
|
@section('meta_description', 'Manage Root CA, Intermediate CAs, and API keys through a powerful developer portal. Fast, secure, and ready for production.')
|
|
@section('meta_keywords', 'ssl certificate, tls issuance, api management, ca authority, security dashboard')
|
|
|
|
@section('content')
|
|
<script>
|
|
// Define global scroll function immediately
|
|
window.appSmoothScroll = function(selector) {
|
|
const element = document.querySelector(selector);
|
|
|
|
if (!element) {
|
|
console.error('[App] Scroll target not found:', selector);
|
|
return;
|
|
}
|
|
|
|
const navbarOffset = 80;
|
|
const elementPosition = element.getBoundingClientRect().top;
|
|
const offsetPosition = elementPosition + window.pageYOffset - navbarOffset;
|
|
|
|
|
|
window.scrollTo({
|
|
top: offsetPosition,
|
|
behavior: 'smooth'
|
|
});
|
|
|
|
// Clean URL after a short delay
|
|
setTimeout(() => {
|
|
if (window.location.hash) {
|
|
history.replaceState(null, null, window.location.pathname);
|
|
}
|
|
}, 500);
|
|
};
|
|
|
|
// Handle initial hash
|
|
window.addEventListener('DOMContentLoaded', () => {
|
|
if (window.location.hash) {
|
|
setTimeout(() => window.appSmoothScroll(window.location.hash), 500);
|
|
}
|
|
});
|
|
</script>
|
|
|
|
<div class="relative min-h-screen bg-white dark:bg-gray-900 transition-colors duration-300 overflow-hidden">
|
|
<!-- Background Decoration -->
|
|
<div class="absolute top-0 left-0 -translate-x-1/2 -translate-y-1/2 w-[500px] h-[500px] bg-brand-500/10 rounded-full blur-[120px] pointer-events-none"></div>
|
|
<div class="absolute top-1/2 right-0 translate-x-1/2 -translate-y-1/2 w-[600px] h-[600px] bg-brand-500/5 rounded-full blur-[150px] pointer-events-none"></div>
|
|
<div class="absolute bottom-0 left-0 -translate-x-1/4 translate-y-1/4 w-[400px] h-[400px] bg-brand-500/10 rounded-full blur-[100px] pointer-events-none"></div>
|
|
|
|
<!-- Navbar -->
|
|
<x-public.navbar />
|
|
|
|
|
|
<!-- Hero Section -->
|
|
<header class="relative pt-32 pb-20 overflow-hidden" id="home">
|
|
<!-- Background Shapes -->
|
|
<div class="absolute top-0 left-1/2 -translate-x-1/2 w-full max-w-7xl h-full -z-10 opacity-30 dark:opacity-20">
|
|
<div class="absolute top-20 left-10 w-72 h-72 bg-brand-500 rounded-full blur-[120px]"></div>
|
|
<div class="absolute bottom-10 right-10 w-96 h-96 bg-blue-500 rounded-full blur-[150px]"></div>
|
|
</div>
|
|
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
|
|
<div class="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-brand-50 dark:bg-brand-500/10 border border-brand-100 dark:border-brand-500/20 text-brand-600 dark:text-brand-400 text-xs font-bold uppercase tracking-widest mb-8 animate-bounce">
|
|
🚀 Unified Certificate Management
|
|
</div>
|
|
<h1 class="text-5xl md:text-7xl font-extrabold text-gray-900 dark:text-white mb-6 leading-tight">
|
|
Secure Your Assets with <br/>
|
|
<span class="text-transparent bg-clip-text bg-gradient-to-r from-brand-500 to-blue-600">
|
|
Trusted Certificate Authority
|
|
</span>
|
|
</h1>
|
|
<p class="text-lg md:text-xl text-gray-600 dark:text-gray-400 max-w-2xl mx-auto mb-10">
|
|
Issue, manage, and track SSL/TLS certificates and API keys through a powerful, developer-friendly management system.
|
|
</p>
|
|
<div class="flex flex-col sm:flex-row items-center justify-center gap-4">
|
|
<a href="{{ route('signup') }}" class="w-full sm:w-auto px-8 py-4 bg-gray-900 dark:bg-white text-white dark:text-gray-900 rounded-2xl font-bold shadow-xl transition-all hover:-translate-y-1 hover:shadow-2xl">
|
|
Create Global Account
|
|
</a>
|
|
<a href="#features" @click.prevent="window.appSmoothScroll('#features')" class="w-full sm:w-auto px-8 py-4 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 border border-gray-200 dark:border-gray-700 rounded-2xl font-bold transition-all hover:bg-gray-50 dark:hover:bg-gray-700">
|
|
Explore Features
|
|
</a>
|
|
</div>
|
|
|
|
<!-- Preview/Abstract UI -->
|
|
<div class="mt-20 relative mx-auto max-w-5xl">
|
|
<div class="aspect-video bg-white dark:bg-gray-800 rounded-3xl border border-gray-200 dark:border-gray-700 shadow-2xl p-4 overflow-hidden group">
|
|
<div class="flex items-center gap-2 mb-4 border-b border-gray-100 dark:border-gray-700 pb-3">
|
|
<div class="flex gap-1.5">
|
|
<div class="w-3 h-3 rounded-full bg-red-400"></div>
|
|
<div class="w-3 h-3 rounded-full bg-yellow-400"></div>
|
|
<div class="w-3 h-3 rounded-full bg-green-400"></div>
|
|
</div>
|
|
<div class="flex-1 ml-4 h-6 bg-gray-100 dark:bg-gray-900/50 rounded-lg max-w-xs"></div>
|
|
</div>
|
|
<!-- Mock Dashboard Content -->
|
|
<div class="grid grid-cols-3 gap-4">
|
|
<div class="col-span-2 space-y-4">
|
|
<div class="h-40 bg-brand-500/5 rounded-2xl border border-brand-500/10"></div>
|
|
<div class="grid grid-cols-2 gap-4">
|
|
<div class="h-24 bg-gray-50 dark:bg-gray-900/50 rounded-2xl"></div>
|
|
<div class="h-24 bg-gray-50 dark:bg-gray-900/50 rounded-2xl"></div>
|
|
</div>
|
|
</div>
|
|
<div class="space-y-4">
|
|
<div class="h-full bg-gray-50 dark:bg-gray-900/50 rounded-2xl"></div>
|
|
</div>
|
|
</div>
|
|
<!-- Overlay Gradient -->
|
|
<div class="absolute inset-0 bg-gradient-to-t from-white dark:from-gray-900 via-transparent to-transparent pointer-events-none"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<!-- Features Section -->
|
|
<section id="features" class="py-24 bg-gray-50 dark:bg-gray-900/50">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div class="text-center mb-16">
|
|
<h2 class="text-3xl md:text-4xl font-bold text-gray-900 dark:text-white mb-4">Powerful Features for Modern Apps</h2>
|
|
<p class="text-gray-600 dark:text-gray-400">Everything you need to manage your security layer efficiently.</p>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
|
<!-- Feature 1 -->
|
|
<div class="bg-white dark:bg-gray-800 p-8 rounded-3xl border border-gray-100 dark:border-gray-700 shadow-sm hover:shadow-xl transition-all duration-300 group">
|
|
<div class="w-14 h-14 bg-brand-50 dark:bg-brand-500/10 rounded-2xl flex items-center justify-center text-brand-500 mb-6 group-hover:scale-110 transition-transform">
|
|
<svg class="h-7 w-7" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" />
|
|
</svg>
|
|
</div>
|
|
<h3 class="text-xl font-bold text-gray-900 dark:text-white mb-3">Custom CA Issuance</h3>
|
|
<p class="text-gray-600 dark:text-gray-400 text-sm leading-relaxed">
|
|
Issue professional Root and Intermediate CA certificates with a single click. Fully compliant with standard encryption protocols.
|
|
</p>
|
|
</div>
|
|
|
|
<!-- Feature 2 -->
|
|
<div class="bg-white dark:bg-gray-800 p-8 rounded-3xl border border-gray-100 dark:border-gray-700 shadow-sm hover:shadow-xl transition-all duration-300 group">
|
|
<div class="w-14 h-14 bg-blue-50 dark:bg-blue-500/10 rounded-2xl flex items-center justify-center text-blue-500 mb-6 group-hover:scale-110 transition-transform">
|
|
<svg class="h-7 w-7" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11.536 11 9 13.536 7.464 12 4.929 14.536V17h2.472l4.243-4.243a6 6 0 018.828-5.743zM16.5 13.5V18h6v-4.5h-6z" />
|
|
</svg>
|
|
</div>
|
|
<h3 class="text-xl font-bold text-gray-900 dark:text-white mb-3">API Management</h3>
|
|
<p class="text-gray-600 dark:text-gray-400 text-sm leading-relaxed">
|
|
Secure your external services with granular API keys. Track usage patterns and revoke access instantly when needed.
|
|
</p>
|
|
</div>
|
|
|
|
<!-- Feature 3 -->
|
|
<div class="bg-white dark:bg-gray-800 p-8 rounded-3xl border border-gray-100 dark:border-gray-700 shadow-sm hover:shadow-xl transition-all duration-300 group">
|
|
<div class="w-14 h-14 bg-green-50 dark:bg-green-500/10 rounded-2xl flex items-center justify-center text-green-500 mb-6 group-hover:scale-110 transition-transform">
|
|
<svg class="h-7 w-7" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z" />
|
|
</svg>
|
|
</div>
|
|
<h3 class="text-xl font-bold text-gray-900 dark:text-white mb-3">Real-time Tracking</h3>
|
|
<p class="text-gray-600 dark:text-gray-400 text-sm leading-relaxed">
|
|
Monitor issuance trends and expiring certificates through intuitive analytical dashboards and automated alerts.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- CTA Section -->
|
|
<section class="py-20">
|
|
<div class="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div class="bg-brand-600 rounded-[3rem] p-12 md:p-16 text-center text-white relative overflow-hidden shadow-2xl">
|
|
<div class="relative z-10">
|
|
<h2 class="text-3xl md:text-4xl font-bold mb-6">Ready to secure your application?</h2>
|
|
<p class="text-brand-100 mb-10 max-w-lg mx-auto">Join hundreds of developers managing their security infrastructure with {{ config('app.name') }}.</p>
|
|
<div class="flex flex-col sm:flex-row items-center justify-center gap-4">
|
|
<a href="{{ route('signup') }}" class="px-8 py-4 bg-white text-brand-600 rounded-2xl font-bold hover:scale-105 transition-transform">
|
|
Create Free Account
|
|
</a>
|
|
<a href="{{ route('signin') }}" class="px-8 py-4 bg-brand-700 text-white rounded-2xl font-bold hover:bg-brand-800 transition-colors">
|
|
Sign In to Portal
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<!-- Abstract Design -->
|
|
<div class="absolute top-0 left-0 w-full h-full opacity-10 pointer-events-none">
|
|
<x-common.common-grid-shape/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Footer -->
|
|
<x-public.footer />
|
|
|
|
<!-- Back to Top Button -->
|
|
<button
|
|
x-data="{ show: false }"
|
|
x-on:scroll.window="show = window.pageYOffset > 500"
|
|
x-show="show"
|
|
x-transition:enter="transition ease-out duration-300"
|
|
x-transition:enter-start="opacity-0 translate-y-10"
|
|
x-transition:enter-end="opacity-100 translate-y-0"
|
|
x-transition:leave="transition ease-in duration-300"
|
|
x-transition:leave-start="opacity-100 translate-y-0"
|
|
x-transition:leave-end="opacity-0 translate-y-10"
|
|
@click="window.appSmoothScroll('#home')"
|
|
class="fixed bottom-8 right-8 z-50 p-4 bg-brand-500 hover:bg-brand-600 text-white rounded-2xl shadow-2xl shadow-brand-500/40 transition-all hover:-translate-y-1 active:scale-95"
|
|
aria-label="Back to top"
|
|
>
|
|
<svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 10l7-7m0 0l7 7m-7-7v18" />
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
|
|
@endsection
|