Create top-level category directory
This commit is contained in:
parent
e317d44593
commit
e3a39b1a3f
@ -1,7 +1,7 @@
|
|||||||
import {
|
import {
|
||||||
DEFAULT_CATEGORY_KEYS,
|
DEFAULT_CATEGORY_KEYS,
|
||||||
getOrderedCategoriesFromString,
|
getOrderedCategoriesFromString,
|
||||||
} from '@/photo/set';
|
} from '@/category/set';
|
||||||
|
|
||||||
describe('set', () => {
|
describe('set', () => {
|
||||||
it('parses from string', () => {
|
it('parses from string', () => {
|
||||||
|
|||||||
@ -11,7 +11,7 @@ import { ImageResponse } from 'next/og';
|
|||||||
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
|
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
|
||||||
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
||||||
import { getUniqueFilmSimulations } from '@/photo/db/query';
|
import { getUniqueFilmSimulations } from '@/photo/db/query';
|
||||||
import { shouldGenerateStaticParamsForCategory } from '@/photo/set';
|
import { shouldGenerateStaticParamsForCategory } from '@/category/set';
|
||||||
|
|
||||||
export let generateStaticParams:
|
export let generateStaticParams:
|
||||||
(() => Promise<{ simulation: FilmSimulation }[]>) | undefined = undefined;
|
(() => Promise<{ simulation: FilmSimulation }[]>) | undefined = undefined;
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import { Metadata } from 'next/types';
|
|||||||
import { cache } from 'react';
|
import { cache } from 'react';
|
||||||
import { PATH_ROOT } from '@/app/paths';
|
import { PATH_ROOT } from '@/app/paths';
|
||||||
import { redirect } from 'next/navigation';
|
import { redirect } from 'next/navigation';
|
||||||
import { shouldGenerateStaticParamsForCategory } from '@/photo/set';
|
import { shouldGenerateStaticParamsForCategory } from '@/category/set';
|
||||||
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
||||||
const getPhotosFilmSimulationDataCachedCached =
|
const getPhotosFilmSimulationDataCachedCached =
|
||||||
cache(getPhotosFilmSimulationDataCached);
|
cache(getPhotosFilmSimulationDataCached);
|
||||||
|
|||||||
@ -11,7 +11,7 @@ import FocalLengthImageResponse from
|
|||||||
import { formatFocalLength, getFocalLengthFromString } from '@/focal';
|
import { formatFocalLength, getFocalLengthFromString } from '@/focal';
|
||||||
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
||||||
import { getUniqueFocalLengths } from '@/photo/db/query';
|
import { getUniqueFocalLengths } from '@/photo/db/query';
|
||||||
import { shouldGenerateStaticParamsForCategory } from '@/photo/set';
|
import { shouldGenerateStaticParamsForCategory } from '@/category/set';
|
||||||
|
|
||||||
export let generateStaticParams:
|
export let generateStaticParams:
|
||||||
(() => Promise<{ focal: string }[]>) | undefined = undefined;
|
(() => Promise<{ focal: string }[]>) | undefined = undefined;
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import { PATH_ROOT } from '@/app/paths';
|
|||||||
import type { Metadata } from 'next';
|
import type { Metadata } from 'next';
|
||||||
import { redirect } from 'next/navigation';
|
import { redirect } from 'next/navigation';
|
||||||
import { cache } from 'react';
|
import { cache } from 'react';
|
||||||
import { shouldGenerateStaticParamsForCategory } from '@/photo/set';
|
import { shouldGenerateStaticParamsForCategory } from '@/category/set';
|
||||||
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
||||||
|
|
||||||
const getPhotosFocalDataCachedCached = cache((focal: number) =>
|
const getPhotosFocalDataCachedCached = cache((focal: number) =>
|
||||||
|
|||||||
@ -15,7 +15,7 @@ import {
|
|||||||
safelyGenerateLensStaticParams,
|
safelyGenerateLensStaticParams,
|
||||||
} from '@/lens';
|
} from '@/lens';
|
||||||
import LensImageResponse from '@/image-response/LensImageResponse';
|
import LensImageResponse from '@/image-response/LensImageResponse';
|
||||||
import { shouldGenerateStaticParamsForCategory } from '@/photo/set';
|
import { shouldGenerateStaticParamsForCategory } from '@/category/set';
|
||||||
|
|
||||||
export let generateStaticParams:
|
export let generateStaticParams:
|
||||||
(() => Promise<Lens[]>) | undefined = undefined;
|
(() => Promise<Lens[]>) | undefined = undefined;
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import {
|
|||||||
safelyGenerateLensStaticParams,
|
safelyGenerateLensStaticParams,
|
||||||
} from '@/lens';
|
} from '@/lens';
|
||||||
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
||||||
import { shouldGenerateStaticParamsForCategory } from '@/photo/set';
|
import { shouldGenerateStaticParamsForCategory } from '@/category/set';
|
||||||
|
|
||||||
const getPhotosLensDataCachedCached = cache((
|
const getPhotosLensDataCachedCached = cache((
|
||||||
make: string | undefined,
|
make: string | undefined,
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
|
|||||||
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
||||||
import { getUniqueRecipes } from '@/photo/db/query';
|
import { getUniqueRecipes } from '@/photo/db/query';
|
||||||
import RecipeImageResponse from '@/image-response/RecipeImageResponse';
|
import RecipeImageResponse from '@/image-response/RecipeImageResponse';
|
||||||
import { shouldGenerateStaticParamsForCategory } from '@/photo/set';
|
import { shouldGenerateStaticParamsForCategory } from '@/category/set';
|
||||||
|
|
||||||
export let generateStaticParams:
|
export let generateStaticParams:
|
||||||
(() => Promise<{ recipe: string }[]>) | undefined = undefined;
|
(() => Promise<{ recipe: string }[]>) | undefined = undefined;
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import { cache } from 'react';
|
|||||||
import { generateMetaForRecipe } from '@/recipe';
|
import { generateMetaForRecipe } from '@/recipe';
|
||||||
import RecipeOverview from '@/recipe/RecipeOverview';
|
import RecipeOverview from '@/recipe/RecipeOverview';
|
||||||
import { getPhotosRecipeDataCached } from '@/recipe/data';
|
import { getPhotosRecipeDataCached } from '@/recipe/data';
|
||||||
import { shouldGenerateStaticParamsForCategory } from '@/photo/set';
|
import { shouldGenerateStaticParamsForCategory } from '@/category/set';
|
||||||
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
||||||
|
|
||||||
const getPhotosRecipeDataCachedCached = cache(getPhotosRecipeDataCached);
|
const getPhotosRecipeDataCachedCached = cache(getPhotosRecipeDataCached);
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import { ImageResponse } from 'next/og';
|
|||||||
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
|
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
|
||||||
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
||||||
import { getUniqueCameras } from '@/photo/db/query';
|
import { getUniqueCameras } from '@/photo/db/query';
|
||||||
import { shouldGenerateStaticParamsForCategory } from '@/photo/set';
|
import { shouldGenerateStaticParamsForCategory } from '@/category/set';
|
||||||
|
|
||||||
export let generateStaticParams:
|
export let generateStaticParams:
|
||||||
(() => Promise<{ camera: Camera }[]>) | undefined = undefined;
|
(() => Promise<{ camera: Camera }[]>) | undefined = undefined;
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import { getPhotosCameraDataCached } from '@/camera/data';
|
|||||||
import CameraOverview from '@/camera/CameraOverview';
|
import CameraOverview from '@/camera/CameraOverview';
|
||||||
import { cache } from 'react';
|
import { cache } from 'react';
|
||||||
import { getUniqueCameras } from '@/photo/db/query';
|
import { getUniqueCameras } from '@/photo/db/query';
|
||||||
import { shouldGenerateStaticParamsForCategory } from '@/photo/set';
|
import { shouldGenerateStaticParamsForCategory } from '@/category/set';
|
||||||
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
||||||
|
|
||||||
const getPhotosCameraDataCachedCached = cache((
|
const getPhotosCameraDataCachedCached = cache((
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import { ImageResponse } from 'next/og';
|
|||||||
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
|
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
|
||||||
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
||||||
import { getUniqueTags } from '@/photo/db/query';
|
import { getUniqueTags } from '@/photo/db/query';
|
||||||
import { shouldGenerateStaticParamsForCategory } from '@/photo/set';
|
import { shouldGenerateStaticParamsForCategory } from '@/category/set';
|
||||||
|
|
||||||
export let generateStaticParams:
|
export let generateStaticParams:
|
||||||
(() => Promise<{ tag: string }[]>) | undefined = undefined;
|
(() => Promise<{ tag: string }[]>) | undefined = undefined;
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import { getPhotosTagDataCached } from '@/tag/data';
|
|||||||
import type { Metadata } from 'next';
|
import type { Metadata } from 'next';
|
||||||
import { redirect } from 'next/navigation';
|
import { redirect } from 'next/navigation';
|
||||||
import { cache } from 'react';
|
import { cache } from 'react';
|
||||||
import { shouldGenerateStaticParamsForCategory } from '@/photo/set';
|
import { shouldGenerateStaticParamsForCategory } from '@/category/set';
|
||||||
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
|
||||||
|
|
||||||
const getPhotosTagDataCachedCached = cache((tag: string) =>
|
const getPhotosTagDataCachedCached = cache((tag: string) =>
|
||||||
|
|||||||
@ -30,7 +30,7 @@ import EnvVar from '@/components/EnvVar';
|
|||||||
import AdminLink from './AdminLink';
|
import AdminLink from './AdminLink';
|
||||||
import ScoreCardContainer from '@/components/ScoreCardContainer';
|
import ScoreCardContainer from '@/components/ScoreCardContainer';
|
||||||
import { capitalize, deparameterize } from '@/utility/string';
|
import { capitalize, deparameterize } from '@/utility/string';
|
||||||
import { DEFAULT_CATEGORY_KEYS, getHiddenCategories } from '@/photo/set';
|
import { DEFAULT_CATEGORY_KEYS, getHiddenCategories } from '@/category/set';
|
||||||
|
|
||||||
export default function AdminAppConfigurationClient({
|
export default function AdminAppConfigurationClient({
|
||||||
// Storage
|
// Storage
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import {
|
|||||||
AI_AUTO_GENERATED_FIELDS_DEFAULT,
|
AI_AUTO_GENERATED_FIELDS_DEFAULT,
|
||||||
parseAiAutoGeneratedFieldsString,
|
parseAiAutoGeneratedFieldsString,
|
||||||
} from '@/photo/ai';
|
} from '@/photo/ai';
|
||||||
import { getOrderedCategoriesFromString } from '@/photo/set';
|
import { getOrderedCategoriesFromString } from '@/category/set';
|
||||||
import type { StorageType } from '@/platforms/storage';
|
import type { StorageType } from '@/platforms/storage';
|
||||||
import { makeUrlAbsolute, shortenUrl } from '@/utility/url';
|
import { makeUrlAbsolute, shortenUrl } from '@/utility/url';
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { Photo } from '@/photo';
|
import { Photo } from '@/photo';
|
||||||
import { PhotoSetCategory } from '@/photo/set';
|
import { PhotoSetCategory } from '@/category/set';
|
||||||
import { BASE_URL, GRID_HOMEPAGE_ENABLED } from './config';
|
import { BASE_URL, GRID_HOMEPAGE_ENABLED } from './config';
|
||||||
import { Camera } from '@/camera';
|
import { Camera } from '@/camera';
|
||||||
import { FilmSimulation } from '@/simulation';
|
import { FilmSimulation } from '@/simulation';
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { absolutePathForCamera } from '@/app/paths';
|
import { absolutePathForCamera } from '@/app/paths';
|
||||||
import { PhotoSetAttributes } from '../photo/set';
|
import { PhotoSetAttributes } from '../category/set';
|
||||||
import ShareModal from '@/share/ShareModal';
|
import ShareModal from '@/share/ShareModal';
|
||||||
import CameraOGTile from './CameraOGTile';
|
import CameraOGTile from './CameraOGTile';
|
||||||
import { Camera } from '.';
|
import { Camera } from '.';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { Photo } from '.';
|
import { Photo } from '../photo';
|
||||||
import { Camera, Cameras } from '@/camera';
|
import { Camera, Cameras } from '@/camera';
|
||||||
import { PhotoDateRange } from '.';
|
import { PhotoDateRange } from '../photo';
|
||||||
import { FilmSimulation, FilmSimulations } from '@/simulation';
|
import { FilmSimulation, FilmSimulations } from '@/simulation';
|
||||||
import { Lens, Lenses } from '@/lens';
|
import { Lens, Lenses } from '@/lens';
|
||||||
import { Tags } from '@/tag';
|
import { Tags } from '@/tag';
|
||||||
@ -56,7 +56,7 @@ import { CATEGORY_VISIBILITY, GRID_HOMEPAGE_ENABLED } from '@/app/config';
|
|||||||
import { DialogDescription, DialogTitle } from '@radix-ui/react-dialog';
|
import { DialogDescription, DialogTitle } from '@radix-ui/react-dialog';
|
||||||
import * as VisuallyHidden from '@radix-ui/react-visually-hidden';
|
import * as VisuallyHidden from '@radix-ui/react-visually-hidden';
|
||||||
import InsightsIndicatorDot from '@/admin/insights/InsightsIndicatorDot';
|
import InsightsIndicatorDot from '@/admin/insights/InsightsIndicatorDot';
|
||||||
import { PhotoSetCategories } from '@/photo/set';
|
import { PhotoSetCategories } from '@/category/set';
|
||||||
import { formatCameraText } from '@/camera';
|
import { formatCameraText } from '@/camera';
|
||||||
import { labelForFilmSimulation } from '@/platforms/fujifilm/simulation';
|
import { labelForFilmSimulation } from '@/platforms/fujifilm/simulation';
|
||||||
import { formatFocalLength } from '@/focal';
|
import { formatFocalLength } from '@/focal';
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { absolutePathForFocalLength } from '@/app/paths';
|
import { absolutePathForFocalLength } from '@/app/paths';
|
||||||
import { PhotoSetAttributes } from '../photo/set';
|
import { PhotoSetAttributes } from '../category/set';
|
||||||
import ShareModal from '@/share/ShareModal';
|
import ShareModal from '@/share/ShareModal';
|
||||||
import FocalLengthOGTile from './FocalLengthOGTile';
|
import FocalLengthOGTile from './FocalLengthOGTile';
|
||||||
import { shareTextFocalLength } from '.';
|
import { shareTextFocalLength } from '.';
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { absolutePathForLens } from '@/app/paths';
|
import { absolutePathForLens } from '@/app/paths';
|
||||||
import { PhotoSetAttributes } from '../photo/set';
|
import { PhotoSetAttributes } from '../category/set';
|
||||||
import ShareModal from '@/share/ShareModal';
|
import ShareModal from '@/share/ShareModal';
|
||||||
import { Lens } from '.';
|
import { Lens } from '.';
|
||||||
import { shareTextForLens } from './meta';
|
import { shareTextForLens } from './meta';
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import SiteGrid from '@/components/SiteGrid';
|
|||||||
import Spinner from '@/components/Spinner';
|
import Spinner from '@/components/Spinner';
|
||||||
import { getPhotosCachedAction, getPhotosAction } from '@/photo/actions';
|
import { getPhotosCachedAction, getPhotosAction } from '@/photo/actions';
|
||||||
import { Photo } from '.';
|
import { Photo } from '.';
|
||||||
import { PhotoSetCategory } from './set';
|
import { PhotoSetCategory } from '../category/set';
|
||||||
import { clsx } from 'clsx/lite';
|
import { clsx } from 'clsx/lite';
|
||||||
import { useAppState } from '@/state/AppState';
|
import { useAppState } from '@/state/AppState';
|
||||||
import { GetPhotosOptions } from './db';
|
import { GetPhotosOptions } from './db';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import AnimateItems from '@/components/AnimateItems';
|
import AnimateItems from '@/components/AnimateItems';
|
||||||
import { Photo, PhotoDateRange } from '.';
|
import { Photo, PhotoDateRange } from '.';
|
||||||
import { PhotoSetCategory } from './set';
|
import { PhotoSetCategory } from '../category/set';
|
||||||
import PhotoLarge from './PhotoLarge';
|
import PhotoLarge from './PhotoLarge';
|
||||||
import SiteGrid from '@/components/SiteGrid';
|
import SiteGrid from '@/components/SiteGrid';
|
||||||
import PhotoGrid from './PhotoGrid';
|
import PhotoGrid from './PhotoGrid';
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { Photo } from '.';
|
import { Photo } from '.';
|
||||||
import { PhotoSetCategory } from './set';
|
import { PhotoSetCategory } from '../category/set';
|
||||||
import PhotoMedium from './PhotoMedium';
|
import PhotoMedium from './PhotoMedium';
|
||||||
import { clsx } from 'clsx/lite';
|
import { clsx } from 'clsx/lite';
|
||||||
import AnimateItems from '@/components/AnimateItems';
|
import AnimateItems from '@/components/AnimateItems';
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import {
|
|||||||
dateRangeForPhotos,
|
dateRangeForPhotos,
|
||||||
titleForPhoto,
|
titleForPhoto,
|
||||||
} from '.';
|
} from '.';
|
||||||
import { PhotoSetCategory } from './set';
|
import { PhotoSetCategory } from '../category/set';
|
||||||
import ShareButton from '@/share/ShareButton';
|
import ShareButton from '@/share/ShareButton';
|
||||||
import AnimateItems from '@/components/AnimateItems';
|
import AnimateItems from '@/components/AnimateItems';
|
||||||
import { ReactNode } from 'react';
|
import { ReactNode } from 'react';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { clsx } from 'clsx/lite';
|
import { clsx } from 'clsx/lite';
|
||||||
import { Photo } from '.';
|
import { Photo } from '.';
|
||||||
import { PhotoSetCategory } from './set';
|
import { PhotoSetCategory } from '../category/set';
|
||||||
import PhotoGrid from './PhotoGrid';
|
import PhotoGrid from './PhotoGrid';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import { ReactNode } from 'react';
|
import { ReactNode } from 'react';
|
||||||
import { Photo, titleForPhoto } from '@/photo';
|
import { Photo, titleForPhoto } from '@/photo';
|
||||||
import { PhotoSetCategory } from '@/photo/set';
|
import { PhotoSetCategory } from '@/category/set';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import { AnimationConfig } from '../components/AnimateItems';
|
import { AnimationConfig } from '../components/AnimateItems';
|
||||||
import { useAppState } from '@/state/AppState';
|
import { useAppState } from '@/state/AppState';
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import {
|
|||||||
altTextForPhoto,
|
altTextForPhoto,
|
||||||
doesPhotoNeedBlurCompatibility,
|
doesPhotoNeedBlurCompatibility,
|
||||||
} from '.';
|
} from '.';
|
||||||
import { PhotoSetCategory } from './set';
|
import { PhotoSetCategory } from '../category/set';
|
||||||
import ImageMedium from '@/components/image/ImageMedium';
|
import ImageMedium from '@/components/image/ImageMedium';
|
||||||
import { clsx } from 'clsx/lite';
|
import { clsx } from 'clsx/lite';
|
||||||
import { pathForPhoto } from '@/app/paths';
|
import { pathForPhoto } from '@/app/paths';
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import {
|
|||||||
descriptionForPhoto,
|
descriptionForPhoto,
|
||||||
titleForPhoto,
|
titleForPhoto,
|
||||||
} from '@/photo';
|
} from '@/photo';
|
||||||
import { PhotoSetCategory } from './set';
|
import { PhotoSetCategory } from '../category/set';
|
||||||
import { absolutePathForPhotoImage, pathForPhoto } from '@/app/paths';
|
import { absolutePathForPhotoImage, pathForPhoto } from '@/app/paths';
|
||||||
import OGTile from '@/components/OGTile';
|
import OGTile from '@/components/OGTile';
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import {
|
|||||||
getNextPhoto,
|
getNextPhoto,
|
||||||
getPreviousPhoto,
|
getPreviousPhoto,
|
||||||
} from '@/photo';
|
} from '@/photo';
|
||||||
import { PhotoSetCategory } from './set';
|
import { PhotoSetCategory } from '../category/set';
|
||||||
import PhotoLink from './PhotoLink';
|
import PhotoLink from './PhotoLink';
|
||||||
import { useRouter } from 'next/navigation';
|
import { useRouter } from 'next/navigation';
|
||||||
import { pathForPhoto } from '@/app/paths';
|
import { pathForPhoto } from '@/app/paths';
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import PhotoOGTile from '@/photo/PhotoOGTile';
|
import PhotoOGTile from '@/photo/PhotoOGTile';
|
||||||
import { absolutePathForPhoto } from '@/app/paths';
|
import { absolutePathForPhoto } from '@/app/paths';
|
||||||
import { Photo } from '.';
|
import { Photo } from '.';
|
||||||
import { PhotoSetCategory } from './set';
|
import { PhotoSetCategory } from '../category/set';
|
||||||
import ShareModal from '@/share/ShareModal';
|
import ShareModal from '@/share/ShareModal';
|
||||||
|
|
||||||
export default function PhotoShareModal(
|
export default function PhotoShareModal(
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import {
|
|||||||
altTextForPhoto,
|
altTextForPhoto,
|
||||||
doesPhotoNeedBlurCompatibility,
|
doesPhotoNeedBlurCompatibility,
|
||||||
} from '.';
|
} from '.';
|
||||||
import { PhotoSetCategory } from './set';
|
import { PhotoSetCategory } from '../category/set';
|
||||||
import ImageSmall from '@/components/image/ImageSmall';
|
import ImageSmall from '@/components/image/ImageSmall';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import { clsx } from 'clsx/lite';
|
import { clsx } from 'clsx/lite';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { PRIORITY_ORDER_ENABLED } from '@/app/config';
|
import { PRIORITY_ORDER_ENABLED } from '@/app/config';
|
||||||
import { parameterize } from '@/utility/string';
|
import { parameterize } from '@/utility/string';
|
||||||
import { PhotoSetCategory } from '../set';
|
import { PhotoSetCategory } from '../../category/set';
|
||||||
import { Camera } from '@/camera';
|
import { Camera } from '@/camera';
|
||||||
import { Lens } from '@/lens';
|
import { Lens } from '@/lens';
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { absolutePathForRecipe } from '@/app/paths';
|
import { absolutePathForRecipe } from '@/app/paths';
|
||||||
import { PhotoSetAttributes } from '../photo/set';
|
import { PhotoSetAttributes } from '../category/set';
|
||||||
import ShareModal from '@/share/ShareModal';
|
import ShareModal from '@/share/ShareModal';
|
||||||
import { shareTextForRecipe } from '.';
|
import { shareTextForRecipe } from '.';
|
||||||
import RecipeOGTile from './RecipeOGTile';
|
import RecipeOGTile from './RecipeOGTile';
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { Photo } from '@/photo';
|
import { Photo } from '@/photo';
|
||||||
import { PhotoSetAttributes, PhotoSetCategory } from '@/photo/set';
|
import { PhotoSetAttributes, PhotoSetCategory } from '@/category/set';
|
||||||
import {
|
import {
|
||||||
absolutePathForCameraImage,
|
absolutePathForCameraImage,
|
||||||
absolutePathForFilmSimulationImage,
|
absolutePathForFilmSimulationImage,
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { absolutePathForFilmSimulation } from '@/app/paths';
|
import { absolutePathForFilmSimulation } from '@/app/paths';
|
||||||
import { PhotoSetAttributes } from '../photo/set';
|
import { PhotoSetAttributes } from '../category/set';
|
||||||
import ShareModal from '@/share/ShareModal';
|
import ShareModal from '@/share/ShareModal';
|
||||||
import FilmSimulationOGTile from './FilmSimulationOGTile';
|
import FilmSimulationOGTile from './FilmSimulationOGTile';
|
||||||
import { FilmSimulation, shareTextForFilmSimulation } from '.';
|
import { FilmSimulation, shareTextForFilmSimulation } from '.';
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { absolutePathForTag } from '@/app/paths';
|
import { absolutePathForTag } from '@/app/paths';
|
||||||
import { PhotoSetAttributes } from '../photo/set';
|
import { PhotoSetAttributes } from '../category/set';
|
||||||
import ShareModal from '@/share/ShareModal';
|
import ShareModal from '@/share/ShareModal';
|
||||||
import TagOGTile from './TagOGTile';
|
import TagOGTile from './TagOGTile';
|
||||||
import { shareTextForTag } from '.';
|
import { shareTextForTag } from '.';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user