Files
docupulse/templates/checkout_success.html
2025-06-26 15:15:16 +02:00

290 lines
13 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Payment Successful - DocuPulse</title>
<meta name="description" content="Your DocuPulse subscription has been activated successfully. Welcome to the future of document management.">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<link rel="stylesheet" href="{{ url_for('static', filename='css/colors.css') }}?v={{ 'css/colors.css'|asset_version }}">
<link rel="stylesheet" href="{{ url_for('main.dynamic_colors') }}?v={{ site_settings.updated_at.timestamp() }}" onload="console.log('[CSS] Dynamic colors loaded with version:', '{{ site_settings.updated_at.timestamp() }}')">
<style>
.hero-section {
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
color: white;
padding: 120px 0 80px 0;
}
.success-card {
border: none;
border-radius: 20px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
background: var(--white);
overflow: hidden;
}
.success-card .card-header {
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
color: white;
border: none;
padding: 1.5rem;
font-weight: 600;
font-size: 1.1rem;
}
.success-card .card-body {
padding: 2rem;
}
.subscription-detail {
padding: 0.75rem 0;
border-bottom: 1px solid var(--border-color);
}
.subscription-detail:last-child {
border-bottom: none;
}
.subscription-detail strong {
color: var(--text-dark);
font-weight: 600;
}
.next-step-item {
display: flex;
align-items: center;
padding: 0.75rem 0;
border-bottom: 1px solid var(--border-color);
}
.next-step-item:last-child {
border-bottom: none;
}
.next-step-item i {
width: 24px;
margin-right: 0.75rem;
color: var(--primary-color);
}
.next-step-item a {
color: var(--text-dark);
text-decoration: none;
transition: color 0.2s ease;
}
.next-step-item a:hover {
color: var(--primary-color);
}
.feature-grid {
display: grid;
grid-template-columns: 1fr;
gap: 1.5rem;
margin-top: 1rem;
}
.feature-item {
text-align: center;
padding: 1.25rem;
background: var(--bg-color);
border-radius: 12px;
}
.feature-icon {
width: 60px;
height: 60px;
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
margin: 0 auto 1rem;
font-size: 1.25rem;
box-shadow: 0 4px 12px rgba(var(--primary-color-rgb), 0.3);
}
.feature-item h6 {
font-weight: 600;
color: var(--text-dark);
margin-bottom: 0.5rem;
font-size: 0.95rem;
}
.feature-item p {
color: var(--text-muted);
font-size: 0.85rem;
line-height: 1.4;
margin: 0;
}
.btn-primary {
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
border: none;
border-radius: 25px;
padding: 12px 30px;
font-weight: 600;
transition: all 0.3s ease;
}
.btn-primary:hover {
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
transform: translateY(-2px);
box-shadow: 0 5px 15px var(--primary-opacity-15);
filter: brightness(1.1);
}
.btn-outline-primary {
border: 2px solid var(--primary-color);
color: var(--primary-color);
border-radius: 25px;
padding: 12px 30px;
font-weight: 600;
transition: all 0.3s ease;
}
.btn-outline-primary:hover {
background: rgba(var(--primary-color-rgb), 0.05);
border-color: var(--primary-color);
color: var(--primary-color);
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(var(--primary-color-rgb), 0.1);
}
.section-title {
color: var(--text-dark);
font-weight: 700;
margin-bottom: 1.5rem;
display: flex;
align-items: center;
}
.section-title i {
margin-right: 0.75rem;
color: var(--primary-color);
}
</style>
</head>
<body>
{% include 'components/header_nav.html' %}
<!-- Hero Section -->
<section class="hero-section">
<div class="container">
<div class="row justify-content-center text-center">
<div class="col-lg-8">
<div class="mb-4">
<i class="fas fa-check-circle" style="font-size: 4rem;"></i>
</div>
<h1 class="display-4 fw-bold mb-3">Payment Successful!</h1>
<p class="lead mb-4">Your subscription has been activated and your DocuPulse instance is being set up.</p>
</div>
</div>
</div>
</section>
<!-- Success Details Section -->
<section class="py-5">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-10">
<div class="row">
<div class="col-md-6 mb-4">
<div class="card success-card h-100">
<div class="card-header">
<i class="fas fa-check-circle me-2"></i>
Payment Confirmation
</div>
<div class="card-body">
{% if subscription_info %}
<div class="row">
<div class="col-12">
<h5 class="section-title">
<i class="fas fa-receipt"></i>
Subscription Details
</h5>
<div class="subscription-detail">
<strong>Plan:</strong> {{ subscription_info.plan_name }}
</div>
<div class="subscription-detail">
<strong>Billing Cycle:</strong> {{ subscription_info.billing_cycle.title() }}
</div>
<div class="subscription-detail">
<strong>Status:</strong>
<span class="badge bg-success">{{ subscription_info.status.title() }}</span>
</div>
<div class="subscription-detail">
<strong>Amount:</strong> ${{ "%.2f"|format(subscription_info.amount) }} {{ subscription_info.currency.upper() }}
</div>
</div>
</div>
<div class="row mt-4">
<div class="col-12">
<h5 class="section-title">
<i class="fas fa-rocket"></i>
Next Steps
</h5>
<div class="next-step-item">
<i class="fas fa-envelope"></i>
<span>Check your email for login credentials</span>
</div>
<div class="next-step-item">
<i class="fas fa-book"></i>
<a href="{{ url_for('public.help_center') }}">Read our getting started guide</a>
</div>
{% if stripe_settings and stripe_settings.customer_portal_url %}
<div class="next-step-item">
<i class="fas fa-credit-card"></i>
<a href="{{ stripe_settings.customer_portal_url }}" target="_blank">Manage your subscription & billing</a>
</div>
{% endif %}
<div class="next-step-item">
<i class="fas fa-headset"></i>
<a href="{{ url_for('public.contact') }}">Contact support if you need help</a>
</div>
</div>
</div>
{% else %}
<div class="text-center">
<h5 class="mb-3">Thank you for your purchase!</h5>
<p class="text-muted">Your payment has been processed successfully.</p>
</div>
{% endif %}
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card success-card h-100">
<div class="card-header">
<i class="fas fa-info-circle me-2"></i>
What happens next?
</div>
<div class="card-body">
<div class="feature-grid">
<div class="feature-item">
<div class="feature-icon">
<i class="fas fa-rocket"></i>
</div>
<h6>Instance Setup</h6>
<p>Your DocuPulse instance will be automatically provisioned within the next few minutes.</p>
</div>
<div class="feature-item">
<div class="feature-icon">
<i class="fas fa-envelope"></i>
</div>
<h6>Welcome Email</h6>
<p>You'll receive an email with your login credentials and setup instructions.</p>
</div>
<div class="feature-item">
<div class="feature-icon">
<i class="fas fa-headset"></i>
</div>
<h6>Support Available</h6>
<p>Our support team is ready to help you get started with DocuPulse.</p>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Action Buttons -->
<div class="text-center mt-4">
<a href="{{ url_for('public.help_center') }}" class="btn btn-primary btn-lg me-3">
<i class="fas fa-question-circle me-2"></i>Get Help
</a>
<a href="{{ url_for('public.contact') }}" class="btn btn-outline-primary btn-lg">
<i class="fas fa-envelope me-2"></i>Contact Support
</a>
</div>
</div>
</div>
</div>
</section>
{% include 'components/footer_nav.html' %}
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>