feat: rebrand to Cabo Pickleball Club with English UI

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Ivan
2026-03-01 21:13:08 +00:00
parent f905c0dfbe
commit ec48ff8405
5 changed files with 43 additions and 45 deletions

View File

@@ -11,24 +11,25 @@ function LoginContent() {
<div className="max-w-md text-center"> <div className="max-w-md text-center">
{/* Logo */} {/* Logo */}
<div className="mb-8 flex justify-center"> <div className="mb-8 flex justify-center">
<div className="w-24 h-24 bg-amber-500/20 backdrop-blur-sm rounded-2xl flex items-center justify-center border border-amber-400/30"> <div className="w-24 h-24 bg-primary/20 backdrop-blur-sm rounded-2xl flex items-center justify-center border border-primary-300/30">
<svg viewBox="0 0 100 100" className="w-16 h-16" fill="none"> <svg viewBox="0 0 100 100" className="w-16 h-16 text-white" fill="none">
{/* Lightning bolt / smash icon */} {/* Lightning bolt / smash icon */}
<path d="M55 10L20 55h25l-10 35L70 45H45l10-35z" fill="#FBBF24" /> <path d="M55 10L20 55h25l-10 35L70 45H45l10-35z" fill="currentColor" />
{/* Impact sparks */} {/* Impact sparks */}
<circle cx="78" cy="18" r="4" fill="#FBBF24" opacity="0.8" /> <circle cx="78" cy="18" r="4" fill="currentColor" opacity="0.8" />
<circle cx="85" cy="28" r="2.5" fill="#FBBF24" opacity="0.6" /> <circle cx="85" cy="28" r="2.5" fill="currentColor" opacity="0.6" />
<circle cx="72" cy="10" r="2" fill="#FBBF24" opacity="0.5" /> <circle cx="72" cy="10" r="2" fill="currentColor" opacity="0.5" />
</svg> </svg>
</div> </div>
</div> </div>
{/* Title */} {/* Title */}
<h1 className="text-4xl font-bold mb-4">SmashPoint</h1> <h1 className="text-4xl font-bold mb-4">Cabo Pickleball Club</h1>
<p className="text-sm text-primary-300 mb-2">Powered by SmashPoint</p>
{/* Tagline */} {/* Tagline */}
<p className="text-xl text-primary-200 mb-8"> <p className="text-xl text-primary-200 mb-8">
Sistema de Gestion para Clubes de Padel Court Management System
</p> </p>
{/* Features */} {/* Features */}
@@ -49,8 +50,8 @@ function LoginContent() {
</svg> </svg>
</div> </div>
<div> <div>
<p className="font-medium">Gestion de Reservas</p> <p className="font-medium">Court Bookings</p>
<p className="text-sm text-primary-300">Administra tus canchas y horarios</p> <p className="text-sm text-primary-300">Manage your courts and schedules</p>
</div> </div>
</div> </div>
@@ -66,8 +67,8 @@ function LoginContent() {
</svg> </svg>
</div> </div>
<div> <div>
<p className="font-medium">Control de Clientes</p> <p className="font-medium">Player Management</p>
<p className="text-sm text-primary-300">Membresias y perfiles completos</p> <p className="text-sm text-primary-300">Memberships and player profiles</p>
</div> </div>
</div> </div>
@@ -83,8 +84,8 @@ function LoginContent() {
</svg> </svg>
</div> </div>
<div> <div>
<p className="font-medium">Reportes y Estadisticas</p> <p className="font-medium">Reports & Analytics</p>
<p className="text-sm text-primary-300">Analiza el rendimiento de tu club</p> <p className="text-sm text-primary-300">Analyze your club's performance</p>
</div> </div>
</div> </div>
</div> </div>
@@ -95,23 +96,23 @@ function LoginContent() {
<div className="w-full lg:w-1/2 flex flex-col justify-center items-center p-6 lg:p-12"> <div className="w-full lg:w-1/2 flex flex-col justify-center items-center p-6 lg:p-12">
{/* Mobile Logo */} {/* Mobile Logo */}
<div className="lg:hidden mb-8 text-center text-white"> <div className="lg:hidden mb-8 text-center text-white">
<div className="w-16 h-16 mx-auto mb-4 bg-amber-500/20 backdrop-blur-sm rounded-xl flex items-center justify-center border border-amber-400/30"> <div className="w-16 h-16 mx-auto mb-4 bg-primary/20 backdrop-blur-sm rounded-xl flex items-center justify-center border border-primary-300/30">
<svg viewBox="0 0 100 100" className="w-10 h-10" fill="none"> <svg viewBox="0 0 100 100" className="w-10 h-10 text-white" fill="none">
<path d="M55 10L20 55h25l-10 35L70 45H45l10-35z" fill="#FBBF24" /> <path d="M55 10L20 55h25l-10 35L70 45H45l10-35z" fill="currentColor" />
<circle cx="78" cy="18" r="4" fill="#FBBF24" opacity="0.8" /> <circle cx="78" cy="18" r="4" fill="currentColor" opacity="0.8" />
<circle cx="85" cy="28" r="2.5" fill="#FBBF24" opacity="0.6" /> <circle cx="85" cy="28" r="2.5" fill="currentColor" opacity="0.6" />
<circle cx="72" cy="10" r="2" fill="#FBBF24" opacity="0.5" /> <circle cx="72" cy="10" r="2" fill="currentColor" opacity="0.5" />
</svg> </svg>
</div> </div>
<h1 className="text-2xl font-bold">SmashPoint</h1> <h1 className="text-2xl font-bold">Cabo Pickleball Club</h1>
<p className="text-sm text-primary-200 mt-1">Sistema de Gestion para Clubes de Padel</p> <p className="text-sm text-primary-200 mt-1">Court Management System</p>
</div> </div>
<LoginForm /> <LoginForm />
{/* Footer */} {/* Footer */}
<p className="mt-8 text-center text-sm text-primary-300"> <p className="mt-8 text-center text-sm text-primary-300">
&copy; {new Date().getFullYear()} SmashPoint. Todos los derechos reservados. &copy; {new Date().getFullYear()} SmashPoint. All rights reserved.
</p> </p>
</div> </div>
</div> </div>

View File

@@ -1,5 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
<rect width="32" height="32" rx="8" fill="#F59E0B"/> <rect width="32" height="32" rx="8" fill="#2990EA"/>
<path d="M17.5 3L6.5 17h8l-3 12L22.5 15H14.5l3-12z" fill="white"/> <path d="M17.5 3L6.5 17h8l-3 12L22.5 15H14.5l3-12z" fill="white"/>
<circle cx="25" cy="6" r="1.5" fill="white" opacity="0.8"/> <circle cx="25" cy="6" r="1.5" fill="white" opacity="0.8"/>
<circle cx="27" cy="9" r="1" fill="white" opacity="0.6"/> <circle cx="27" cy="9" r="1" fill="white" opacity="0.6"/>

Before

Width:  |  Height:  |  Size: 326 B

After

Width:  |  Height:  |  Size: 326 B

View File

@@ -5,10 +5,10 @@ import "./globals.css";
const inter = Inter({ subsets: ["latin"] }); const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = { export const metadata: Metadata = {
title: "SmashPoint", title: "Cabo Pickleball Club | SmashPoint",
description: "Sistema de Gestión para Clubes de Pádel", description: "Court Management System for Cabo Pickleball Club",
keywords: ["padel", "club", "reservas", "gestión", "deportes"], keywords: ["pickleball", "cabo", "courts", "bookings", "club"],
authors: [{ name: "SmashPoint Team" }], authors: [{ name: "SmashPoint" }],
}; };
export default function RootLayout({ export default function RootLayout({
@@ -17,7 +17,7 @@ export default function RootLayout({
children: React.ReactNode; children: React.ReactNode;
}>) { }>) {
return ( return (
<html lang="es"> <html lang="en">
<body className={inter.className}>{children}</body> <body className={inter.className}>{children}</body>
</html> </html>
); );

View File

@@ -6,7 +6,7 @@ export default function Home() {
<div className="text-center space-y-8 px-4"> <div className="text-center space-y-8 px-4">
{/* Logo */} {/* Logo */}
<div className="flex justify-center"> <div className="flex justify-center">
<div className="w-20 h-20 bg-amber-500 rounded-2xl flex items-center justify-center shadow-lg"> <div className="w-20 h-20 bg-primary rounded-2xl flex items-center justify-center shadow-lg">
<svg viewBox="0 0 40 40" className="w-12 h-12 text-white" fill="none"> <svg viewBox="0 0 40 40" className="w-12 h-12 text-white" fill="none">
<path d="M22 4L8 22h10l-4 14L28 18H18l4-14z" fill="currentColor" /> <path d="M22 4L8 22h10l-4 14L28 18H18l4-14z" fill="currentColor" />
<circle cx="32" cy="8" r="2" fill="currentColor" opacity="0.8" /> <circle cx="32" cy="8" r="2" fill="currentColor" opacity="0.8" />
@@ -16,10 +16,11 @@ export default function Home() {
</div> </div>
</div> </div>
<h1 className="text-5xl md:text-6xl font-bold text-primary-800"> <h1 className="text-5xl md:text-6xl font-bold text-primary-800">
SmashPoint Cabo Pickleball Club
</h1> </h1>
<p className="text-sm text-primary-400 -mt-4">Powered by SmashPoint</p>
<p className="text-xl md:text-2xl text-primary-600 max-w-2xl mx-auto"> <p className="text-xl md:text-2xl text-primary-600 max-w-2xl mx-auto">
Sistema de Gestion para Clubes de Padel Court Management System
</p> </p>
<div className="flex flex-col sm:flex-row gap-4 justify-center mt-8"> <div className="flex flex-col sm:flex-row gap-4 justify-center mt-8">
<Link <Link
@@ -29,10 +30,10 @@ export default function Home() {
Dashboard Dashboard
</Link> </Link>
<Link <Link
href="/reservas" href="/bookings"
className="px-8 py-3 bg-accent-500 text-white font-semibold rounded-lg hover:bg-accent-600 transition-colors duration-200 shadow-lg hover:shadow-xl" className="px-8 py-3 bg-accent-500 text-white font-semibold rounded-lg hover:bg-accent-600 transition-colors duration-200 shadow-lg hover:shadow-xl"
> >
Reservas Book a Court
</Link> </Link>
</div> </div>
</div> </div>

View File

@@ -5,8 +5,6 @@ import { usePathname } from 'next/navigation';
import { import {
LayoutDashboard, LayoutDashboard,
Calendar, Calendar,
Trophy,
ShoppingCart,
Users, Users,
CreditCard, CreditCard,
BarChart3, BarChart3,
@@ -22,13 +20,11 @@ interface NavItem {
const navItems: NavItem[] = [ const navItems: NavItem[] = [
{ label: 'Dashboard', href: '/dashboard', icon: LayoutDashboard }, { label: 'Dashboard', href: '/dashboard', icon: LayoutDashboard },
{ label: 'Reservas', href: '/bookings', icon: Calendar }, { label: 'Bookings', href: '/bookings', icon: Calendar },
{ label: 'Torneos', href: '/tournaments', icon: Trophy }, { label: 'Players', href: '/clients', icon: Users },
{ label: 'Ventas', href: '/pos', icon: ShoppingCart }, { label: 'Memberships', href: '/memberships', icon: CreditCard },
{ label: 'Clientes', href: '/clients', icon: Users }, { label: 'Reports', href: '/reports', icon: BarChart3 },
{ label: 'Membresías', href: '/memberships', icon: CreditCard }, { label: 'Settings', href: '/settings', icon: Settings },
{ label: 'Reportes', href: '/reports', icon: BarChart3 },
{ label: 'Configuración', href: '/settings', icon: Settings },
]; ];
export function Sidebar() { export function Sidebar() {
@@ -38,7 +34,7 @@ export function Sidebar() {
<aside className="fixed left-0 top-0 z-40 h-screen w-64 border-r border-primary-200 bg-white"> <aside className="fixed left-0 top-0 z-40 h-screen w-64 border-r border-primary-200 bg-white">
{/* Logo Section */} {/* Logo Section */}
<div className="flex h-16 items-center gap-3 border-b border-primary-200 px-6"> <div className="flex h-16 items-center gap-3 border-b border-primary-200 px-6">
<div className="flex h-10 w-10 items-center justify-center rounded-lg bg-amber-500"> <div className="flex h-10 w-10 items-center justify-center rounded-lg bg-primary">
<svg viewBox="0 0 40 40" className="w-7 h-7 text-white" fill="none"> <svg viewBox="0 0 40 40" className="w-7 h-7 text-white" fill="none">
{/* Lightning bolt / smash icon */} {/* Lightning bolt / smash icon */}
<path d="M22 4L8 22h10l-4 14L28 18H18l4-14z" fill="currentColor" /> <path d="M22 4L8 22h10l-4 14L28 18H18l4-14z" fill="currentColor" />
@@ -48,7 +44,7 @@ export function Sidebar() {
<circle cx="30" cy="4" r="1" fill="currentColor" opacity="0.5" /> <circle cx="30" cy="4" r="1" fill="currentColor" opacity="0.5" />
</svg> </svg>
</div> </div>
<span className="text-xl font-semibold text-primary-800">SmashPoint</span> <span className="text-xl font-semibold text-primary-800">Cabo Pickleball</span>
</div> </div>
{/* Navigation */} {/* Navigation */}