EverydayTech Platform - Developer Reference
Complete Source Code Documentation - All Applications
Loading...
Searching...
No Matches
page.tsx
Go to the documentation of this file.
1"use client";
2
3import Link from "next/link";
4import { useState } from 'react';
5import Image from "next/image";
6
7export default function LandingPage() {
8 const [imageLoaded, setImageLoaded] = useState(false);
9 const [imageError, setImageError] = useState(false);
10
11 return (
12 <div className="relative min-h-screen w-full flex items-center justify-center overflow-hidden bg-gradient-to-br from-green-800 via-green-700 to-green-600">
13 {/* Background Image */}
14 <div className="absolute inset-0 w-full h-full z-0">
15 <Image
16 src="/images/landing-page-background.jpg"
17 alt="Landing Background"
18 fill
19 className="object-cover transition-opacity duration-1000"
20 priority
21 quality={85}
22 onLoad={() => setImageLoaded(true)}
23 onError={() => setImageError(true)}
24 style={{
25 opacity: imageLoaded && !imageError ? 1 : 0
26 }}
27 />
28
29 {/* Fallback gradient background when image fails to load */}
30 {!imageLoaded && (
31 <div className="absolute inset-0 bg-gradient-to-br from-emerald-600 via-green-700 to-teal-800" />
32 )}
33
34 {/* Animated floating elements overlay */}
35 <div className="absolute inset-0 overflow-hidden">
36 {/* Colorful floating elements to add movement */}
37 <div className="floating-element large absolute top-20 left-10 w-24 h-16 bg-blue-500/15 rounded-full animate-float-slow blur-sm"></div>
38 <div className="floating-element large absolute top-40 right-20 w-20 h-20 bg-green-500/15 rounded-lg animate-float-medium rotate-12 blur-sm"></div>
39 <div className="floating-element large absolute bottom-32 left-1/4 w-28 h-12 bg-purple-500/15 rounded-full animate-float-slow blur-sm"></div>
40 <div className="floating-element large absolute bottom-20 right-1/3 w-16 h-16 bg-cyan-500/15 rounded-lg animate-float-fast rotate-45 blur-sm"></div>
41
42 {/* Medium floating elements */}
43 <div className="floating-element medium absolute top-60 left-1/3 w-14 h-10 bg-yellow-500/20 rounded-lg animate-float-medium blur-sm"></div>
44 <div className="floating-element medium absolute top-80 right-1/4 w-12 h-12 bg-red-500/20 rounded-full animate-float-slow blur-sm"></div>
45 <div className="floating-element medium absolute bottom-60 left-1/2 w-16 h-8 bg-indigo-500/20 rounded-lg animate-float-fast rotate-12 blur-sm"></div>
46
47 {/* Small floating elements */}
48 <div className="floating-element small absolute top-32 left-2/3 w-8 h-8 bg-orange-500/25 rounded-full animate-float-medium blur-sm"></div>
49 <div className="floating-element small absolute top-72 left-1/6 w-6 h-6 bg-pink-500/25 rounded-full animate-float-fast blur-sm"></div>
50 <div className="floating-element small absolute bottom-48 right-1/6 w-10 h-6 bg-teal-500/25 rounded-lg animate-float-slow rotate-45 blur-sm"></div>
51 </div>
52 </div>
53
54 {/* Very light overlay for text readability */}
55 <div className="absolute inset-0 z-10 bg-black/5" />
56
57 {/* Main content */}
58 <main className="relative z-20 flex flex-col items-center justify-center w-full h-full text-center px-4 max-w-6xl mx-auto">
59 {/* Everyday POS Logo */}
60 <div className="mb-8 logo-glow">
61 <Image
62 src="/images/everyday-pos-logo.png"
63 alt="Everyday POS"
64 width={400}
65 height={120}
66 className="drop-shadow-2xl"
67 priority
68 />
69 </div>
70
71 {/* Hero Text */}
72 <h1 className="text-5xl lg:text-6xl font-extrabold text-white mb-6 drop-shadow-2xl leading-tight">
73 <span className="bg-gradient-to-r from-white to-blue-100 bg-clip-text text-transparent">
74 Power Your Print Business
75 </span>
76 </h1>
77
78 <p className="text-xl lg:text-2xl text-white mb-8 max-w-3xl mx-auto drop-shadow-lg leading-relaxed font-light">
79 Professional POS system designed for cartridge retailers, print shops, and office supply stores.
80 Streamline sales, manage inventory, and grow your business.
81 </p>
82
83 {/* Feature highlights */}
84 <div className="flex flex-wrap justify-center gap-6 mb-8 text-white/90">
85 <div className="flex items-center gap-2">
86 <div className="w-8 h-8 bg-green-500/80 rounded-full flex items-center justify-center">
87 <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
88 <path fillRule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clipRule="evenodd" />
89 </svg>
90 </div>
91 <span>Inventory Management</span>
92 </div>
93 <div className="flex items-center gap-2">
94 <div className="w-8 h-8 bg-blue-500/80 rounded-full flex items-center justify-center">
95 <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
96 <path fillRule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clipRule="evenodd" />
97 </svg>
98 </div>
99 <span>Fast Sales Processing</span>
100 </div>
101 <div className="flex items-center gap-2">
102 <div className="w-8 h-8 bg-purple-500/80 rounded-full flex items-center justify-center">
103 <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
104 <path fillRule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clipRule="evenodd" />
105 </svg>
106 </div>
107 <span>Customer Management</span>
108 </div>
109 </div>
110
111 {/* CTA Button */}
112 <Link href="/pages/login">
113 <button className="group relative px-8 py-4 bg-gradient-to-r from-blue-600 to-blue-700 hover:from-blue-700 hover:to-blue-800 text-white font-bold rounded-full text-lg shadow-2xl transition-all duration-300 transform hover:scale-105 hover:shadow-blue-500/25">
114 <span className="relative z-10">Get Started Now</span>
115 {/* Button glow effect */}
116 <div className="absolute inset-0 rounded-full bg-gradient-to-r from-blue-400 to-blue-600 opacity-0 group-hover:opacity-50 blur transition-opacity duration-300"></div>
117 </button>
118 </Link>
119
120 <p className="text-white/70 text-sm mt-4">No setup fees • 30-day free trial</p>
121 </main>
122 </div>
123 );
124}