feat: add image optimization settings and clean up hover card component
All checks were successful
container-scan / Container Scan (pull_request) Successful in 2m25s
docker-build / docker (pull_request) Successful in 3m23s

This commit is contained in:
Maximilian Liebmann 2025-05-10 00:39:27 +02:00
parent 28278274e5
commit 08b5308e80
3 changed files with 24 additions and 15 deletions

View file

@ -2,6 +2,16 @@ import type { NextConfig } from 'next';
const nextConfig: NextConfig = { const nextConfig: NextConfig = {
output: 'standalone', output: 'standalone',
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'img1.wikia.nocookie.net',
port: '',
pathname: '/**',
},
],
},
}; };
export default nextConfig; export default nextConfig;

View file

@ -48,7 +48,6 @@ export default async function LoginPage() {
width='150' width='150'
height='150' height='150'
alt='dancing penguin' alt='dancing penguin'
unoptimized={true}
></Image> ></Image>
</HoverCardContent> </HoverCardContent>
</HoverCard> </HoverCard>

View file

@ -1,44 +1,44 @@
"use client" 'use client';
import * as React from "react" import * as React from 'react';
import * as HoverCardPrimitive from "@radix-ui/react-hover-card" import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
import { cn } from "@/lib/utils" import { cn } from '@/lib/utils';
function HoverCard({ function HoverCard({
...props ...props
}: React.ComponentProps<typeof HoverCardPrimitive.Root>) { }: React.ComponentProps<typeof HoverCardPrimitive.Root>) {
return <HoverCardPrimitive.Root data-slot="hover-card" {...props} /> return <HoverCardPrimitive.Root data-slot='hover-card' {...props} />;
} }
function HoverCardTrigger({ function HoverCardTrigger({
...props ...props
}: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) { }: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {
return ( return (
<HoverCardPrimitive.Trigger data-slot="hover-card-trigger" {...props} /> <HoverCardPrimitive.Trigger data-slot='hover-card-trigger' {...props} />
) );
} }
function HoverCardContent({ function HoverCardContent({
className, className,
align = "center", align = 'center',
sideOffset = 4, sideOffset = 4,
...props ...props
}: React.ComponentProps<typeof HoverCardPrimitive.Content>) { }: React.ComponentProps<typeof HoverCardPrimitive.Content>) {
return ( return (
<HoverCardPrimitive.Portal data-slot="hover-card-portal"> <HoverCardPrimitive.Portal data-slot='hover-card-portal'>
<HoverCardPrimitive.Content <HoverCardPrimitive.Content
data-slot="hover-card-content" data-slot='hover-card-content'
align={align} align={align}
sideOffset={sideOffset} sideOffset={sideOffset}
className={cn( className={cn(
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden", 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',
className className,
)} )}
{...props} {...props}
/> />
</HoverCardPrimitive.Portal> </HoverCardPrimitive.Portal>
) );
} }
export { HoverCard, HoverCardTrigger, HoverCardContent } export { HoverCard, HoverCardTrigger, HoverCardContent };