Rename src/app-core to src/app

This commit is contained in:
Sam Becker 2025-02-17 17:54:00 -06:00
parent 2d6d8fccaa
commit 1508a9718c
139 changed files with 164 additions and 164 deletions

View File

@ -2,7 +2,7 @@ import {
getGitHubMeta,
getGitHubPublicFork,
} from '@/platforms/github';
import { TEMPLATE_REPO_OWNER, TEMPLATE_REPO_NAME } from '@/app-core/config';
import { TEMPLATE_REPO_OWNER, TEMPLATE_REPO_NAME } from '@/app/config';
describe('GitHub', () => {
it('fetches base repo meta', async () => {

View File

@ -12,7 +12,7 @@ import {
isPathProtected,
isPathTag,
isPathTagPhoto,
} from '@/app-core/paths';
} from '@/app/paths';
import { TAG_HIDDEN } from '@/tag';
const PHOTO_ID = 'UsKSGcbt';

View File

@ -1,7 +1,7 @@
import { getPhotos } from '@/photo/db/query';
import { OUTDATED_THRESHOLD } from '@/photo';
import AdminOutdatedClient from '@/admin/AdminOutdatedClient';
import { AI_TEXT_GENERATION_ENABLED } from '@/app-core/config';
import { AI_TEXT_GENERATION_ENABLED } from '@/app/config';
export const maxDuration = 60;

View File

@ -1,12 +1,12 @@
import { redirect } from 'next/navigation';
import { getPhotoNoStore, getUniqueTagsCached } from '@/photo/cache';
import { PATH_ADMIN } from '@/app-core/paths';
import { PATH_ADMIN } from '@/app/paths';
import PhotoEditPageClient from '@/photo/PhotoEditPageClient';
import {
AI_TEXT_GENERATION_ENABLED,
BLUR_ENABLED,
IS_PREVIEW,
} from '@/app-core/config';
} from '@/app/config';
import { blurImageFromUrl, resizeImageFromUrl } from '@/photo/server';
import { getNextImageUrlForManipulation } from '@/platforms/next-image';

View File

@ -2,7 +2,7 @@ import AdminChildPage from '@/components/AdminChildPage';
import { redirect } from 'next/navigation';
import { getPhotosCached } from '@/photo/cache';
import TagForm from '@/tag/TagForm';
import { PATH_ADMIN, PATH_ADMIN_TAGS, pathForTag } from '@/app-core/paths';
import { PATH_ADMIN, PATH_ADMIN_TAGS, pathForTag } from '@/app/paths';
import PhotoLightbox from '@/photo/PhotoLightbox';
import { getPhotosMeta } from '@/photo/db/query';
import AdminTagBadge from '@/admin/AdminTagBadge';

View File

@ -1,4 +1,4 @@
import { PATH_ADMIN } from '@/app-core/paths';
import { PATH_ADMIN } from '@/app/paths';
import { extractImageDataFromBlobPath } from '@/photo/server';
import { redirect } from 'next/navigation';
import { getUniqueTagsCached } from '@/photo/cache';
@ -7,7 +7,7 @@ import {
AI_TEXT_AUTO_GENERATED_FIELDS,
AI_TEXT_GENERATION_ENABLED,
BLUR_ENABLED,
} from '@/app-core/config';
} from '@/app/config';
import ErrorNote from '@/components/ErrorNote';
export const maxDuration = 60;

View File

@ -1,10 +1,10 @@
import { getPhotosCached } from '@/photo/cache';
import { API_PHOTO_REQUEST_LIMIT, formatPhotoForApi } from '@/app-core/api';
import { API_PHOTO_REQUEST_LIMIT, formatPhotoForApi } from '@/app/api';
import {
BASE_URL,
PUBLIC_API_ENABLED,
SITE_TITLE,
} from '@/app-core/config';
} from '@/app/config';
export const dynamic = 'force-dynamic';

View File

@ -7,7 +7,7 @@ import {
cloudflareR2Client,
cloudflareR2PutObjectCommandForKey,
} from '@/platforms/storage/cloudflare-r2';
import { CURRENT_STORAGE } from '@/app-core/config';
import { CURRENT_STORAGE } from '@/app/config';
import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
export async function GET(

View File

@ -9,7 +9,7 @@ import {
PATH_ROOT,
absolutePathForPhoto,
absolutePathForPhotoImage,
} from '@/app-core/paths';
} from '@/app/paths';
import PhotoDetailPage from '@/photo/PhotoDetailPage';
import { FilmSimulation } from '@/simulation';
import {

View File

@ -6,7 +6,7 @@ import {
import FilmSimulationImageResponse from
'@/image-response/FilmSimulationImageResponse';
import { FilmSimulation } from '@/simulation';
import { getIBMPlexMonoMedium } from '@/app-core/font';
import { getIBMPlexMonoMedium } from '@/app/font';
import { ImageResponse } from 'next/og';
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
@ -14,7 +14,7 @@ import { getUniqueFilmSimulations } from '@/photo/db/query';
import {
STATICALLY_OPTIMIZED_PHOTO_CATEGORY_OG_IMAGES,
IS_PRODUCTION,
} from '@/app-core/config';
} from '@/app/config';
export let generateStaticParams:
(() => Promise<{ simulation: FilmSimulation }[]>) | undefined = undefined;

View File

@ -2,9 +2,9 @@ import { INFINITE_SCROLL_GRID_INITIAL } from '@/photo';
import { getUniqueFilmSimulations } from '@/photo/db/query';
import { FilmSimulation, generateMetaForFilmSimulation } from '@/simulation';
import FilmSimulationOverview from '@/simulation/FilmSimulationOverview';
import { IS_PRODUCTION } from '@/app-core/config';
import { IS_PRODUCTION } from '@/app/config';
import { getPhotosFilmSimulationDataCached } from '@/simulation/data';
import { STATICALLY_OPTIMIZED_PHOTO_CATEGORIES } from '@/app-core/config';
import { STATICALLY_OPTIMIZED_PHOTO_CATEGORIES } from '@/app/config';
import { Metadata } from 'next/types';
import { cache } from 'react';

View File

@ -9,7 +9,7 @@ import {
PATH_ROOT,
absolutePathForPhoto,
absolutePathForPhotoImage,
} from '@/app-core/paths';
} from '@/app/paths';
import PhotoDetailPage from '@/photo/PhotoDetailPage';
import { getPhotosNearIdCached } from '@/photo/cache';
import { cache } from 'react';

View File

@ -3,7 +3,7 @@ import {
IMAGE_OG_DIMENSION_SMALL,
MAX_PHOTOS_TO_SHOW_PER_TAG,
} from '@/image-response';
import { getIBMPlexMonoMedium } from '@/app-core/font';
import { getIBMPlexMonoMedium } from '@/app/font';
import { ImageResponse } from 'next/og';
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
import FocalLengthImageResponse from
@ -14,7 +14,7 @@ import { getUniqueFocalLengths } from '@/photo/db/query';
import {
STATICALLY_OPTIMIZED_PHOTO_CATEGORY_OG_IMAGES,
IS_PRODUCTION,
} from '@/app-core/config';
} from '@/app/config';
export let generateStaticParams:
(() => Promise<{ focal: string }[]>) | undefined = undefined;

View File

@ -2,10 +2,10 @@ import { generateMetaForFocalLength, getFocalLengthFromString } from '@/focal';
import FocalLengthOverview from '@/focal/FocalLengthOverview';
import { getPhotosFocalLengthDataCached } from '@/focal/data';
import { INFINITE_SCROLL_GRID_INITIAL } from '@/photo';
import { IS_PRODUCTION } from '@/app-core/config';
import { IS_PRODUCTION } from '@/app/config';
import { getUniqueFocalLengths } from '@/photo/db/query';
import { STATICALLY_OPTIMIZED_PHOTO_CATEGORIES } from '@/app-core/config';
import { PATH_ROOT } from '@/app-core/paths';
import { STATICALLY_OPTIMIZED_PHOTO_CATEGORIES } from '@/app/config';
import { PATH_ROOT } from '@/app/paths';
import type { Metadata } from 'next';
import { redirect } from 'next/navigation';
import { cache } from 'react';

View File

@ -4,7 +4,7 @@ import {
MAX_PHOTOS_TO_SHOW_OG,
} from '@/image-response';
import HomeImageResponse from '@/image-response/HomeImageResponse';
import { getIBMPlexMonoMedium } from '@/app-core/font';
import { getIBMPlexMonoMedium } from '@/app/font';
import { ImageResponse } from 'next/og';
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
import { isNextImageReadyBasedOnPhotos } from '@/photo';

View File

@ -7,15 +7,15 @@ import {
SITE_DESCRIPTION,
SITE_DOMAIN_OR_TITLE,
SITE_TITLE,
} from '@/app-core/config';
} from '@/app/config';
import AppStateProvider from '@/state/AppStateProvider';
import ToasterWithThemes from '@/toast/ToasterWithThemes';
import PhotoEscapeHandler from '@/photo/PhotoEscapeHandler';
import { Metadata } from 'next/types';
import { ThemeProvider } from 'next-themes';
import Nav from '@/app-core/Nav';
import Footer from '@/app-core/Footer';
import CommandK from '@/app-core/CommandK';
import Nav from '@/app/Nav';
import Footer from '@/app/Footer';
import CommandK from '@/app/CommandK';
import SwrConfigClient from '@/state/SwrConfigClient';
import AdminBatchEditPanel from '@/admin/AdminBatchEditPanel';
import ShareModals from '@/share/ShareModals';

View File

@ -1,13 +1,13 @@
import { getPhotoCached } from '@/photo/cache';
import { IMAGE_OG_DIMENSION } from '@/image-response';
import PhotoImageResponse from '@/image-response/PhotoImageResponse';
import { getIBMPlexMonoMedium } from '@/app-core/font';
import { getIBMPlexMonoMedium } from '@/app/font';
import { ImageResponse } from 'next/og';
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
import {
IS_PRODUCTION,
STATICALLY_OPTIMIZED_PHOTO_OG_IMAGES,
} from '@/app-core/config';
} from '@/app/config';
import { getPhotoIds } from '@/photo/db/query';
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
import { isNextImageReadyBasedOnPhotos } from '@/photo';

View File

@ -9,10 +9,10 @@ import {
PATH_ROOT,
absolutePathForPhoto,
absolutePathForPhotoImage,
} from '@/app-core/paths';
} from '@/app/paths';
import PhotoDetailPage from '@/photo/PhotoDetailPage';
import { getPhotosNearIdCached } from '@/photo/cache';
import { IS_PRODUCTION, STATICALLY_OPTIMIZED_PHOTOS } from '@/app-core/config';
import { IS_PRODUCTION, STATICALLY_OPTIMIZED_PHOTOS } from '@/app/config';
import { getPhotoIds } from '@/photo/db/query';
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
import { cache } from 'react';

View File

@ -7,7 +7,7 @@ import PhotosEmptyState from '@/photo/PhotosEmptyState';
import { Metadata } from 'next/types';
import { cache } from 'react';
import { getPhotos, getPhotosMeta } from '@/photo/db/query';
import { GRID_HOMEPAGE_ENABLED } from '@/app-core/config';
import { GRID_HOMEPAGE_ENABLED } from '@/app/config';
import { getPhotoSidebarData } from '@/photo/data';
import PhotoGridPage from '@/photo/PhotoGridPage';
import PhotoFeedPage from '@/photo/PhotoFeedPage';

View File

@ -9,7 +9,7 @@ import {
PATH_ROOT,
absolutePathForPhoto,
absolutePathForPhotoImage,
} from '@/app-core/paths';
} from '@/app/paths';
import PhotoDetailPage from '@/photo/PhotoDetailPage';
import {
getPhotosMetaCached,

View File

@ -5,7 +5,7 @@ import {
MAX_PHOTOS_TO_SHOW_PER_TAG,
} from '@/image-response';
import CameraImageResponse from '@/image-response/CameraImageResponse';
import { getIBMPlexMonoMedium } from '@/app-core/font';
import { getIBMPlexMonoMedium } from '@/app/font';
import { ImageResponse } from 'next/og';
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
@ -13,7 +13,7 @@ import { getUniqueCameras } from '@/photo/db/query';
import {
STATICALLY_OPTIMIZED_PHOTO_CATEGORY_OG_IMAGES,
IS_PRODUCTION,
} from '@/app-core/config';
} from '@/app/config';
export let generateStaticParams:
(() => Promise<{ camera: Camera }[]>) | undefined = undefined;

View File

@ -5,8 +5,8 @@ import { INFINITE_SCROLL_GRID_INITIAL } from '@/photo';
import { getPhotosCameraDataCached } from '@/camera/data';
import CameraOverview from '@/camera/CameraOverview';
import { cache } from 'react';
import { STATICALLY_OPTIMIZED_PHOTO_CATEGORIES } from '@/app-core/config';
import { IS_PRODUCTION } from '@/app-core/config';
import { STATICALLY_OPTIMIZED_PHOTO_CATEGORIES } from '@/app/config';
import { IS_PRODUCTION } from '@/app/config';
import { getUniqueCameras } from '@/photo/db/query';
const getPhotosCameraDataCachedCached = cache((

View File

@ -1,6 +1,6 @@
import { auth } from '@/auth';
import SignInForm from '@/auth/SignInForm';
import { PATH_ADMIN } from '@/app-core/paths';
import { PATH_ADMIN } from '@/app/paths';
import { clsx } from 'clsx/lite';
import { redirect } from 'next/navigation';

View File

@ -9,7 +9,7 @@ import {
PATH_ROOT,
absolutePathForPhoto,
absolutePathForPhotoImage,
} from '@/app-core/paths';
} from '@/app/paths';
import PhotoDetailPage from '@/photo/PhotoDetailPage';
import { getPhotosNearIdCached } from '@/photo/cache';
import { cache } from 'react';

View File

@ -4,7 +4,7 @@ import {
MAX_PHOTOS_TO_SHOW_PER_TAG,
} from '@/image-response';
import TagImageResponse from '@/image-response/TagImageResponse';
import { getIBMPlexMonoMedium } from '@/app-core/font';
import { getIBMPlexMonoMedium } from '@/app/font';
import { ImageResponse } from 'next/og';
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
import { GENERATE_STATIC_PARAMS_LIMIT } from '@/photo/db';
@ -12,7 +12,7 @@ import { getUniqueTags } from '@/photo/db/query';
import {
STATICALLY_OPTIMIZED_PHOTO_CATEGORY_OG_IMAGES,
IS_PRODUCTION,
} from '@/app-core/config';
} from '@/app/config';
export let generateStaticParams:
(() => Promise<{ tag: string }[]>) | undefined = undefined;

View File

@ -1,8 +1,8 @@
import { INFINITE_SCROLL_GRID_INITIAL } from '@/photo';
import { getUniqueTags } from '@/photo/db/query';
import { IS_PRODUCTION } from '@/app-core/config';
import { STATICALLY_OPTIMIZED_PHOTO_CATEGORIES } from '@/app-core/config';
import { PATH_ROOT } from '@/app-core/paths';
import { IS_PRODUCTION } from '@/app/config';
import { STATICALLY_OPTIMIZED_PHOTO_CATEGORIES } from '@/app/config';
import { PATH_ROOT } from '@/app/paths';
import { generateMetaForTag } from '@/tag';
import TagOverview from '@/tag/TagOverview';
import { getPhotosTagDataCached } from '@/tag/data';

View File

@ -8,7 +8,7 @@ import {
getPhotosNearIdCached,
} from '@/photo/cache';
import { getPhotosMeta } from '@/photo/db/query';
import { PATH_ROOT, absolutePathForPhoto } from '@/app-core/paths';
import { PATH_ROOT, absolutePathForPhoto } from '@/app/paths';
import { TAG_HIDDEN } from '@/tag';
import { Metadata } from 'next';
import { redirect } from 'next/navigation';

View File

@ -4,7 +4,7 @@ import SiteGrid from '@/components/SiteGrid';
import PhotoGrid from '@/photo/PhotoGrid';
import { getPhotosNoStore } from '@/photo/cache';
import { getPhotosMeta } from '@/photo/db/query';
import { absolutePathForTag } from '@/app-core/paths';
import { absolutePathForTag } from '@/app/paths';
import { TAG_HIDDEN, descriptionForTaggedPhotos, titleForTag } from '@/tag';
import HiddenHeader from '@/tag/HiddenHeader';
import { Metadata } from 'next';

View File

@ -5,7 +5,7 @@ import {
} from '@/image-response';
import TemplateImageResponse from
'@/image-response/TemplateImageResponse';
import { getIBMPlexMonoMedium } from '@/app-core/font';
import { getIBMPlexMonoMedium } from '@/app/font';
import { ImageResponse } from 'next/og';
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
import { isNextImageReadyBasedOnPhotos } from '@/photo';

View File

@ -5,7 +5,7 @@ import {
} from '@/image-response';
import TemplateImageResponse from
'@/image-response/TemplateImageResponse';
import { getIBMPlexMonoMedium } from '@/app-core/font';
import { getIBMPlexMonoMedium } from '@/app/font';
import { ImageResponse } from 'next/og';
import { getImageResponseCacheControlHeaders } from '@/image-response/cache';
import { isNextImageReadyBasedOnPhotos } from '@/photo';

View File

@ -4,7 +4,7 @@ import {
TEMPLATE_REPO_NAME,
TEMPLATE_DESCRIPTION,
TEMPLATE_TITLE,
} from '@/app-core/config';
} from '@/app/config';
import { NextResponse } from 'next/server';
const REQUIRE_ENV_VARS = false;

View File

@ -4,7 +4,7 @@ import ErrorNote from '@/components/ErrorNote';
import FieldSetWithStatus from '@/components/FieldSetWithStatus';
import Container from '@/components/Container';
import { addAllUploadsAction } from '@/photo/actions';
import { PATH_ADMIN_PHOTOS } from '@/app-core/paths';
import { PATH_ADMIN_PHOTOS } from '@/app/paths';
import { Tags } from '@/tag';
import {
generateLocalNaivePostgresString,

View File

@ -1,5 +1,5 @@
import { Suspense } from 'react';
import { APP_CONFIGURATION } from '@/app-core/config';
import { APP_CONFIGURATION } from '@/app/config';
import AdminAppConfigurationServer from './AdminAppConfigurationServer';
import AdminAppConfigurationClient from './AdminAppConfigurationClient';

View File

@ -13,7 +13,7 @@ import {
} from 'react-icons/bi';
import { HiOutlineCog } from 'react-icons/hi';
import ChecklistGroup from '@/components/ChecklistGroup';
import { ConfigChecklistStatus } from '../app-core/config';
import { ConfigChecklistStatus } from '../app/config';
import StatusIcon from '@/components/StatusIcon';
import { labelForStorage } from '@/platforms/storage';
import { HiSparkles } from 'react-icons/hi';
@ -21,7 +21,7 @@ import { testConnectionsAction } from '@/admin/actions';
import ErrorNote from '@/components/ErrorNote';
import WarningNote from '@/components/WarningNote';
import { RiSpeedMiniLine } from 'react-icons/ri';
import SecretGenerator from '../app-core/SecretGenerator';
import SecretGenerator from '../app/SecretGenerator';
import { PiPaintBrushHousehold } from 'react-icons/pi';
import { IoMdGrid } from 'react-icons/io';
import { CgDebug } from 'react-icons/cg';

View File

@ -1,5 +1,5 @@
import AdminAppConfigurationClient from './AdminAppConfigurationClient';
import { APP_CONFIGURATION } from '@/app-core/config';
import { APP_CONFIGURATION } from '@/app/config';
import { testConnectionsAction } from '@/admin/actions';
export default async function AdminAppConfigurationServer({

View File

@ -5,7 +5,7 @@ import {
PATH_ADMIN_CONFIGURATION,
PATH_ADMIN_INSIGHTS,
PATH_GRID_INFERRED,
} from '@/app-core/paths';
} from '@/app/paths';
import { useAppState } from '@/state/AppState';
import { ImCheckboxUnchecked } from 'react-icons/im';
import { IoCloseSharp } from 'react-icons/io5';

View File

@ -9,7 +9,7 @@ import { IoCloseSharp } from 'react-icons/io5';
import { useState } from 'react';
import { TAG_FAVS, Tags } from '@/tag';
import { usePathname } from 'next/navigation';
import { PATH_GRID_INFERRED } from '@/app-core/paths';
import { PATH_GRID_INFERRED } from '@/app/paths';
import PhotoTagFieldset from './PhotoTagFieldset';
import { tagMultiplePhotosAction } from '@/photo/actions';
import { toastSuccess } from '@/toast';

View File

@ -1,7 +1,7 @@
'use client';
import PhotoUpload from '@/photo/PhotoUpload';
import { PATH_ADMIN_PHOTOS } from '@/app-core/paths';
import { PATH_ADMIN_PHOTOS } from '@/app/paths';
import { useAppState } from '@/state/AppState';
import Link from 'next/link';
import { useState } from 'react';

View File

@ -8,7 +8,7 @@ import {
PATH_ADMIN_PHOTOS,
PATH_ADMIN_TAGS,
PATH_ADMIN_UPLOADS,
} from '@/app-core/paths';
} from '@/app/paths';
import AdminNavClient from './AdminNavClient';
export default async function AdminNav() {

View File

@ -12,7 +12,7 @@ import {
isPathAdminConfiguration,
isPathAdminInsights,
isPathTopLevelAdmin,
} from '@/app-core/paths';
} from '@/app/paths';
import { useAppState } from '@/state/AppState';
import { clsx } from 'clsx/lite';
import { differenceInMinutes } from 'date-fns';

View File

@ -3,10 +3,10 @@
import { OUTDATED_THRESHOLD, Photo } from '@/photo';
import AdminPhotosTable from '@/admin/AdminPhotosTable';
import LoaderButton from '@/components/primitives/LoaderButton';
import IconGrSync from '@/app-core/IconGrSync';
import IconGrSync from '@/app/IconGrSync';
import Note from '@/components/Note';
import AdminChildPage from '@/components/AdminChildPage';
import { PATH_ADMIN_PHOTOS } from '@/app-core/paths';
import { PATH_ADMIN_PHOTOS } from '@/app/paths';
import { useState } from 'react';
import { syncPhotosAction } from '@/photo/actions';
import { useRouter } from 'next/navigation';

View File

@ -1,7 +1,7 @@
'use client';
import { ComponentProps, useMemo } from 'react';
import { pathForAdminPhotoEdit, pathForPhoto } from '@/app-core/paths';
import { pathForAdminPhotoEdit, pathForPhoto } from '@/app/paths';
import { deletePhotoAction, toggleFavoritePhotoAction } from '@/photo/actions';
import { FaRegEdit, FaRegStar, FaStar } from 'react-icons/fa';
import {

View File

@ -6,11 +6,11 @@ import SiteGrid from '@/components/SiteGrid';
import {
AI_TEXT_GENERATION_ENABLED,
PRESERVE_ORIGINAL_UPLOADS,
} from '@/app-core/config';
} from '@/app/config';
import AdminPhotosTable from '@/admin/AdminPhotosTable';
import AdminPhotosTableInfinite from '@/admin/AdminPhotosTableInfinite';
import PathLoaderButton from '@/components/primitives/PathLoaderButton';
import { PATH_ADMIN_OUTDATED } from '@/app-core/paths';
import { PATH_ADMIN_OUTDATED } from '@/app/paths';
import { Photo } from '@/photo';
import { StorageListResponse } from '@/platforms/storage';
import { useState } from 'react';

View File

@ -5,7 +5,7 @@ import AdminTable from './AdminTable';
import { Fragment } from 'react';
import PhotoSmall from '@/photo/PhotoSmall';
import { clsx } from 'clsx/lite';
import { pathForAdminPhotoEdit, pathForPhoto } from '@/app-core/paths';
import { pathForAdminPhotoEdit, pathForPhoto } from '@/app/paths';
import Link from 'next/link';
import { AiOutlineEyeInvisible } from 'react-icons/ai';
import PhotoDate from '@/photo/PhotoDate';

View File

@ -1,6 +1,6 @@
'use client';
import { PATH_ADMIN_PHOTOS } from '@/app-core/paths';
import { PATH_ADMIN_PHOTOS } from '@/app/paths';
import InfinitePhotoScroll from '../photo/InfinitePhotoScroll';
import AdminPhotosTable from './AdminPhotosTable';
import { ComponentProps } from 'react';

View File

@ -6,7 +6,7 @@ import DeleteFormButton from '@/admin/DeleteFormButton';
import { photoQuantityText } from '@/photo';
import { Tags, formatTag, sortTagsObject } from '@/tag';
import EditButton from '@/admin/EditButton';
import { pathForAdminTagEdit } from '@/app-core/paths';
import { pathForAdminTagEdit } from '@/app/paths';
import { clsx } from 'clsx/lite';
import AdminTagBadge from './AdminTagBadge';

View File

@ -5,7 +5,7 @@ import Spinner from '@/components/Spinner';
import { getIdFromStorageUrl } from '@/platforms/storage';
import { clsx } from 'clsx/lite';
import { FaRegCircleCheck } from 'react-icons/fa6';
import { pathForAdminUploadUrl } from '@/app-core/paths';
import { pathForAdminUploadUrl } from '@/app/paths';
import AddButton from './AddButton';
import { UrlAddStatus } from './AdminUploadsClient';
import ResponsiveDate from '@/components/ResponsiveDate';

View File

@ -3,7 +3,7 @@
import { deleteUploadAction } from '@/photo/actions';
import DeleteButton from './DeleteButton';
import { useRouter } from 'next/navigation';
import { PATH_ADMIN_PHOTOS } from '@/app-core/paths';
import { PATH_ADMIN_PHOTOS } from '@/app/paths';
import { useState } from 'react';
export default function DeleteUploadButton({

View File

@ -4,7 +4,7 @@ import LoaderButton from '@/components/primitives/LoaderButton';
import SubmitButtonWithStatus from '@/components/SubmitButtonWithStatus';
import { getExifDataAction } from '@/photo/actions';
import { PhotoFormData } from '@/photo/form';
import IconGrSync from '@/app-core/IconGrSync';
import IconGrSync from '@/app/IconGrSync';
import { clsx } from 'clsx/lite';
import { ComponentProps, useState } from 'react';

View File

@ -1,6 +1,6 @@
import LoaderButton from '@/components/primitives/LoaderButton';
import { syncPhotoAction } from '@/photo/actions';
import IconGrSync from '@/app-core/IconGrSync';
import IconGrSync from '@/app/IconGrSync';
import { toastSuccess } from '@/toast';
import { ComponentProps, useState } from 'react';

View File

@ -5,7 +5,7 @@ import { testRedisConnection } from '@/platforms/redis';
import { testOpenAiConnection } from '@/platforms/openai';
import { testDatabaseConnection } from '@/platforms/postgres';
import { testStorageConnection } from '@/platforms/storage';
import { APP_CONFIGURATION } from '@/app-core/config';
import { APP_CONFIGURATION } from '@/app/config';
const scanForError = (
shouldCheck: boolean,

View File

@ -12,7 +12,7 @@ import {
HAS_STATIC_OPTIMIZATION,
IS_PRODUCTION,
MATTE_PHOTOS,
} from '@/app-core/config';
} from '@/app/config';
import { OUTDATED_THRESHOLD } from '@/photo';
import { getGitHubMetaForCurrentApp, getSignificantInsights } from '.';

View File

@ -20,7 +20,7 @@ import {
VERCEL_GIT_COMMIT_MESSAGE,
TEMPLATE_REPO_URL_FORK,
TEMPLATE_REPO_URL_README,
} from '@/app-core/config';
} from '@/app/config';
import {
AdminAppInsights,
getGitHubMetaForCurrentApp,
@ -30,7 +30,7 @@ import {
import EnvVar from '@/components/EnvVar';
import { IoSyncCircle } from 'react-icons/io5';
import clsx from 'clsx/lite';
import { PATH_ADMIN_OUTDATED } from '@/app-core/paths';
import { PATH_ADMIN_OUTDATED } from '@/app/paths';
import { LiaBroomSolid } from 'react-icons/lia';
import { IoMdGrid } from 'react-icons/io';
import { RiSpeedMiniLine } from 'react-icons/ri';

View File

@ -6,7 +6,7 @@ import {
IS_VERCEL_GIT_PROVIDER_GITHUB,
IS_DEVELOPMENT,
APP_CONFIGURATION,
} from '@/app-core/config';
} from '@/app/config';
import { PhotoDateRange } from '@/photo';
import { getGitHubMeta } from '@/platforms/github';

View File

@ -2,9 +2,9 @@
import { clsx } from 'clsx/lite';
import SiteGrid from '../components/SiteGrid';
import ThemeSwitcher from '@/app-core/ThemeSwitcher';
import ThemeSwitcher from '@/app/ThemeSwitcher';
import Link from 'next/link';
import { SHOW_REPO_LINK } from '@/app-core/config';
import { SHOW_REPO_LINK } from '@/app/config';
import RepoLink from '../components/RepoLink';
import { usePathname } from 'next/navigation';
import { PATH_ADMIN_PHOTOS, isPathAdmin, isPathSignIn } from './paths';

View File

@ -4,7 +4,7 @@ import { clsx } from 'clsx/lite';
import { usePathname } from 'next/navigation';
import Link from 'next/link';
import SiteGrid from '../components/SiteGrid';
import ViewSwitcher, { SwitcherSelection } from '@/app-core/ViewSwitcher';
import ViewSwitcher, { SwitcherSelection } from '@/app/ViewSwitcher';
import {
PATH_ROOT,
isPathAdmin,
@ -12,7 +12,7 @@ import {
isPathGrid,
isPathProtected,
isPathSignIn,
} from '@/app-core/paths';
} from '@/app/paths';
import AnimateItems from '../components/AnimateItems';
import { useAppState } from '@/state/AppState';
import {

View File

@ -1,12 +1,12 @@
import Switcher from '@/components/Switcher';
import SwitcherItem from '@/components/SwitcherItem';
import IconFeed from '@/app-core/IconFeed';
import IconGrid from '@/app-core/IconGrid';
import IconFeed from '@/app/IconFeed';
import IconGrid from '@/app/IconGrid';
import {
PATH_ADMIN_PHOTOS,
PATH_FEED_INFERRED,
PATH_GRID_INFERRED,
} from '@/app-core/paths';
} from '@/app/paths';
import { BiLockAlt } from 'react-icons/bi';
import IconSearch from './IconSearch';
import { useAppState } from '@/state/AppState';

View File

@ -10,7 +10,7 @@ import {
signIn,
signOut,
} from '@/auth';
import { PATH_ADMIN_PHOTOS, PATH_ROOT } from '@/app-core/paths';
import { PATH_ADMIN_PHOTOS, PATH_ROOT } from '@/app/paths';
import type { Session } from 'next-auth';
import { redirect } from 'next/navigation';

View File

@ -1,4 +1,4 @@
import { isPathProtected } from '@/app-core/paths';
import { isPathProtected } from '@/app/paths';
import NextAuth, { User } from 'next-auth';
import Credentials from 'next-auth/providers/credentials';

View File

@ -1,5 +1,5 @@
import { Photo, PhotoDateRange } from '@/photo';
import { absolutePathForCameraImage, pathForCamera } from '@/app-core/paths';
import { absolutePathForCameraImage, pathForCamera } from '@/app/paths';
import OGTile from '@/components/OGTile';
import { Camera } from '.';
import { descriptionForCameraPhotos, titleForCamera } from './meta';

View File

@ -1,4 +1,4 @@
import { absolutePathForCamera } from '@/app-core/paths';
import { absolutePathForCamera } from '@/app/paths';
import { PhotoSetAttributes } from '../photo';
import ShareModal from '@/share/ShareModal';
import CameraOGTile from './CameraOGTile';

View File

@ -1,5 +1,5 @@
import { AiFillApple } from 'react-icons/ai';
import { pathForCamera } from '@/app-core/paths';
import { pathForCamera } from '@/app/paths';
import { IoMdCamera } from 'react-icons/io';
import { Camera, formatCameraText, isCameraApple } from '.';
import EntityLink, {

View File

@ -8,7 +8,7 @@ import { Camera, cameraFromPhoto, formatCameraText } from '.';
import {
absolutePathForCamera,
absolutePathForCameraImage,
} from '@/app-core/paths';
} from '@/app/paths';
// Meta functions moved to separate file to avoid
// dependencies (camelcase-keys) found in photo/index.ts

View File

@ -1,7 +1,7 @@
import { ReactNode } from 'react';
import SiteGrid from './SiteGrid';
import { clsx } from 'clsx/lite';
import { PATH_ROOT } from '@/app-core/paths';
import { PATH_ROOT } from '@/app/paths';
import Link from 'next/link';
export default function HttpStatusPage({

View File

@ -6,7 +6,7 @@ import { clsx } from 'clsx/lite';
import useClickInsideOutside from '@/utility/useClickInsideOutside';
import { useRouter } from 'next/navigation';
import AnimateItems from './AnimateItems';
import { PATH_ROOT } from '@/app-core/paths';
import { PATH_ROOT } from '@/app/paths';
import usePrefersReducedMotion from '@/utility/usePrefersReducedMotion';
import useMetaThemeColor from '@/utility/useMetaThemeColor';
import useEscapeHandler from '@/utility/useEscapeHandler';

View File

@ -1,4 +1,4 @@
import { TEMPLATE_REPO_NAME, TEMPLATE_REPO_URL } from '@/app-core/config';
import { TEMPLATE_REPO_NAME, TEMPLATE_REPO_URL } from '@/app/config';
import { clsx } from 'clsx/lite';
import Link from 'next/link';
import { BiLogoGithub } from 'react-icons/bi';

View File

@ -1,5 +1,5 @@
import { clsx } from 'clsx/lite';
import { SHOULD_PREFETCH_ALL_LINKS } from '@/app-core/config';
import { SHOULD_PREFETCH_ALL_LINKS } from '@/app/config';
import { JSX } from 'react';
import Spinner from './Spinner';
import LinkWithLoader from './LinkWithLoader';

View File

@ -22,7 +22,7 @@ import {
PATH_SIGN_IN,
pathForPhoto,
pathForTag,
} from '../../app-core/paths';
} from '../../app/paths';
import Modal from '../Modal';
import { clsx } from 'clsx/lite';
import { useDebounce } from 'use-debounce';
@ -46,7 +46,7 @@ import { Tags, addHiddenToTags, formatTag } from '@/tag';
import { FaTag } from 'react-icons/fa';
import { formatCount, formatCountDescriptive } from '@/utility/string';
import CommandKItem from './CommandKItem';
import { GRID_HOMEPAGE_ENABLED } from '@/app-core/config';
import { GRID_HOMEPAGE_ENABLED } from '@/app/config';
import { DialogDescription, DialogTitle } from '@radix-ui/react-dialog';
import * as VisuallyHidden from '@radix-ui/react-visually-hidden';

View File

@ -1,4 +1,4 @@
import { IMAGE_QUALITY } from '@/app-core/config';
import { IMAGE_QUALITY } from '@/app/config';
import { IMAGE_WIDTH_LARGE, ImageProps } from '.';
import ImageWithFallback from './ImageWithFallback';

View File

@ -1,7 +1,7 @@
'use client';
/* eslint-disable jsx-a11y/alt-text */
import { BLUR_ENABLED } from '@/app-core/config';
import { BLUR_ENABLED } from '@/app/config';
import { useAppState } from '@/state/AppState';
import { clsx} from 'clsx/lite';
import Image, { ImageProps } from 'next/image';

View File

@ -2,7 +2,7 @@ import { Photo, PhotoDateRange } from '@/photo';
import {
absolutePathForFocalLengthImage,
pathForFocalLength,
} from '@/app-core/paths';
} from '@/app/paths';
import OGTile from '@/components/OGTile';
import { descriptionForFocalLengthPhotos, titleForFocalLength } from '.';

View File

@ -1,4 +1,4 @@
import { absolutePathForFocalLength } from '@/app-core/paths';
import { absolutePathForFocalLength } from '@/app/paths';
import { PhotoSetAttributes } from '../photo';
import ShareModal from '@/share/ShareModal';
import FocalLengthOGTile from './FocalLengthOGTile';

View File

@ -1,4 +1,4 @@
import { pathForFocalLength } from '@/app-core/paths';
import { pathForFocalLength } from '@/app/paths';
import EntityLink, {
EntityLinkExternalProps,
} from '@/components/primitives/EntityLink';

View File

@ -7,7 +7,7 @@ import {
import {
absolutePathForFocalLength,
absolutePathForFocalLengthImage,
} from '@/app-core/paths';
} from '@/app/paths';
export type FocalLengths = {
focal: number

View File

@ -1,4 +1,4 @@
import { SITE_DOMAIN_OR_TITLE } from '@/app-core/config';
import { SITE_DOMAIN_OR_TITLE } from '@/app/config';
import { Photo } from '../photo';
import ImageCaption from './components/ImageCaption';
import ImageContainer from './components/ImageContainer';

View File

@ -3,7 +3,7 @@ import { AiFillApple } from 'react-icons/ai';
import ImageCaption from './components/ImageCaption';
import ImagePhotoGrid from './components/ImagePhotoGrid';
import ImageContainer from './components/ImageContainer';
import { OG_TEXT_BOTTOM_ALIGNMENT } from '@/app-core/config';
import { OG_TEXT_BOTTOM_ALIGNMENT } from '@/app/config';
import { NextImageSize } from '@/platforms/next-image';
import { cameraFromPhoto, formatCameraText } from '@/camera';

View File

@ -1,6 +1,6 @@
import { Photo } from '../photo';
import IconFeed from '@/app-core/IconFeed';
import IconGrid from '@/app-core/IconGrid';
import IconFeed from '@/app/IconFeed';
import IconGrid from '@/app/IconGrid';
import ImagePhotoGrid from './components/ImagePhotoGrid';
import { NextImageSize } from '@/platforms/next-image';

View File

@ -1,4 +1,4 @@
import { OG_TEXT_BOTTOM_ALIGNMENT } from '@/app-core/config';
import { OG_TEXT_BOTTOM_ALIGNMENT } from '@/app/config';
import { ReactNode } from 'react';
const GRADIENT_STOPS = 'rgba(0,0,0,0), rgba(0,0,0,0.3), rgba(0,0,0,0.7)';

View File

@ -5,7 +5,7 @@ import {
NextImageSize,
getNextImageUrlForRequest,
} from '@/platforms/next-image';
import { IS_PREVIEW } from '@/app-core/config';
import { IS_PREVIEW } from '@/app/config';
export default function ImagePhotoGrid({
photos,

View File

@ -8,7 +8,7 @@ import {
PATH_OG_SAMPLE,
PREFIX_PHOTO,
PREFIX_TAG,
} from './app-core/paths';
} from './app/paths';
export default function middleware(req: NextRequest, res:NextResponse) {
const pathname = req.nextUrl.pathname;

View File

@ -16,7 +16,7 @@ import { clsx } from 'clsx/lite';
import { useAppState } from '@/state/AppState';
import { GetPhotosOptions } from './db';
import useVisible from '@/utility/useVisible';
import { ADMIN_DB_OPTIMIZE_ENABLED } from '@/app-core/config';
import { ADMIN_DB_OPTIMIZE_ENABLED } from '@/app/config';
export type RevalidatePhoto = (
photoId: string,

View File

@ -2,7 +2,7 @@
import AdminChildPage from '@/components/AdminChildPage';
import { Photo } from '.';
import { PATH_ADMIN_PHOTOS } from '@/app-core/paths';
import { PATH_ADMIN_PHOTOS } from '@/app/paths';
import { PhotoFormData, convertPhotoToFormData } from './form';
import PhotoForm from './form/PhotoForm';
import { Tags } from '@/tag';

View File

@ -1,6 +1,6 @@
'use client';
import { getEscapePath } from '@/app-core/paths';
import { getEscapePath } from '@/app/paths';
import { useRouter, usePathname } from 'next/navigation';
import { useCallback } from 'react';
import useEscapeHandler from '../utility/useEscapeHandler';

View File

@ -4,7 +4,7 @@ import { Photo, PhotoSetCategory } from '.';
import PhotoMedium from './PhotoMedium';
import { clsx } from 'clsx/lite';
import AnimateItems from '@/components/AnimateItems';
import { GRID_ASPECT_RATIO } from '@/app-core/config';
import { GRID_ASPECT_RATIO } from '@/app/config';
import { useAppState } from '@/state/AppState';
import SelectTileOverlay from '@/components/SelectTileOverlay';
import { JSX } from 'react';

View File

@ -4,7 +4,7 @@ import { Tags } from '@/tag';
import { Photo } from '.';
import { Cameras } from '@/camera';
import { FilmSimulations } from '@/simulation';
import { PATH_GRID_INFERRED } from '@/app-core/paths';
import { PATH_GRID_INFERRED } from '@/app/paths';
import PhotoGridSidebar from './PhotoGridSidebar';
import PhotoGridContainer from './PhotoGridContainer';
import { useEffect } from 'react';

View File

@ -15,7 +15,7 @@ import FavsTag from '../tag/FavsTag';
import { useAppState } from '@/state/AppState';
import { useMemo } from 'react';
import HiddenTag from '@/tag/HiddenTag';
import { SITE_ABOUT } from '@/app-core/config';
import { SITE_ABOUT } from '@/app/config';
import {
htmlHasBrParagraphBreaks,
safelyParseFormattedHtml,

View File

@ -15,7 +15,7 @@ import Link from 'next/link';
import {
pathForFocalLength,
pathForPhoto,
} from '@/app-core/paths';
} from '@/app/paths';
import PhotoTags from '@/tag/PhotoTags';
import ShareButton from '@/share/ShareButton';
import DownloadButton from '@/components/DownloadButton';
@ -29,7 +29,7 @@ import {
SHOULD_PREFETCH_ALL_LINKS,
ALLOW_PUBLIC_DOWNLOADS,
SHOW_TAKEN_AT_TIME,
} from '@/app-core/config';
} from '@/app/config';
import AdminPhotoMenuClient from '@/admin/AdminPhotoMenuClient';
import { RevalidatePhoto } from './InfinitePhotoScroll';
import { useRef } from 'react';

View File

@ -5,7 +5,7 @@ import { Photo, PhotoSetCategory, titleForPhoto } from '@/photo';
import Link from 'next/link';
import { AnimationConfig } from '../components/AnimateItems';
import { useAppState } from '@/state/AppState';
import { pathForPhoto } from '@/app-core/paths';
import { pathForPhoto } from '@/app/paths';
import { clsx } from 'clsx/lite';
export default function PhotoLink({

View File

@ -8,8 +8,8 @@ import {
} from '.';
import ImageMedium from '@/components/image/ImageMedium';
import { clsx } from 'clsx/lite';
import { pathForPhoto } from '@/app-core/paths';
import { SHOULD_PREFETCH_ALL_LINKS } from '@/app-core/config';
import { pathForPhoto } from '@/app/paths';
import { SHOULD_PREFETCH_ALL_LINKS } from '@/app/config';
import { useRef } from 'react';
import useVisible from '@/utility/useVisible';
import LinkWithStatus from '@/components/LinkWithStatus';

Some files were not shown because too many files have changed in this diff Show More