رغد Claude Sonnet 4.6 commited on
Commit
a977a61
·
1 Parent(s): e2b07db

fix(logo): embed logo as base64 to fix Vercel LFS issue

Browse files

Vercel does not download Git LFS objects during build, so logo.png
was served as a text pointer file. Embedding the logo as a base64
data URI in lib/logo.ts eliminates the LFS dependency entirely and
ensures the logo loads correctly on all platforms (Vercel, local).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

frontend/components/footer.tsx CHANGED
@@ -1,8 +1,8 @@
1
  "use client"
2
 
3
  import { motion } from "framer-motion"
4
- import Image from "next/image"
5
  import Link from "next/link"
 
6
 
7
  export function Footer() {
8
  return (
@@ -22,7 +22,7 @@ export function Footer() {
22
  className="md:col-span-2"
23
  >
24
  <Link href="/" className="flex items-center gap-3 mb-4">
25
- <Image src="/logo.png" alt="تبيان" width={52} height={52} className="object-contain drop-shadow-md" />
26
  <span className="text-2xl font-bold text-foreground">تبيان</span>
27
  </Link>
28
  <p className="text-muted-foreground leading-relaxed max-w-sm mb-6">
 
1
  "use client"
2
 
3
  import { motion } from "framer-motion"
 
4
  import Link from "next/link"
5
+ import { LOGO_SRC } from "@/lib/logo"
6
 
7
  export function Footer() {
8
  return (
 
22
  className="md:col-span-2"
23
  >
24
  <Link href="/" className="flex items-center gap-3 mb-4">
25
+ <img src={LOGO_SRC} alt="تبيان" width={52} height={52} className="object-contain drop-shadow-md" />
26
  <span className="text-2xl font-bold text-foreground">تبيان</span>
27
  </Link>
28
  <p className="text-muted-foreground leading-relaxed max-w-sm mb-6">
frontend/components/header.tsx CHANGED
@@ -3,8 +3,8 @@
3
  import { useState, useEffect } from "react"
4
  import { motion, AnimatePresence } from "framer-motion"
5
  import Link from "next/link"
6
- import Image from "next/image"
7
  import { useAuth } from "@/lib/auth-context"
 
8
  import { UserMenu, MobileSignOut } from "@/components/auth/user-menu"
9
  import { AuthModal } from "@/components/auth/auth-modal"
10
 
@@ -47,7 +47,7 @@ export function Header({ darkMode, toggleDark }: HeaderProps) {
47
  {/* Logo */}
48
  <Link href="/" className="flex items-center gap-3 group">
49
  <motion.div whileHover={{ scale: 1.05 }} whileTap={{ scale: 0.95 }}>
50
- <Image src="/logo.png" alt="تبيان" width={52} height={52} className="object-contain drop-shadow-md" />
51
  </motion.div>
52
  <span className="text-2xl font-bold text-foreground">تبيان</span>
53
  </Link>
 
3
  import { useState, useEffect } from "react"
4
  import { motion, AnimatePresence } from "framer-motion"
5
  import Link from "next/link"
 
6
  import { useAuth } from "@/lib/auth-context"
7
+ import { LOGO_SRC } from "@/lib/logo"
8
  import { UserMenu, MobileSignOut } from "@/components/auth/user-menu"
9
  import { AuthModal } from "@/components/auth/auth-modal"
10
 
 
47
  {/* Logo */}
48
  <Link href="/" className="flex items-center gap-3 group">
49
  <motion.div whileHover={{ scale: 1.05 }} whileTap={{ scale: 0.95 }}>
50
+ <img src={LOGO_SRC} alt="تبيان" width={52} height={52} className="object-contain drop-shadow-md" />
51
  </motion.div>
52
  <span className="text-2xl font-bold text-foreground">تبيان</span>
53
  </Link>
frontend/lib/logo.ts ADDED
The diff for this file is too large to render. See raw diff