Rename to Gatehouse
Update branding and visuals to reflect Gatehouse branding across layouts, navigation, and pages; replace Authy2 references with Gatehouse, adopt Gatehouse logo, and apply enterprise-style design system. X-Lovable-Edit-ID: edt-8c42331f-7e14-427e-8490-86d7aaab17ee
This commit is contained in:
+5
-7
@@ -3,14 +3,12 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<!-- TODO: Set the document title to the name of your application -->
|
<title>Gatehouse — Identity & Access</title>
|
||||||
<title>Lovable App</title>
|
<meta name="description" content="Gatehouse is a self-hosted identity and access platform providing secure authentication, organization-level security policy, and OIDC-based Single Sign-On." />
|
||||||
<meta name="description" content="Lovable Generated Project" />
|
<meta name="author" content="Gatehouse" />
|
||||||
<meta name="author" content="Lovable" />
|
|
||||||
|
|
||||||
<!-- TODO: Update og:title to match your application name -->
|
<meta property="og:title" content="Gatehouse — Identity & Access" />
|
||||||
<meta property="og:title" content="Lovable App" />
|
<meta property="og:description" content="Secure authentication and access management for your organization." />
|
||||||
<meta property="og:description" content="Lovable Generated Project" />
|
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:image" content="https://lovable.dev/opengraph-image-p98pqg.png" />
|
<meta property="og:image" content="https://lovable.dev/opengraph-image-p98pqg.png" />
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,76 @@
|
|||||||
|
import { cn } from "@/lib/utils";
|
||||||
|
|
||||||
|
interface GatehouseLogoProps {
|
||||||
|
size?: "sm" | "md" | "lg";
|
||||||
|
variant?: "default" | "light";
|
||||||
|
className?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gatehouse Logo - Abstract gate/doorway mark
|
||||||
|
* Represents controlled entry and policy enforcement
|
||||||
|
* Two vertical pillars forming a gateway with negative space
|
||||||
|
*/
|
||||||
|
export function GatehouseLogo({
|
||||||
|
size = "md",
|
||||||
|
variant = "default",
|
||||||
|
className
|
||||||
|
}: GatehouseLogoProps) {
|
||||||
|
const sizeClasses = {
|
||||||
|
sm: "w-8 h-8",
|
||||||
|
md: "w-9 h-9",
|
||||||
|
lg: "w-12 h-12",
|
||||||
|
};
|
||||||
|
|
||||||
|
const bgClasses = {
|
||||||
|
default: "bg-primary",
|
||||||
|
light: "bg-sidebar-primary",
|
||||||
|
};
|
||||||
|
|
||||||
|
const iconColor = variant === "light"
|
||||||
|
? "text-sidebar-primary-foreground"
|
||||||
|
: "text-primary-foreground";
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
className={cn(
|
||||||
|
"rounded-lg flex items-center justify-center flex-shrink-0",
|
||||||
|
sizeClasses[size],
|
||||||
|
bgClasses[variant],
|
||||||
|
className
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
className={cn(
|
||||||
|
iconColor,
|
||||||
|
size === "sm" ? "w-4 h-4" : size === "md" ? "w-5 h-5" : "w-6 h-6"
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
{/* Abstract gate - two pillars with archway */}
|
||||||
|
<path
|
||||||
|
d="M4 4h3v16H4V4z"
|
||||||
|
fill="currentColor"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M17 4h3v16h-3V4z"
|
||||||
|
fill="currentColor"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M7 4h10v3H7V4z"
|
||||||
|
fill="currentColor"
|
||||||
|
opacity="0.7"
|
||||||
|
/>
|
||||||
|
{/* Keyhole/entry indicator */}
|
||||||
|
<circle
|
||||||
|
cx="12"
|
||||||
|
cy="14"
|
||||||
|
r="2"
|
||||||
|
fill="currentColor"
|
||||||
|
opacity="0.5"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Shield } from "lucide-react";
|
|
||||||
import { Outlet, Link } from "react-router-dom";
|
import { Outlet, Link } from "react-router-dom";
|
||||||
|
import { GatehouseLogo } from "@/components/branding/GatehouseLogo";
|
||||||
|
|
||||||
export default function PublicLayout() {
|
export default function PublicLayout() {
|
||||||
return (
|
return (
|
||||||
@@ -10,11 +10,9 @@ export default function PublicLayout() {
|
|||||||
{/* Header */}
|
{/* Header */}
|
||||||
<header className="relative z-10 w-full py-6 px-4">
|
<header className="relative z-10 w-full py-6 px-4">
|
||||||
<div className="max-w-md mx-auto">
|
<div className="max-w-md mx-auto">
|
||||||
<Link to="/" className="flex items-center gap-2 justify-center">
|
<Link to="/" className="flex items-center gap-2.5 justify-center">
|
||||||
<div className="w-9 h-9 rounded-lg bg-primary flex items-center justify-center">
|
<GatehouseLogo size="md" />
|
||||||
<Shield className="w-5 h-5 text-primary-foreground" />
|
<span className="text-xl font-semibold text-foreground tracking-tight">Gatehouse</span>
|
||||||
</div>
|
|
||||||
<span className="text-xl font-semibold text-foreground tracking-tight">Authy2</span>
|
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
@@ -30,7 +28,7 @@ export default function PublicLayout() {
|
|||||||
<footer className="relative z-10 py-6 px-4">
|
<footer className="relative z-10 py-6 px-4">
|
||||||
<div className="max-w-md mx-auto text-center">
|
<div className="max-w-md mx-auto text-center">
|
||||||
<p className="text-sm text-muted-foreground">
|
<p className="text-sm text-muted-foreground">
|
||||||
© {new Date().getFullYear()} Authy2. Secure identity management.
|
© {new Date().getFullYear()} Gatehouse. Identity & Access.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import {
|
|||||||
FileText,
|
FileText,
|
||||||
Key,
|
Key,
|
||||||
} from "lucide-react";
|
} from "lucide-react";
|
||||||
|
import { GatehouseLogo } from "@/components/branding/GatehouseLogo";
|
||||||
import { NavLink } from "@/components/NavLink";
|
import { NavLink } from "@/components/NavLink";
|
||||||
import {
|
import {
|
||||||
Sidebar,
|
Sidebar,
|
||||||
@@ -64,12 +65,10 @@ export function AppSidebar() {
|
|||||||
{/* Logo */}
|
{/* Logo */}
|
||||||
<SidebarHeader className="p-4 border-b border-sidebar-border">
|
<SidebarHeader className="p-4 border-b border-sidebar-border">
|
||||||
<div className="flex items-center gap-3">
|
<div className="flex items-center gap-3">
|
||||||
<div className="w-8 h-8 rounded-lg bg-sidebar-primary flex items-center justify-center flex-shrink-0">
|
<GatehouseLogo size="sm" variant="light" />
|
||||||
<Shield className="w-4 h-4 text-sidebar-primary-foreground" />
|
|
||||||
</div>
|
|
||||||
{!collapsed && (
|
{!collapsed && (
|
||||||
<span className="text-lg font-semibold text-sidebar-foreground tracking-tight">
|
<span className="text-lg font-semibold text-sidebar-foreground tracking-tight">
|
||||||
Authy2
|
Gatehouse
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+2
-1
@@ -2,7 +2,8 @@
|
|||||||
@tailwind components;
|
@tailwind components;
|
||||||
@tailwind utilities;
|
@tailwind utilities;
|
||||||
|
|
||||||
/* Authy2 Design System - Enterprise Authentication Platform
|
/* Gatehouse Design System - Enterprise Identity & Access Platform
|
||||||
|
Authoritative, infrastructure-grade aesthetic with slate/charcoal/muted blue palette
|
||||||
Colors are HSL for theming flexibility
|
Colors are HSL for theming flexibility
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ export default function RegisterPage() {
|
|||||||
Create your account
|
Create your account
|
||||||
</h1>
|
</h1>
|
||||||
<p className="text-muted-foreground mt-2">
|
<p className="text-muted-foreground mt-2">
|
||||||
Get started with Authy2 in seconds
|
Get started with Gatehouse in seconds
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ export default function OIDCClientsPage() {
|
|||||||
<div>
|
<div>
|
||||||
<h1 className="page-title">OIDC Clients</h1>
|
<h1 className="page-title">OIDC Clients</h1>
|
||||||
<p className="page-description">
|
<p className="page-description">
|
||||||
Manage applications that authenticate via Authy2
|
Manage applications that authenticate via Gatehouse
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<Dialog open={isCreateOpen} onOpenChange={setIsCreateOpen}>
|
<Dialog open={isCreateOpen} onOpenChange={setIsCreateOpen}>
|
||||||
@@ -75,7 +75,7 @@ export default function OIDCClientsPage() {
|
|||||||
<DialogHeader>
|
<DialogHeader>
|
||||||
<DialogTitle>Create OIDC Client</DialogTitle>
|
<DialogTitle>Create OIDC Client</DialogTitle>
|
||||||
<DialogDescription>
|
<DialogDescription>
|
||||||
Register a new application to authenticate via Authy2
|
Register a new application to authenticate via Gatehouse
|
||||||
</DialogDescription>
|
</DialogDescription>
|
||||||
</DialogHeader>
|
</DialogHeader>
|
||||||
<div className="space-y-4 py-4">
|
<div className="space-y-4 py-4">
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ export default function LinkedAccountsPage() {
|
|||||||
<Alert className="mb-6">
|
<Alert className="mb-6">
|
||||||
<AlertCircle className="w-4 h-4" />
|
<AlertCircle className="w-4 h-4" />
|
||||||
<AlertDescription>
|
<AlertDescription>
|
||||||
Linked accounts can only be used to sign in to an existing Authy2 account.
|
Linked accounts can only be used to sign in to an existing Gatehouse account.
|
||||||
They cannot be used to create new accounts.
|
They cannot be used to create new accounts.
|
||||||
</AlertDescription>
|
</AlertDescription>
|
||||||
</Alert>
|
</Alert>
|
||||||
|
|||||||
Reference in New Issue
Block a user