mirror of
https://github.com/yusufipk/RepoHub.git
synced 2026-09-11 10:36:07 +00:00
feat: Add favicon and logo, update header to use the new logo, and configure app icons.
This commit is contained in:
@@ -8,6 +8,11 @@ const inter = Inter({ subsets: ['latin'] })
|
|||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: 'RepoHub - Cross-Platform Package Manager',
|
title: 'RepoHub - Cross-Platform Package Manager',
|
||||||
description: 'Simplify software installation across Linux, Windows, and macOS with official repositories',
|
description: 'Simplify software installation across Linux, Windows, and macOS with official repositories',
|
||||||
|
icons: {
|
||||||
|
icon: '/logo.png',
|
||||||
|
shortcut: '/logo.png',
|
||||||
|
apple: '/logo.png',
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
|
|||||||
+49
-43
@@ -6,6 +6,7 @@ import { useTheme } from '@/hooks/useTheme'
|
|||||||
import { useLocale } from '@/contexts/LocaleContext'
|
import { useLocale } from '@/contexts/LocaleContext'
|
||||||
import { SupportModal } from '@/components/SupportModal'
|
import { SupportModal } from '@/components/SupportModal'
|
||||||
import { Sun, Moon, Monitor, Globe, Heart } from 'lucide-react'
|
import { Sun, Moon, Monitor, Globe, Heart } from 'lucide-react'
|
||||||
|
import Image from 'next/image'
|
||||||
|
|
||||||
export function Header() {
|
export function Header() {
|
||||||
const { theme, isDark, toggleTheme } = useTheme()
|
const { theme, isDark, toggleTheme } = useTheme()
|
||||||
@@ -53,60 +54,65 @@ export function Header() {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<header className="sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60">
|
<header className="sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60">
|
||||||
<div className="container flex h-14 items-center justify-between">
|
<div className="container flex h-14 items-center justify-between">
|
||||||
<div className="flex items-center space-x-2">
|
<div className="flex items-center space-x-1">
|
||||||
<div className="flex h-8 w-8 items-center justify-center rounded-lg bg-primary text-primary-foreground">
|
<div className="relative h-12 w-12">
|
||||||
<span className="text-sm font-bold">RH</span>
|
<Image
|
||||||
|
src="/logo.png"
|
||||||
|
alt="RepoHub Logo"
|
||||||
|
fill
|
||||||
|
className="object-contain"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<span className="hidden font-bold sm:inline-block">
|
||||||
|
RepoHub
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<span className="hidden font-bold sm:inline-block">
|
|
||||||
RepoHub
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="flex items-center space-x-2">
|
<div className="flex items-center space-x-2">
|
||||||
{/* Support Button - Only show when Cryptomus is enabled */}
|
{/* Support Button - Only show when Cryptomus is enabled */}
|
||||||
{cryptomusEnabled && (
|
{cryptomusEnabled && (
|
||||||
|
<Button
|
||||||
|
variant="ghost"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => setIsSupportModalOpen(true)}
|
||||||
|
className="w-full justify-start text-red-600 hover:text-red-700 hover:bg-red-50 dark:hover:bg-red-950/20"
|
||||||
|
>
|
||||||
|
<Heart className="h-4 w-4" />
|
||||||
|
<span className="ml-2 hidden sm:inline">
|
||||||
|
{t('support.title')}
|
||||||
|
</span>
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
|
|
||||||
|
{/* Theme Toggle */}
|
||||||
<Button
|
<Button
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
size="sm"
|
size="sm"
|
||||||
onClick={() => setIsSupportModalOpen(true)}
|
onClick={toggleTheme}
|
||||||
className="w-full justify-start text-red-600 hover:text-red-700 hover:bg-red-50 dark:hover:bg-red-950/20"
|
className="w-full justify-start"
|
||||||
>
|
>
|
||||||
<Heart className="h-4 w-4" />
|
{getThemeIcon()}
|
||||||
<span className="ml-2 hidden sm:inline">
|
<span className="ml-2 hidden sm:inline">
|
||||||
{t('support.title')}
|
{getThemeLabel()}
|
||||||
</span>
|
</span>
|
||||||
</Button>
|
</Button>
|
||||||
)}
|
|
||||||
|
|
||||||
{/* Theme Toggle */}
|
{/* Language Toggle */}
|
||||||
<Button
|
<Button
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
size="sm"
|
size="sm"
|
||||||
onClick={toggleTheme}
|
onClick={toggleLocale}
|
||||||
className="w-full justify-start"
|
className="w-full justify-start"
|
||||||
>
|
>
|
||||||
{getThemeIcon()}
|
<Globe className="h-4 w-4" />
|
||||||
<span className="ml-2 hidden sm:inline">
|
<span className="ml-2 hidden sm:inline">
|
||||||
{getThemeLabel()}
|
{locale === 'tr' ? 'TR' : 'EN'}
|
||||||
</span>
|
</span>
|
||||||
</Button>
|
</Button>
|
||||||
|
</div>
|
||||||
{/* Language Toggle */}
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
size="sm"
|
|
||||||
onClick={toggleLocale}
|
|
||||||
className="w-full justify-start"
|
|
||||||
>
|
|
||||||
<Globe className="h-4 w-4" />
|
|
||||||
<span className="ml-2 hidden sm:inline">
|
|
||||||
{locale === 'tr' ? 'TR' : 'EN'}
|
|
||||||
</span>
|
|
||||||
</Button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</header>
|
||||||
</header>
|
|
||||||
|
|
||||||
{/* Support Modal */}
|
{/* Support Modal */}
|
||||||
<SupportModal
|
<SupportModal
|
||||||
|
|||||||
Reference in New Issue
Block a user