Add src/app/qr-ticket/page.tsx

This commit is contained in:
2026-05-14 03:31:05 +00:00
parent f785857f5e
commit bf5cd7709d

View File

@@ -0,0 +1,76 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import TextBox from '@/components/Textbox';
import ButtonShiftHover from '@/components/button/ButtonShiftHover/ButtonShiftHover';
import { useState } from 'react';
export default function QRTicketPage() {
const [ticketGenerated, setTicketGenerated] = useState(false);
const handleDownload = () => {
alert("QR Digital Ticket downloaded successfully!");
};
return (
<ThemeProvider
defaultButtonVariant="shift-hover"
defaultTextAnimation="reveal-blur"
borderRadius="pill"
contentWidth="medium"
sizing="largeSizeMediumTitles"
background="noiseDiagonalGradient"
cardStyle="solid"
primaryButtonStyle="double-inset"
secondaryButtonStyle="solid"
headingFontWeight="medium"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{ name: "Home", id: "/" },
{ name: "Services", id: "/" },
{ name: "Booking", id: "/" },
{ name: "Testimonials", id: "/" },
{ name: "FAQ", id: "/" },
]}
brandName="YatraNepal"
/>
</div>
<div className="pt-32 pb-20 px-6 max-w-4xl mx-auto text-center">
<TextBox
title="Digital QR Ticket"
description="Your journey details are ready. Display the QR code at boarding time."
textboxLayout="default"
center={true}
/>
<div className="mt-12 p-8 border-2 border-dashed rounded-3xl bg-white shadow-sm">
{!ticketGenerated ? (
<div className="space-y-6">
<p className="text-lg">Generate your ticket for entry.</p>
<ButtonShiftHover text="Generate Ticket" onClick={() => setTicketGenerated(true)} />
</div>
) : (
<div className="space-y-8">
<div className="w-64 h-64 bg-gray-900 mx-auto rounded-lg flex items-center justify-center">
<span className="text-white">[QR CODE IMAGE]</span>
</div>
<div className="text-left space-y-2 border-t pt-6">
<p><strong>Route:</strong> Kathmandu to Pokhara</p>
<p><strong>Date:</strong> 2025-05-15</p>
<p><strong>Seat:</strong> 12A</p>
</div>
<ButtonShiftHover text="Download Ticket" onClick={handleDownload} />
</div>
)}
</div>
</div>
</ReactLenis>
</ThemeProvider>
);
}