From 3aeda8c2fb3683b91452a976e6ad452282d31e92 Mon Sep 17 00:00:00 2001 From: Ivan Date: Sun, 1 Mar 2026 21:24:52 +0000 Subject: [PATCH] feat: translate settings page to English Co-Authored-By: Claude Opus 4.6 --- apps/web/app/(admin)/settings/page.tsx | 162 ++++++++++++------------- 1 file changed, 81 insertions(+), 81 deletions(-) diff --git a/apps/web/app/(admin)/settings/page.tsx b/apps/web/app/(admin)/settings/page.tsx index 206aa65..03286d5 100644 --- a/apps/web/app/(admin)/settings/page.tsx +++ b/apps/web/app/(admin)/settings/page.tsx @@ -129,7 +129,7 @@ export default function SettingsPage() { setLoading(true); // Simulate save await new Promise((resolve) => setTimeout(resolve, 500)); - setMessage({ type: "success", text: "Configuración guardada correctamente" }); + setMessage({ type: "success", text: "Settings saved successfully" }); setLoading(false); setTimeout(() => setMessage(null), 3000); }; @@ -147,15 +147,15 @@ export default function SettingsPage() { }); if (res.ok) { - setMessage({ type: "success", text: editingSite ? "Sede actualizada" : "Sede creada" }); + setMessage({ type: "success", text: editingSite ? "Site updated" : "Site created" }); fetchSites(); setShowSiteForm(false); setEditingSite(null); } else { - setMessage({ type: "error", text: "Error al guardar la sede" }); + setMessage({ type: "error", text: "Error saving site" }); } } catch (error) { - setMessage({ type: "error", text: "Error de conexión" }); + setMessage({ type: "error", text: "Connection error" }); } finally { setLoading(false); setTimeout(() => setMessage(null), 3000); @@ -175,15 +175,15 @@ export default function SettingsPage() { }); if (res.ok) { - setMessage({ type: "success", text: editingCourt ? "Cancha actualizada" : "Cancha creada" }); + setMessage({ type: "success", text: editingCourt ? "Court updated" : "Court created" }); fetchCourts(); setShowCourtForm(false); setEditingCourt(null); } else { - setMessage({ type: "error", text: "Error al guardar la cancha" }); + setMessage({ type: "error", text: "Error saving court" }); } } catch (error) { - setMessage({ type: "error", text: "Error de conexión" }); + setMessage({ type: "error", text: "Connection error" }); } finally { setLoading(false); setTimeout(() => setMessage(null), 3000); @@ -191,18 +191,18 @@ export default function SettingsPage() { }; const handleDeleteCourt = async (courtId: string) => { - if (!confirm("¿Estás seguro de eliminar esta cancha?")) return; + if (!confirm("Are you sure you want to delete this court?")) return; try { const res = await fetch(`/api/courts/${courtId}`, { method: "DELETE" }); if (res.ok) { - setMessage({ type: "success", text: "Cancha eliminada" }); + setMessage({ type: "success", text: "Court deleted" }); fetchCourts(); } else { - setMessage({ type: "error", text: "Error al eliminar la cancha" }); + setMessage({ type: "error", text: "Error deleting court" }); } } catch (error) { - setMessage({ type: "error", text: "Error de conexión" }); + setMessage({ type: "error", text: "Connection error" }); } setTimeout(() => setMessage(null), 3000); }; @@ -211,8 +211,8 @@ export default function SettingsPage() {
{/* Header */}
-

Configuración

-

Administra la configuración del sistema

+

Settings

+

Manage system settings

{/* Message */} @@ -233,19 +233,19 @@ export default function SettingsPage() { - Organización + Organization - Sedes + Sites - Canchas + Courts - Usuarios + Users @@ -253,34 +253,34 @@ export default function SettingsPage() { - Información de la Organización + Organization Information
setOrgName(e.target.value)} - placeholder="Nombre" + placeholder="Name" />
setOrgEmail(e.target.value)} - placeholder="email@ejemplo.com" + placeholder="email@example.com" />
@@ -363,7 +363,7 @@ export default function SettingsPage() {
@@ -373,10 +373,10 @@ export default function SettingsPage() { {/* Sites Tab */}
-

Sedes

+

Sites

@@ -423,7 +423,7 @@ export default function SettingsPage() { : "bg-gray-100 text-gray-600" }`} > - {site.isActive ? "Activa" : "Inactiva"} + {site.isActive ? "Active" : "Inactive"}
@@ -446,10 +446,10 @@ export default function SettingsPage() { {/* Courts Tab */}
-

Canchas

+

Courts

@@ -468,12 +468,12 @@ export default function SettingsPage() { - - - - - - + + + + + + @@ -493,7 +493,7 @@ export default function SettingsPage() { : "bg-gray-100 text-gray-600" }`} > - {court.status === "active" ? "Activa" : court.status === "maintenance" ? "Mantenimiento" : "Inactiva"} + {court.status === "active" ? "Active" : court.status === "maintenance" ? "Maintenance" : "Inactive"}
CanchaSedeTipoPrecio/horaEstadoAccionesCourtSiteTypePrice/hourStatusActions
@@ -533,10 +533,10 @@ export default function SettingsPage() { {/* Users Tab */}
-

Usuarios

+

Users

@@ -555,12 +555,12 @@ export default function SettingsPage() { - + - - - - + + + + @@ -573,11 +573,11 @@ export default function SettingsPage() { - +
UsuarioUser EmailRolSedeEstadoAccionesRoleSiteStatusActions
{user.role === "super_admin" ? "Super Admin" : - user.role === "site_admin" ? "Admin Sede" : + user.role === "site_admin" ? "Site Admin" : user.role === "staff" ? "Staff" : user.role} {user.site?.name || "Todas"}{user.site?.name || "All"} - {user.isActive ? "Activo" : "Inactivo"} + {user.isActive ? "Active" : "Inactive"} @@ -636,7 +636,7 @@ function SiteFormModal({

- {site ? "Editar Sede" : "Nueva Sede"} + {site ? "Edit Site" : "New Site"}

- + setName(e.target.value)} required />
- + setAddress(e.target.value)} required />
- + setPhone(e.target.value)} />
- + setOpenTime(e.target.value)} />
- + setCloseTime(e.target.value)} />
@@ -673,14 +673,14 @@ function SiteFormModal({ onChange={(e) => setIsActive(e.target.checked)} className="rounded border-primary-300" /> - +
@@ -727,7 +727,7 @@ function CourtFormModal({

- {court ? "Editar Cancha" : "Nueva Cancha"} + {court ? "Edit Court" : "New Court"}

- - setName(e.target.value)} placeholder="Cancha 1" required /> + + setName(e.target.value)} placeholder="Court 1" required />
- +
- +
- +
- + setPeakHourlyRate(e.target.value)} min="0" - placeholder="Opcional" + placeholder="Optional" />
- +