28 lines
681 B
TypeScript
28 lines
681 B
TypeScript
import { ImgHTMLAttributes } from 'react';
|
||
import { usePage } from '@inertiajs/react';
|
||
import { PageProps } from '@/types/global';
|
||
|
||
export default function ApplicationLogo(props: ImgHTMLAttributes<HTMLImageElement>) {
|
||
const { branding } = usePage<PageProps>().props;
|
||
|
||
// 如果有自訂 Logo,優先使用
|
||
if (branding?.logo_url) {
|
||
return (
|
||
<img
|
||
{...props}
|
||
src={branding.logo_url}
|
||
alt="Logo"
|
||
/>
|
||
);
|
||
}
|
||
|
||
// 預設 Logo
|
||
return (
|
||
<img
|
||
{...props}
|
||
src="/logo.png"
|
||
alt={`${branding?.short_name || 'Star'} Logo`}
|
||
/>
|
||
);
|
||
}
|