diff --git a/README.md b/README.md index 3ae6443d..64007c83 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ Installation ### 6. Optional configuration - `NEXT_PUBLIC_PRO_MODE = 1` enables higher quality image storage +- `NEXT_PUBLIC_GEO_PRIVACY = 1` disables collection/display of location-based data - `NEXT_PUBLIC_PUBLIC_API = 1` enables public API available at `/api` - `NEXT_PUBLIC_HIDE_REPO_LINK = 1` removes footer link to repo - `NEXT_PUBLIC_HIDE_FILM_SIMULATIONS = 1` prevents Fujifilm simulations showing up in `/grid` sidebar diff --git a/src/photo/form.ts b/src/photo/form.ts index f36de48a..7af82e20 100644 --- a/src/photo/form.ts +++ b/src/photo/form.ts @@ -13,6 +13,7 @@ import { MAKE_FUJIFILM, } from '@/vendors/fujifilm'; import { FilmSimulation } from '@/simulation'; +import { GEO_PRIVACY_ENABLED } from '@/site/config'; export type PhotoFormData = Record; @@ -106,8 +107,10 @@ export const convertExifToFormData = ( iso: data.tags?.ISO?.toString(), exposureTime: data.tags?.ExposureTime?.toString(), exposureCompensation: data.tags?.ExposureCompensation?.toString(), - latitude: data.tags?.GPSLatitude?.toString(), - longitude: data.tags?.GPSLongitude?.toString(), + latitude: + !GEO_PRIVACY_ENABLED ? data.tags?.GPSLatitude?.toString() : undefined, + longitude: + !GEO_PRIVACY_ENABLED ? data.tags?.GPSLongitude?.toString() : undefined, filmSimulation, takenAt: data.tags?.DateTimeOriginal ? convertTimestampWithOffsetToPostgresString( diff --git a/src/site/SiteChecklistClient.tsx b/src/site/SiteChecklistClient.tsx index 5afe2398..11c22341 100644 --- a/src/site/SiteChecklistClient.tsx +++ b/src/site/SiteChecklistClient.tsx @@ -32,6 +32,7 @@ export default function SiteChecklistClient({ showRepoLink, showFilmSimulations, isProModeEnabled, + isGeoPrivacyEnabled, isPublicApiEnabled, isOgTextBottomAligned, showRefreshButton, @@ -245,6 +246,16 @@ export default function SiteChecklistClient({ higher quality image storage: {renderEnvVars(['NEXT_PUBLIC_PRO_MODE'])} + + Set environment variable to {'"1"'} to disable + collection/display of location-based data + {renderEnvVars(['NEXT_PUBLIC_GEO_PRIVACY'])} +