feat: implementa sistema de logotipo dinâmico
- Adiciona campo 'logo' ao modelo Settings no Prisma - Atualiza API /api/settings para lidar com upload de logo - Cria aba Logotipo funcional no admin com upload de imagem - Atualiza Header para exibir logo dinâmico (fallback para ícone) - Atualiza Footer para exibir logo dinâmico - Atualiza Admin Layout para exibir logo dinâmico - Logo é atualizado em tempo real via evento settings:refresh
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
import { useEffect, useState } from 'react';
|
||||
import Link from 'next/link';
|
||||
import Image from 'next/image';
|
||||
import { useLocale } from '@/contexts/LocaleContext';
|
||||
import { PartnerBadge } from './PartnerBadge';
|
||||
|
||||
@@ -13,6 +14,7 @@ type ContactSettings = {
|
||||
linkedin?: string | null;
|
||||
facebook?: string | null;
|
||||
whatsapp?: string | null;
|
||||
logo?: string | null;
|
||||
};
|
||||
|
||||
export default function Footer() {
|
||||
@@ -35,7 +37,8 @@ export default function Footer() {
|
||||
instagram: data.instagram,
|
||||
linkedin: data.linkedin,
|
||||
facebook: data.facebook,
|
||||
whatsapp: data.whatsapp
|
||||
whatsapp: data.whatsapp,
|
||||
logo: data.logo
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
@@ -58,7 +61,18 @@ export default function Footer() {
|
||||
{/* Brand */}
|
||||
<div className="col-span-1 md:col-span-1">
|
||||
<div className="flex items-center gap-2 mb-6">
|
||||
<i className="ri-building-2-fill text-4xl text-primary"></i>
|
||||
{contact.logo ? (
|
||||
<Image
|
||||
src={contact.logo}
|
||||
alt="Logo"
|
||||
width={40}
|
||||
height={40}
|
||||
className="object-contain"
|
||||
unoptimized
|
||||
/>
|
||||
) : (
|
||||
<i className="ri-building-2-fill text-4xl text-primary"></i>
|
||||
)}
|
||||
<div className="flex items-center gap-2">
|
||||
<span className="text-2xl font-bold font-headline">OCCTO</span>
|
||||
<span className="text-[10px] font-bold text-primary bg-white/10 px-2 py-1 rounded-md uppercase tracking-wider">ENG.</span>
|
||||
|
||||
Reference in New Issue
Block a user