mirror of
https://github.com/sct/overseerr.git
synced 2025-09-17 17:24:35 +02:00
@@ -4,11 +4,13 @@ import React, {
|
|||||||
HTMLAttributes,
|
HTMLAttributes,
|
||||||
ForwardRefRenderFunction,
|
ForwardRefRenderFunction,
|
||||||
} from 'react';
|
} from 'react';
|
||||||
|
import Image from 'next/image';
|
||||||
|
|
||||||
interface ImageFaderProps extends HTMLAttributes<HTMLDivElement> {
|
interface ImageFaderProps extends HTMLAttributes<HTMLDivElement> {
|
||||||
backgroundImages: string[];
|
backgroundImages: string[];
|
||||||
rotationSpeed?: number;
|
rotationSpeed?: number;
|
||||||
isDarker?: boolean;
|
isDarker?: boolean;
|
||||||
|
useImage?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const DEFAULT_ROTATION_SPEED = 6000;
|
const DEFAULT_ROTATION_SPEED = 6000;
|
||||||
@@ -18,6 +20,7 @@ const ImageFader: ForwardRefRenderFunction<HTMLDivElement, ImageFaderProps> = (
|
|||||||
backgroundImages,
|
backgroundImages,
|
||||||
rotationSpeed = DEFAULT_ROTATION_SPEED,
|
rotationSpeed = DEFAULT_ROTATION_SPEED,
|
||||||
isDarker,
|
isDarker,
|
||||||
|
useImage,
|
||||||
...props
|
...props
|
||||||
},
|
},
|
||||||
ref
|
ref
|
||||||
@@ -52,10 +55,29 @@ const ImageFader: ForwardRefRenderFunction<HTMLDivElement, ImageFaderProps> = (
|
|||||||
i === activeIndex ? 'opacity-100' : 'opacity-0'
|
i === activeIndex ? 'opacity-100' : 'opacity-0'
|
||||||
}`}
|
}`}
|
||||||
style={{
|
style={{
|
||||||
backgroundImage: `${gradient}, url(${imageUrl})`,
|
backgroundImage: !useImage
|
||||||
|
? `${gradient}, url(${imageUrl})`
|
||||||
|
: undefined,
|
||||||
}}
|
}}
|
||||||
{...props}
|
{...props}
|
||||||
/>
|
>
|
||||||
|
{useImage && (
|
||||||
|
<>
|
||||||
|
<Image
|
||||||
|
className="absolute inset-0 w-full h-full"
|
||||||
|
alt=""
|
||||||
|
src={imageUrl}
|
||||||
|
layout="fill"
|
||||||
|
objectFit="cover"
|
||||||
|
quality={100}
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
className="absolute inset-0"
|
||||||
|
style={{ backgroundImage: gradient }}
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@@ -63,6 +63,7 @@ const Login: React.FC = () => {
|
|||||||
<div className="relative flex flex-col min-h-screen bg-gray-900 py-14">
|
<div className="relative flex flex-col min-h-screen bg-gray-900 py-14">
|
||||||
<PageTitle title={intl.formatMessage(messages.signin)} />
|
<PageTitle title={intl.formatMessage(messages.signin)} />
|
||||||
<ImageFader
|
<ImageFader
|
||||||
|
useImage
|
||||||
backgroundImages={[
|
backgroundImages={[
|
||||||
'/images/rotate1.jpg',
|
'/images/rotate1.jpg',
|
||||||
'/images/rotate2.jpg',
|
'/images/rotate2.jpg',
|
||||||
|
Reference in New Issue
Block a user