Updated UI, added new logo and public assets

This commit is contained in:
Aleksandar 2025-12-09 09:28:26 +01:00
parent 1ad146fe57
commit 5fd91ec5ad
4 changed files with 77 additions and 7 deletions

BIN
apps/admin/public/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

@ -5,6 +5,7 @@ import { Users, CreditCard, CalendarCheck, TrendingUp, Brain, Calendar, User } f
import { StatsCard } from "@/components/ui/StatsCard"; import { StatsCard } from "@/components/ui/StatsCard";
import { UserManagement } from "@/components/users/UserManagement"; import { UserManagement } from "@/components/users/UserManagement";
import { AnalyticsDashboard } from "@/components/analytics/AnalyticsDashboard"; import { AnalyticsDashboard } from "@/components/analytics/AnalyticsDashboard";
import { Logo } from "@/components/ui/Logo";
import axios from "axios"; import axios from "axios";
interface DashboardStats { interface DashboardStats {
@ -125,9 +126,8 @@ export default function Home() {
<div className="w-full px-4 sm:px-6 lg:px-8 py-6 sm:py-8"> <div className="w-full px-4 sm:px-6 lg:px-8 py-6 sm:py-8">
{/* Header Section */} {/* Header Section */}
<div className="mb-8 sm:mb-10"> <div className="mb-8 sm:mb-10">
<div className="flex items-center gap-3 mb-3"> <div className="flex items-center gap-4 mb-6">
<div className="h-1 w-12 bg-gradient-to-r from-[#2563eb] to-[#fb7a1b] rounded-full"></div> <Logo variant="full" />
<h1 className="text-3xl sm:text-4xl font-bold text-slate-900 dark:text-white">💪 FitAI Elite</h1>
</div> </div>
<h2 className="text-2xl sm:text-3xl font-bold text-slate-900 dark:text-white mt-4">Admin Dashboard</h2> <h2 className="text-2xl sm:text-3xl font-bold text-slate-900 dark:text-white mt-4">Admin Dashboard</h2>
<p className="text-slate-600 dark:text-slate-400 mt-2 text-sm sm:text-base">Manage your fitness platform with complete control.</p> <p className="text-slate-600 dark:text-slate-400 mt-2 text-sm sm:text-base">Manage your fitness platform with complete control.</p>

View File

@ -0,0 +1,69 @@
import React from "react";
import Image from "next/image";
interface LogoProps {
variant?: "full" | "icon" | "text";
className?: string;
}
export function Logo({ variant = "full", className = "" }: LogoProps) {
if (variant === "icon") {
return (
<div className={`relative w-24 h-24 flex-shrink-0 ${className}`}>
<Image
src="/logo.png"
alt="FitAI Logo"
width={96}
height={96}
className="object-contain"
priority
/>
</div>
);
}
if (variant === "text") {
return (
<div className={`flex items-center gap-3 ${className}`}>
<div className="relative w-14 h-14 flex-shrink-0">
<Image
src="/logo.png"
alt="FitAI Logo"
width={56}
height={56}
className="object-contain"
priority
/>
</div>
<div className="flex flex-col leading-tight">
<span className="text-lg font-black text-slate-900 dark:text-white">
NextForm
</span>
<span className="text-xs font-bold text-slate-500 dark:text-slate-400">Smart Fitness Twin</span>
</div>
</div>
);
}
// Full variant (default)
return (
<div className={`flex items-center gap-6 ${className}`}>
<div className="relative w-28 h-28 flex-shrink-0">
<Image
src="/logo.png"
alt="FitAI Logo"
width={112}
height={112}
className="object-contain"
priority
/>
</div>
<div className="flex flex-col">
<span className="text-4xl font-black text-slate-900 dark:text-white">
NextForm
</span>
<span className="text-base font-bold text-slate-600 dark:text-slate-400">Your Smart Fitness Twin</span>
</div>
</div>
);
}

View File

@ -13,6 +13,7 @@ import {
Brain, Brain,
} from "lucide-react"; } from "lucide-react";
import { UserButton, useUser } from "@clerk/nextjs"; import { UserButton, useUser } from "@clerk/nextjs";
import { Logo } from "./Logo";
interface Recommendation { interface Recommendation {
id: string; id: string;
@ -66,10 +67,10 @@ export function Sidebar() {
return ( return (
<aside className="w-64 bg-slate-900 text-white h-screen fixed left-0 top-0 flex flex-col border-r border-slate-800"> <aside className="w-64 bg-slate-900 text-white h-screen fixed left-0 top-0 flex flex-col border-r border-slate-800">
<div className="p-6 border-b border-slate-800"> <div className="p-6 border-b border-slate-800 flex items-center justify-center">
<h1 className="text-2xl font-bold bg-gradient-to-r from-blue-400 to-indigo-400 bg-clip-text text-transparent"> <Link href="/" className="hover:opacity-80 transition-opacity">
FitAI Admin <Logo variant="text" className="justify-start" />
</h1> </Link>
</div> </div>
<nav className="flex-1 p-4 space-y-2"> <nav className="flex-1 p-4 space-y-2">