fix: import LifeBuoy icon in HomeClient
All checks were successful
Staging Build / build (push) Successful in 3m37s
All checks were successful
Staging Build / build (push) Successful in 3m37s
This commit is contained in:
@@ -12,6 +12,7 @@ import {
|
|||||||
ShoppingCart,
|
ShoppingCart,
|
||||||
Utensils,
|
Utensils,
|
||||||
Layers,
|
Layers,
|
||||||
|
LifeBuoy,
|
||||||
Users,
|
Users,
|
||||||
ClipboardList,
|
ClipboardList,
|
||||||
Zap,
|
Zap,
|
||||||
@@ -68,7 +69,7 @@ export function HomeClient({ initialUser }: HomeClientProps) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="min-h-screen bg-slate-950 text-slate-100 overflow-hidden relative selection:bg-blue-500/30 selection:text-blue-200">
|
<div className="min-h-screen bg-slate-950 text-slate-100 overflow-hidden relative selection:bg-blue-500/30 selection:text-blue-200">
|
||||||
|
|
||||||
{/* Background Decorative Animated Blobs */}
|
{/* Background Decorative Animated Blobs */}
|
||||||
<div className="absolute top-0 left-1/2 -translate-x-1/2 w-full max-w-7xl h-[600px] pointer-events-none -z-10 overflow-hidden">
|
<div className="absolute top-0 left-1/2 -translate-x-1/2 w-full max-w-7xl h-[600px] pointer-events-none -z-10 overflow-hidden">
|
||||||
<motion.div
|
<motion.div
|
||||||
@@ -103,14 +104,14 @@ export function HomeClient({ initialUser }: HomeClientProps) {
|
|||||||
|
|
||||||
{/* Hero Section */}
|
{/* Hero Section */}
|
||||||
<section className="w-full pt-16 pb-12 md:pt-28 md:pb-20 px-4 relative flex flex-col items-center">
|
<section className="w-full pt-16 pb-12 md:pt-28 md:pb-20 px-4 relative flex flex-col items-center">
|
||||||
<motion.div
|
<motion.div
|
||||||
initial="hidden"
|
initial="hidden"
|
||||||
animate="visible"
|
animate="visible"
|
||||||
variants={containerVariants}
|
variants={containerVariants}
|
||||||
className="container max-w-6xl mx-auto flex flex-col items-center text-center space-y-8"
|
className="container max-w-6xl mx-auto flex flex-col items-center text-center space-y-8"
|
||||||
>
|
>
|
||||||
{/* Badge */}
|
{/* Badge */}
|
||||||
<motion.div
|
<motion.div
|
||||||
variants={itemVariants}
|
variants={itemVariants}
|
||||||
className="inline-flex items-center gap-2 rounded-full bg-blue-500/10 border border-blue-500/20 px-4 py-1.5 text-xs sm:text-sm text-blue-400 font-semibold tracking-wide backdrop-blur-md shadow-[0_0_15px_rgba(59,130,246,0.1)]"
|
className="inline-flex items-center gap-2 rounded-full bg-blue-500/10 border border-blue-500/20 px-4 py-1.5 text-xs sm:text-sm text-blue-400 font-semibold tracking-wide backdrop-blur-md shadow-[0_0_15px_rgba(59,130,246,0.1)]"
|
||||||
>
|
>
|
||||||
@@ -125,13 +126,13 @@ export function HomeClient({ initialUser }: HomeClientProps) {
|
|||||||
|
|
||||||
{/* Headline */}
|
{/* Headline */}
|
||||||
<div className="space-y-4 max-w-4xl">
|
<div className="space-y-4 max-w-4xl">
|
||||||
<motion.h1
|
<motion.h1
|
||||||
variants={itemVariants}
|
variants={itemVariants}
|
||||||
className="text-4xl font-extrabold tracking-tight sm:text-5xl md:text-6xl lg:text-7xl/tight bg-clip-text text-transparent bg-gradient-to-b from-white via-slate-100 to-slate-400"
|
className="text-4xl font-extrabold tracking-tight sm:text-5xl md:text-6xl lg:text-7xl/tight bg-clip-text text-transparent bg-gradient-to-b from-white via-slate-100 to-slate-400"
|
||||||
>
|
>
|
||||||
POS Software <span className="bg-clip-text text-transparent bg-gradient-to-r from-blue-400 via-indigo-400 to-purple-500 font-black">Lizenzen & Module</span>
|
POS Software <span className="bg-clip-text text-transparent bg-gradient-to-r from-blue-400 via-indigo-400 to-purple-500 font-black">Lizenzen & Module</span>
|
||||||
</motion.h1>
|
</motion.h1>
|
||||||
<motion.p
|
<motion.p
|
||||||
variants={itemVariants}
|
variants={itemVariants}
|
||||||
className="mx-auto max-w-[750px] text-slate-400 text-base sm:text-lg md:text-xl font-normal leading-relaxed"
|
className="mx-auto max-w-[750px] text-slate-400 text-base sm:text-lg md:text-xl font-normal leading-relaxed"
|
||||||
>
|
>
|
||||||
@@ -141,7 +142,7 @@ export function HomeClient({ initialUser }: HomeClientProps) {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Hero CTAs */}
|
{/* Hero CTAs */}
|
||||||
<motion.div
|
<motion.div
|
||||||
variants={itemVariants}
|
variants={itemVariants}
|
||||||
className="flex flex-col sm:flex-row items-center justify-center gap-4 w-full max-w-md pt-4"
|
className="flex flex-col sm:flex-row items-center justify-center gap-4 w-full max-w-md pt-4"
|
||||||
>
|
>
|
||||||
@@ -219,24 +220,24 @@ export function HomeClient({ initialUser }: HomeClientProps) {
|
|||||||
{/* Grid of modules */}
|
{/* Grid of modules */}
|
||||||
<section className="w-full py-16 md:py-24 border-t border-slate-900 bg-slate-950/50 relative">
|
<section className="w-full py-16 md:py-24 border-t border-slate-900 bg-slate-950/50 relative">
|
||||||
<div className="container max-w-6xl mx-auto px-4 relative">
|
<div className="container max-w-6xl mx-auto px-4 relative">
|
||||||
|
|
||||||
<div className="absolute top-1/4 right-0 w-[400px] h-[400px] bg-indigo-600/5 blur-[120px] rounded-full -z-10 pointer-events-none" />
|
<div className="absolute top-1/4 right-0 w-[400px] h-[400px] bg-indigo-600/5 blur-[120px] rounded-full -z-10 pointer-events-none" />
|
||||||
|
|
||||||
<div className="text-center space-y-3 mb-16">
|
<div className="text-center space-y-3 mb-16">
|
||||||
<div className="inline-flex items-center gap-1.5 text-xs font-bold text-indigo-400 uppercase tracking-widest bg-indigo-500/10 border border-indigo-500/20 px-3 py-1 rounded-full">
|
<div className="inline-flex items-center gap-1.5 text-xs font-bold text-indigo-400 uppercase tracking-widest bg-indigo-500/10 border border-indigo-500/20 px-3 py-1 rounded-full">
|
||||||
<Sparkles className="w-3 h-3" /> System-Module
|
<Sparkles className="w-3 h-3" /> Workspace-Zentrale
|
||||||
</div>
|
</div>
|
||||||
<h2 className="text-3xl sm:text-4xl font-bold tracking-tight bg-clip-text text-transparent bg-gradient-to-r from-white via-slate-100 to-slate-400">
|
<h2 className="text-3xl sm:text-4xl font-bold tracking-tight bg-clip-text text-transparent bg-gradient-to-r from-white via-slate-100 to-slate-400">
|
||||||
Verfügbare CASPOS-Kassen
|
CASPOS Sites
|
||||||
</h2>
|
</h2>
|
||||||
<p className="text-slate-400 max-w-[600px] mx-auto text-sm sm:text-base">
|
<p className="text-slate-400 max-w-[600px] mx-auto text-sm sm:text-base">
|
||||||
Wählen Sie die passende Kasse für Ihren Kunden aus.
|
Die zentralen Plattformen für unsere tägliche Zusammenarbeit, Dokumentation und den Support.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
|
<div className="grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
|
||||||
{/* Card 1 */}
|
{/* Card 1 */}
|
||||||
<motion.div
|
<motion.div
|
||||||
whileHover={{ y: -6 }}
|
whileHover={{ y: -6 }}
|
||||||
className="group relative flex flex-col p-6 rounded-2xl border border-slate-900 bg-slate-950/70 hover:bg-slate-900/40 hover:border-slate-800/80 transition-all duration-300 shadow-xl overflow-hidden"
|
className="group relative flex flex-col p-6 rounded-2xl border border-slate-900 bg-slate-950/70 hover:bg-slate-900/40 hover:border-slate-800/80 transition-all duration-300 shadow-xl overflow-hidden"
|
||||||
>
|
>
|
||||||
@@ -246,15 +247,15 @@ export function HomeClient({ initialUser }: HomeClientProps) {
|
|||||||
<div className="inline-flex p-3 bg-blue-500/10 rounded-xl text-blue-400 group-hover:bg-blue-500/20 group-hover:scale-110 transition-all duration-300">
|
<div className="inline-flex p-3 bg-blue-500/10 rounded-xl text-blue-400 group-hover:bg-blue-500/20 group-hover:scale-110 transition-all duration-300">
|
||||||
<ShoppingCart className="h-6 w-6" />
|
<ShoppingCart className="h-6 w-6" />
|
||||||
</div>
|
</div>
|
||||||
<h3 className="text-xl font-bold text-slate-200 group-hover:text-white transition-colors">Handel & ERP</h3>
|
<h3 className="text-xl font-bold text-slate-200 group-hover:text-white transition-colors">Zulip</h3>
|
||||||
<p className="text-slate-400 text-sm leading-relaxed">
|
<p className="text-slate-400 text-sm leading-relaxed">
|
||||||
Erweiterungen für Handelskassen, Bestandsführung und vollwertige Warenwirtschaftssysteme (ERP).
|
Sie möchten sich mit anderen CASPOS Partnern austauschen, Fragen stellen oder Feedback geben? Treten Sie unserem Zulip-Chat bei.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|
||||||
{/* Card 2 */}
|
{/* Card 2 */}
|
||||||
<motion.div
|
<motion.div
|
||||||
whileHover={{ y: -6 }}
|
whileHover={{ y: -6 }}
|
||||||
className="group relative flex flex-col p-6 rounded-2xl border border-slate-900 bg-slate-950/70 hover:bg-slate-900/40 hover:border-slate-800/80 transition-all duration-300 shadow-xl overflow-hidden"
|
className="group relative flex flex-col p-6 rounded-2xl border border-slate-900 bg-slate-950/70 hover:bg-slate-900/40 hover:border-slate-800/80 transition-all duration-300 shadow-xl overflow-hidden"
|
||||||
>
|
>
|
||||||
@@ -264,15 +265,15 @@ export function HomeClient({ initialUser }: HomeClientProps) {
|
|||||||
<div className="inline-flex p-3 bg-indigo-500/10 rounded-xl text-indigo-400 group-hover:bg-indigo-500/20 group-hover:scale-110 transition-all duration-300">
|
<div className="inline-flex p-3 bg-indigo-500/10 rounded-xl text-indigo-400 group-hover:bg-indigo-500/20 group-hover:scale-110 transition-all duration-300">
|
||||||
<Utensils className="h-6 w-6" />
|
<Utensils className="h-6 w-6" />
|
||||||
</div>
|
</div>
|
||||||
<h3 className="text-xl font-bold text-slate-200 group-hover:text-white transition-colors">Gastronomie</h3>
|
<h3 className="text-xl font-bold text-slate-200 group-hover:text-white transition-colors">Wiki</h3>
|
||||||
<p className="text-slate-400 text-sm leading-relaxed">
|
<p className="text-slate-400 text-sm leading-relaxed">
|
||||||
Lizenzen für mobiles Bestellen (Orderman), digitale Küchen-Monitore und interaktive Abhol-Boards.
|
Ihr Wissens-Portal für die CASPOS Produktfamilie.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|
||||||
{/* Card 3 */}
|
{/* Card 3 */}
|
||||||
<motion.div
|
<motion.div
|
||||||
whileHover={{ y: -6 }}
|
whileHover={{ y: -6 }}
|
||||||
className="group relative flex flex-col p-6 rounded-2xl border border-slate-900 bg-slate-950/70 hover:bg-slate-900/40 hover:border-slate-800/80 transition-all duration-300 shadow-xl overflow-hidden"
|
className="group relative flex flex-col p-6 rounded-2xl border border-slate-900 bg-slate-950/70 hover:bg-slate-900/40 hover:border-slate-800/80 transition-all duration-300 shadow-xl overflow-hidden"
|
||||||
>
|
>
|
||||||
@@ -280,11 +281,11 @@ export function HomeClient({ initialUser }: HomeClientProps) {
|
|||||||
<div className="absolute top-0 left-0 w-full h-[2px] bg-gradient-to-r from-transparent via-purple-500 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-500" />
|
<div className="absolute top-0 left-0 w-full h-[2px] bg-gradient-to-r from-transparent via-purple-500 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-500" />
|
||||||
<div className="space-y-4 relative">
|
<div className="space-y-4 relative">
|
||||||
<div className="inline-flex p-3 bg-purple-500/10 rounded-xl text-purple-400 group-hover:bg-purple-500/20 group-hover:scale-110 transition-all duration-300">
|
<div className="inline-flex p-3 bg-purple-500/10 rounded-xl text-purple-400 group-hover:bg-purple-500/20 group-hover:scale-110 transition-all duration-300">
|
||||||
<Layers className="h-6 w-6" />
|
<LifeBuoy className="h-6 w-6" />
|
||||||
</div>
|
</div>
|
||||||
<h3 className="text-xl font-bold text-slate-200 group-hover:text-white transition-colors">Hybride Systeme</h3>
|
<h3 className="text-xl font-bold text-slate-200 group-hover:text-white transition-colors">Support</h3>
|
||||||
<p className="text-slate-400 text-sm leading-relaxed">
|
<p className="text-slate-400 text-sm leading-relaxed">
|
||||||
Das Beste aus beiden Welten. Nahtlose Kombination von Handel- und Gastronomie-Funktionalitäten.
|
Sie haben ein Problem in der CASPOS? Wir helfen Ihnen gerne weiter! Erstellen Sie jetzt ein Ticket über unser Ticketsystem.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
@@ -303,11 +304,11 @@ export function HomeClient({ initialUser }: HomeClientProps) {
|
|||||||
Wie funktioniert die Bereitstellung?
|
Wie funktioniert die Bereitstellung?
|
||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative">
|
<div className="relative">
|
||||||
{/* Connection line for Desktop */}
|
{/* Connection line for Desktop */}
|
||||||
<div className="hidden md:block absolute top-[28px] left-[15%] right-[15%] h-[1px] bg-gradient-to-r from-blue-500/10 via-blue-500/30 to-blue-500/10 z-0" />
|
<div className="hidden md:block absolute top-[28px] left-[15%] right-[15%] h-[1px] bg-gradient-to-r from-blue-500/10 via-blue-500/30 to-blue-500/10 z-0" />
|
||||||
|
|
||||||
<div className="grid gap-8 md:grid-cols-3 relative z-10">
|
<div className="grid gap-8 md:grid-cols-3 relative z-10">
|
||||||
{/* Step 1 */}
|
{/* Step 1 */}
|
||||||
<div className="flex flex-col items-center text-center space-y-4 p-4 group">
|
<div className="flex flex-col items-center text-center space-y-4 p-4 group">
|
||||||
|
|||||||
Reference in New Issue
Block a user