feat: add RocketIcon to Header component and update metadata with application icon

This commit is contained in:
Julien Froidefond
2026-02-16 11:44:41 +01:00
parent 390c4c653e
commit 7805e8dcd0
5 changed files with 35 additions and 2 deletions

6
public/icon.svg Normal file
View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="#0891b2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z" />
<path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z" />
<path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0" />
<path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5" />
</svg>

After

Width:  |  Height:  |  Size: 486 B

View File

@@ -16,6 +16,9 @@ const geistMono = Geist_Mono({
export const metadata: Metadata = {
title: 'Workshop Manager',
description: "Application de gestion d'ateliers SWOT pour entretiens managériaux",
icons: {
icon: '/icon.svg',
},
};
export default function RootLayout({

View File

@@ -5,7 +5,7 @@ import { usePathname } from 'next/navigation';
import { useSession, signOut } from 'next-auth/react';
import { useTheme } from '@/contexts/ThemeContext';
import { useState } from 'react';
import { Avatar } from '@/components/ui';
import { Avatar, RocketIcon } from '@/components/ui';
export function Header() {
const { theme, toggleTheme } = useTheme();
@@ -20,7 +20,7 @@ export function Header() {
<header className="sticky top-0 z-50 border-b border-border bg-card/80 backdrop-blur-sm">
<div className="mx-auto flex h-16 max-w-7xl items-center justify-between px-4">
<Link href="/" className="flex items-center gap-2">
<span className="text-2xl">🚀</span>
<RocketIcon className="h-7 w-7 shrink-0 text-primary" />
<span className="text-xl font-bold text-foreground">Workshop Manager</span>
</Link>

View File

@@ -0,0 +1,23 @@
import { SVGProps } from 'react';
export function RocketIcon({ className, ...props }: SVGProps<SVGSVGElement>) {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
className={className}
aria-hidden
{...props}
>
<path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z" />
<path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z" />
<path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0" />
<path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5" />
</svg>
);
}

View File

@@ -11,6 +11,7 @@ export { EditableWeeklyCheckInTitle } from './EditableWeeklyCheckInTitle';
export { EditableWeatherTitle } from './EditableWeatherTitle';
export { Input } from './Input';
export { Modal, ModalFooter } from './Modal';
export { RocketIcon } from './RocketIcon';
export { Select } from './Select';
export { Textarea } from './Textarea';
export { ToggleGroup } from './ToggleGroup';