Vercel/src/share/ShareModals.tsx
2025-03-29 22:40:44 -05:00

54 lines
1.4 KiB
TypeScript

'use client';
import PhotoShareModal from '@/photo/PhotoShareModal';
import TagShareModal from '@/tag/TagShareModal';
import CameraShareModal from '@/camera/CameraShareModal';
import FilmShareModal from '@/film/FilmShareModal';
import FocalLengthShareModal from '@/focal/FocalLengthShareModal';
import { useAppState } from '@/state/AppState';
import RecipeShareModal from '@/recipe/RecipeShareModal';
import LensShareModal from '@/lens/LensShareModal';
export default function ShareModals() {
const { shareModalProps = {} } = useAppState();
const {
photo,
photos,
count,
dateRange,
camera,
lens,
tag,
simulation,
recipe,
focal,
} = shareModalProps;
if (photo) {
return <PhotoShareModal {...{
photo,
tag,
camera,
simulation,
recipe,
focal,
}} />;
} else if (photos) {
const attributes = {photos, count, dateRange};
if (tag) {
return <TagShareModal {...{ tag, ...attributes }} />;
} else if (camera) {
return <CameraShareModal {...{ camera, ...attributes }} />;
} else if (lens) {
return <LensShareModal {...{ lens, ...attributes }} />;
} else if (simulation) {
return <FilmShareModal {...{ simulation, ...attributes }} />;
} else if (recipe) {
return <RecipeShareModal {...{ recipe, ...attributes }} />;
} else if (focal !== undefined) {
return <FocalLengthShareModal {...{ focal, ...attributes }} />;
}
}
}