diff --git a/README.md b/README.md index fbb480fe..17bca479 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,7 @@ Application behavior can be changed by configuring the following environment var - `films` (default) - `focal-lengths` - `NEXT_PUBLIC_EXHAUSTIVE_SIDEBAR_CATEGORIES = 1` always shows expanded sidebar content +- `NEXT_PUBLIC_HIDE_KEYBOARD_SHORTCUT_TOOLTIPS = 1` hides keyboard shortcut hints in areas like the main nav, and previous/next photo links - `NEXT_PUBLIC_HIDE_EXIF_DATA = 1` hides EXIF data in photo details and OG images (potentially useful for portfolios, which don't focus on photography) - `NEXT_PUBLIC_HIDE_ZOOM_CONTROLS = 1` hides fullscreen photo zoom controls - `NEXT_PUBLIC_HIDE_TAKEN_AT_TIME = 1` hides taken at time from photo meta diff --git a/src/admin/AdminAppConfigurationClient.tsx b/src/admin/AdminAppConfigurationClient.tsx index 6266d88b..5d18f5d2 100644 --- a/src/admin/AdminAppConfigurationClient.tsx +++ b/src/admin/AdminAppConfigurationClient.tsx @@ -78,6 +78,7 @@ export default function AdminAppConfigurationClient({ categoryVisibility, hasCategoryVisibility, collapseSidebarCategories, + showKeyboardShortcutTooltips, showExifInfo, showZoomControls, showTakenAtTimeHidden, @@ -560,6 +561,15 @@ export default function AdminAppConfigurationClient({ expanded category content {renderEnvVars(['NEXT_PUBLIC_EXHAUSTIVE_SIDEBAR_CATEGORIES'])} + + Set environment variable to {'"1"'} to hide keyboard shortcut + tooltips in areas like the main nav, and previous/next photo links: + {renderEnvVars(['NEXT_PUBLIC_HIDE_KEYBOARD_SHORTCUT_TOOLTIPS'])} + ; @@ -75,10 +78,10 @@ export default function AppViewSwitcher({ href={PATH_GRID_INFERRED} hrefRef={refHrefGrid} active={currentSelection === 'grid'} - tooltip={{ + tooltip={{...SHOW_KEYBOARD_SHORTCUT_TOOLTIPS && { content: 'Grid', keyCommand: KEY_COMMANDS.grid, - }} + }}} noPadding />; @@ -98,7 +101,12 @@ export default function AppViewSwitcher({ icon={} isInteractive={false} noPadding - tooltip={{ content: 'Admin Menu' }} + tooltip={{ + ...!isAdminMenuOpen && SHOW_KEYBOARD_SHORTCUT_TOOLTIPS && { + content: 'Admin Menu', + keyCommand: KEY_COMMANDS.admin, + }, + }} />} {isUserSignedIn && } tooltip={{ - content: !isAdminMenuOpen ? 'Admin Menu' : undefined, - keyCommand: !isAdminMenuOpen ? KEY_COMMANDS.admin : undefined, + ...!isAdminMenuOpen && SHOW_KEYBOARD_SHORTCUT_TOOLTIPS && { + content: 'Admin Menu', + keyCommand: KEY_COMMANDS.admin, + }, }} noPadding />} @@ -117,11 +127,11 @@ export default function AppViewSwitcher({ } onClick={() => setIsCommandKOpen?.(true)} - tooltip={{ + tooltip={{...SHOW_KEYBOARD_SHORTCUT_TOOLTIPS && { content: 'Search', keyCommandModifier: KEY_COMMANDS.search[0], keyCommand: KEY_COMMANDS.search[1], - }} + }}} /> diff --git a/src/app/config.ts b/src/app/config.ts index ab5266df..fcda18b7 100644 --- a/src/app/config.ts +++ b/src/app/config.ts @@ -264,6 +264,8 @@ export const SHOW_FOCAL_LENGTHS = CATEGORY_VISIBILITY.includes('focal-lengths'); export const COLLAPSE_SIDEBAR_CATEGORIES = process.env.NEXT_PUBLIC_EXHAUSTIVE_SIDEBAR_CATEGORIES !== '1'; +export const SHOW_KEYBOARD_SHORTCUT_TOOLTIPS = + process.env.NEXT_PUBLIC_HIDE_KEYBOARD_SHORTCUT_TOOLTIPS !== '1'; export const SHOW_EXIF_DATA = process.env.NEXT_PUBLIC_HIDE_EXIF_DATA !== '1'; export const SHOW_ZOOM_CONTROLS = @@ -361,8 +363,8 @@ export const APP_CONFIGURATION = { arePhotosStaticallyOptimized: STATICALLY_OPTIMIZED_PHOTOS, arePhotoOGImagesStaticallyOptimized: STATICALLY_OPTIMIZED_PHOTO_OG_IMAGES, arePhotoCategoriesStaticallyOptimized: STATICALLY_OPTIMIZED_PHOTO_CATEGORIES, - // eslint-disable-next-line max-len - arePhotoCategoryOgImagesStaticallyOptimized: STATICALLY_OPTIMIZED_PHOTO_CATEGORY_OG_IMAGES, + arePhotoCategoryOgImagesStaticallyOptimized: + STATICALLY_OPTIMIZED_PHOTO_CATEGORY_OG_IMAGES, areOriginalUploadsPreserved: PRESERVE_ORIGINAL_UPLOADS, hasImageQuality: Boolean(process.env.NEXT_PUBLIC_IMAGE_QUALITY), imageQuality: IMAGE_QUALITY, @@ -378,6 +380,7 @@ export const APP_CONFIGURATION = { Boolean(process.env.NEXT_PUBLIC_CATEGORY_VISIBILITY), categoryVisibility: CATEGORY_VISIBILITY, collapseSidebarCategories: COLLAPSE_SIDEBAR_CATEGORIES, + showKeyboardShortcutTooltips: SHOW_KEYBOARD_SHORTCUT_TOOLTIPS, showExifInfo: SHOW_EXIF_DATA, showZoomControls: SHOW_ZOOM_CONTROLS, showTakenAtTimeHidden: SHOW_TAKEN_AT_TIME, diff --git a/src/photo/PhotoPrevNextActions.tsx b/src/photo/PhotoPrevNextActions.tsx index 3f5bb5c4..ac345bd8 100644 --- a/src/photo/PhotoPrevNextActions.tsx +++ b/src/photo/PhotoPrevNextActions.tsx @@ -23,7 +23,10 @@ import { } from './actions'; import { isPhotoFav } from '@/tag'; import Tooltip from '@/components/Tooltip'; -import { ALLOW_PUBLIC_DOWNLOADS } from '@/app/config'; +import { + ALLOW_PUBLIC_DOWNLOADS, + SHOW_KEYBOARD_SHORTCUT_TOOLTIPS, +} from '@/app/config'; import { downloadFileFromBrowser } from '@/utility/url'; import useKeydownHandler from '@/utility/useKeydownHandler'; import { KEY_COMMANDS } from './key-commands'; @@ -188,10 +191,10 @@ export default function PhotoPrevNextActions({ 'items-center sm:items-start', '*:select-none', )}> - + / - +