import type { ImageSourcePropType } from 'react-native';

const journalTopTornSource =
  require('../assets/pixiesprout/notebook/journal-top-torn.png') satisfies ImageSourcePropType;

const imageAssets = {
  brandLogo: require('../assets/brand/pixiesprout_logo_slogan.png'),
  notificationBell: require('../assets/pixiesprout/surgical_bugfix/notification_bell_default.png'),
  settingsWatermill: require('../assets/pixiesprout/settings/watermill_settings_icon.png'),
  gardenSnapshotFrame: require('../assets/home/garden-snapshot-frame.png'),
  basil: require('../assets/graphics/basil_photo.jpg'),
  avatar: require('../assets/graphics/avatar.jpg'),
  fairy: require('../assets/graphics/update_packet/welcome_fairy_cutout.png'),
  titleLeaf: require('../assets/graphics/handoff/ic_leafy_lane_leaf.png'),
  levelBadge: require('../assets/graphics/handoff/img_level_badge_base.png'),
  searchIcon: require('../assets/graphics/handoff/ic_task_magnifying_glass.png'),
  taskNeem: require('../assets/graphics/handoff/ic_task_leaf_neem.png'),
  gardenMonstera: require('../assets/graphics/handoff/img_garden_monstera_card.png'),
  gardenLeafy: require('../assets/graphics/handoff/img_garden_leafy_card.png'),
  gardenHibiscus: require('../assets/graphics/handoff/img_garden_hibiscus_card.png'),
  gardenRoundLeaf: require('../assets/graphics/handoff/img_garden_round_leaf_card.png'),
  identifyOptionPlant: require('../assets/identify/option_plant_potted_icon.png'),
  identifyOptionProblem: require('../assets/identify/option_problem_leaf_magnifier_icon.png'),
  identifyOptionSeedTag: require('../assets/identify/option_seed_packet_tag_icon.png'),
  identifyGalleryButton: require('../assets/identify/camera_gallery_button_circle.png'),
  identifyFlashButton: require('../assets/identify/camera_flash_button_circle.png'),
  identifyViewfinderCorners: require('../assets/identify/camera_viewfinder_corners_component.png'),
  identifyHelperIntro: require('../assets/animations/identify/helper_fairy_intro_once.webp'),
  identifyHelperIdle: require('../assets/animations/identify/helper_fairy_idle_loop.webp'),
  identifyHelperIntroGif: require('../assets/animations/identify/gif/helper_fairy_intro_once.gif'),
  identifyHelperIdleGif: require('../assets/animations/identify/gif/helper_fairy_idle_loop.gif'),
  pixieSpinner: require('../assets/animations/identify/gif/pixie_spinner.png'),
  pixieSpinnerComet: require('../assets/animations/identify/gif/pixie_spinner_comet.png'),
  homeLogo: require('../assets/pixiesprout/home_refresh_clean/logo_pixiesprout_banner_tight_fuzzy_oval.png'),
  homeOverlay: require('../assets/pixiesprout/nav_bar_assets/pixiesprout_botanical_background.png'),
  scanShutter: require('../assets/pixiesprout/background_nav_fix/scan_camera_shutter_alpha.png'),
  navBase: require('../assets/pixiesprout/background_nav_fix/nav_bar_base_alpha.png'),
  navActiveHighlight: require('../assets/pixiesprout/background_nav_fix/nav_active_highlight_alpha.png'),
  navHomeIcon: require('../assets/pixiesprout/background_nav_fix/nav_home_icon_alpha.png'),
  navGardenIcon: require('../assets/pixiesprout/background_nav_fix/nav_garden_icon_alpha.png'),
  navScanIcon: require('../assets/pixiesprout/exact_assets_update/bottom_nav_scan_icon.png'),
  navCareIcon: require('../assets/pixiesprout/background_nav_fix/nav_care_icon_alpha.png'),
  navCommunityIcon: require('../assets/pixiesprout/background_nav_fix/nav_community_icon_alpha.png'),
  navSelectedHome: require('../assets/pixiesprout/generated_nav/nav_selected_home.png'),
  navSelectedGarden: require('../assets/pixiesprout/generated_nav/nav_selected_garden.png'),
  navSelectedScan: require('../assets/pixiesprout/generated_nav/nav_selected_scan.png'),
  navSelectedCare: require('../assets/pixiesprout/generated_nav/nav_selected_care.png'),
  navSelectedCommunity: require('../assets/pixiesprout/generated_nav/nav_selected_community.png'),
  journalTopTorn: journalTopTornSource,
} satisfies Record<string, ImageSourcePropType>;

/**
 * Image asset constants for PixieSprout.
 * All require() paths are relative to this file (constants/images.ts).
 */
export const img = imageAssets;

export const notebookPaper =
  require('../assets/textures/cream-watercolor-paper-tile.png') satisfies ImageSourcePropType;
export const notebookLines =
  require('../assets/ui/notebook-lines-overlay.png') satisfies ImageSourcePropType;
export const journalFullPage =
  require('../assets/pixiesprout/notebook/journal-fullpage.png') satisfies ImageSourcePropType;
export const journalTopTorn = journalTopTornSource;
