ppt-tool/frontend/components/Logo.tsx
Vadym Samoilenko 8238462707 Wire Oliver DeckForge UI: AuthGuard, routing, logo, remove Presenton branding
- Connect AuthGuard in providers.tsx so all pages enforce authentication
- Root page redirects to /dashboard instead of rendering old Home.tsx
- ConfigurationInitializer and login page redirect to /dashboard (not /upload)
- Create reusable Logo component with "Oliver DeckForge" text branding
- Replace Presenton logo-white.png with Logo component in all 3 headers
- Remove old "Create Template" / "Templates" nav links from dashboard header
- Replace presenton@gmail.com/www.presenton.com in template placeholders
- Fix DashboardPage heading "Slide Presentation" → "Recent Presentations"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 18:34:55 +00:00

39 lines
1.2 KiB
TypeScript

"use client";
import React from "react";
import Link from "next/link";
import { Sparkles } from "lucide-react";
import { cn } from "@/lib/utils";
interface LogoProps {
variant?: "light" | "dark";
className?: string;
linkTo?: string;
}
export default function Logo({ variant = "light", className, linkTo = "/dashboard" }: LogoProps) {
const textColor = variant === "light" ? "text-white" : "text-gray-900";
const iconColor = variant === "light" ? "text-white/80" : "text-[#5146E5]";
const content = (
<div className={cn("flex items-center gap-2 py-2", className)}>
<div className={cn("w-8 h-8 rounded-lg flex items-center justify-center", variant === "light" ? "bg-white/15" : "bg-[#5146E5]/10")}>
<Sparkles className={cn("w-5 h-5", iconColor)} />
</div>
<div className="flex flex-col leading-tight">
<span className={cn("text-sm font-bold tracking-tight font-inter", textColor)}>
Oliver DeckForge
</span>
<span className={cn("text-[10px] font-inter", variant === "light" ? "text-white/60" : "text-gray-400")}>
AI Presentations
</span>
</div>
</div>
);
if (linkTo) {
return <Link href={linkTo}>{content}</Link>;
}
return content;
}