diff --git a/src/photo/PhotoLarge.tsx b/src/photo/PhotoLarge.tsx index c76f77cc..95cfd16e 100644 --- a/src/photo/PhotoLarge.tsx +++ b/src/photo/PhotoLarge.tsx @@ -40,7 +40,6 @@ import { LuExpand } from 'react-icons/lu'; import LoaderButton from '@/components/primitives/LoaderButton'; import Tooltip from '@/components/Tooltip'; import ZoomControls, { ZoomControlsRef } from '@/components/image/ZoomControls'; -import PhotoRecipe from './PhotoRecipe'; export default function PhotoLarge({ photo, @@ -276,15 +275,11 @@ export default function PhotoLarge({
  • {photo.exposureCompensationFormatted ?? '0ev'}
  • {showSimulation && photo.filmSimulation && - - : undefined - }> - - } + } }
    -
    - Fujifilm Recipe -
    +} }: { recipe: FujifilmRecipe }) { + return
    {dynamicRange !== undefined && <> diff --git a/src/simulation/PhotoFilmSimulation.tsx b/src/simulation/PhotoFilmSimulation.tsx index e1e9139a..7c3bda3a 100644 --- a/src/simulation/PhotoFilmSimulation.tsx +++ b/src/simulation/PhotoFilmSimulation.tsx @@ -1,11 +1,18 @@ +'use client'; + import { labelForFilmSimulation } from '@/platforms/fujifilm/simulation'; import PhotoFilmSimulationIcon from './PhotoFilmSimulationIcon'; import { pathForFilmSimulation } from '@/app/paths'; import { FilmSimulation } from '.'; +import { FujifilmRecipe } from '@/platforms/fujifilm/recipe'; import EntityLink, { EntityLinkExternalProps, } from '@/components/primitives/EntityLink'; - +import { LuChevronsUpDown } from 'react-icons/lu'; +import clsx from 'clsx'; +import { useState } from 'react'; +import PhotoRecipe from '@/photo/PhotoRecipe'; +import Tooltip from '@/components/Tooltip'; export default function PhotoFilmSimulation({ simulation, type = 'icon-last', @@ -13,25 +20,48 @@ export default function PhotoFilmSimulation({ contrast = 'low', prefetch, countOnHover, + recipe, }: { simulation: FilmSimulation countOnHover?: number + recipe?: FujifilmRecipe } & EntityLinkExternalProps) { const { small, medium, large } = labelForFilmSimulation(simulation); + const [shouldShowRecipe, setShouldShowRecipe] = useState(false); + return ( - } - title={`Film Simulation: ${large}`} - type={type} - badged={badged} - contrast={contrast} - prefetch={prefetch} - hoverEntity={countOnHover} - iconWide - /> +
    +
    + } + title={`Film Simulation: ${large}`} + type={type} + badged={badged} + contrast={contrast} + prefetch={prefetch} + hoverEntity={countOnHover} + iconWide + /> + {recipe && + + + } +
    + {recipe && shouldShowRecipe && + } +
    ); }