package org.tasks.themes

import androidx.annotation.DrawableRes
import org.tasks.R

object CustomIcons {

    const val LABEL = 1
    const val FILTER = 2
    const val ALL_INBOX = 4
    const val HISTORY = 6
    const val TODAY = 7
    const val LIST = 8
    const val PLACE = 1050

    @JvmStatic
    var ICONS = mapOf(
        LABEL to R.drawable.ic_outline_label_24px,
        FILTER to R.drawable.ic_outline_filter_list_24px,
        3 to R.drawable.ic_outline_cloud_24px,
        ALL_INBOX to R.drawable.ic_outline_all_inbox_24px,
        5 to R.drawable.ic_outline_label_off_24px,
        HISTORY to R.drawable.ic_outline_history_24px,
        TODAY to R.drawable.ic_outline_today_24px,
        LIST to R.drawable.ic_list_24px,
        1000 to R.drawable.ic_outline_flag_24px,
        1062 to R.drawable.ic_outline_home_24px,
        1041 to R.drawable.ic_outline_work_outline_24px,
        1001 to R.drawable.ic_outline_pets_24px,
        1002 to R.drawable.ic_outline_payment_24px,
        1003 to R.drawable.ic_outline_attach_money_24px,
        1059 to R.drawable.ic_outline_euro_symbol_24px,
        1042 to R.drawable.ic_outline_store_24px,
        1043 to R.drawable.ic_outline_shopping_cart_24px,
        1004 to R.drawable.ic_outline_hourglass_empty_24px,
        1005 to R.drawable.ic_outline_favorite_border_24px,
        1006 to R.drawable.ic_outline_school_24px,
        1007 to R.drawable.ic_outline_drive_eta_24px,
        1008 to R.drawable.ic_outline_whatshot_24px,
        1009 to R.drawable.ic_outline_star_border_24px,
        1010 to R.drawable.ic_outline_account_balance_24px,
        1011 to R.drawable.ic_outline_location_city_24px,
        1012 to R.drawable.ic_outline_cake_24px,
        1013 to R.drawable.ic_outline_kitchen_24px,
        1014 to R.drawable.ic_outline_fitness_center_24px,
        1015 to R.drawable.ic_outline_child_friendly_24px,
        1016 to R.drawable.ic_outline_free_breakfast_24px,
        1017 to R.drawable.ic_outline_golf_course_24px,
        1018 to R.drawable.ic_outline_beach_access_24px,
        1019 to R.drawable.ic_outline_restaurant_menu_24px,
        1020 to R.drawable.ic_outline_local_pharmacy_24px,
        1021 to R.drawable.ic_outline_fastfood_24px,
        1022 to R.drawable.ic_outline_hotel_24px,
        1023 to R.drawable.ic_outline_flight_24px,
        1057 to R.drawable.ic_outline_flight_takeoff_24px,
        1058 to R.drawable.ic_outline_flight_land_24px,
        1024 to R.drawable.ic_outline_directions_run_24px,
        1025 to R.drawable.ic_outline_wb_sunny_24px,
        1026 to R.drawable.ic_outline_desktop_mac_24px,
        1027 to R.drawable.ic_outline_computer_24px,
        1028 to R.drawable.ic_outline_format_paint_24px,
        1029 to R.drawable.ic_outline_storage_24px,
        1030 to R.drawable.ic_outline_send_24px,
        1031 to R.drawable.ic_outline_weekend_24px,
        1032 to R.drawable.ic_outline_link_24px,
        1033 to R.drawable.ic_outline_business_24px,
        1034 to R.drawable.ic_outline_chat_bubble_outline_24px,
        1035 to R.drawable.ic_outline_voicemail_24px,
        1036 to R.drawable.ic_outline_email_24px,
        1037 to R.drawable.ic_outline_call_24px,
        1039 to R.drawable.ic_outline_movie_24px,
        1040 to R.drawable.ic_outline_equalizer_24px,
        1071 to R.drawable.ic_outline_pie_chart_24px,
        1072 to R.drawable.ic_outline_show_chart_24px,
        1044 to R.drawable.ic_outline_schedule_24px,
        1045 to R.drawable.ic_outline_photo_camera_24px,
        1046 to R.drawable.ic_outline_delete_24px,
        1047 to R.drawable.ic_outline_attachment_24px,
        1048 to R.drawable.ic_outline_vpn_key_24px,
        1049 to R.drawable.ic_outline_event_24px,
        PLACE to R.drawable.ic_outline_place_24px,
        1051 to R.drawable.ic_outline_markunread_mailbox_24px,
        1052 to R.drawable.ic_outline_label_important_24px,
        1053 to R.drawable.ic_outline_android_24px,
        1054 to R.drawable.ic_outline_build_24px,
        1055 to R.drawable.ic_outline_bug_report_24px,
        1056 to R.drawable.ic_outline_book_24px,
        1060 to R.drawable.ic_outline_explore_24px,
        1061 to R.drawable.ic_outline_gavel_24px,
        1063 to R.drawable.ic_outline_print_24px,
        1064 to R.drawable.ic_outline_receipt_24px,
        1038 to R.drawable.ic_outline_new_releases_24px,
        1065 to R.drawable.ic_outline_report_problem_24px,
        1068 to R.drawable.ic_outline_error_outline_24px,
        1069 to R.drawable.ic_outline_not_interested_24px,
        1070 to R.drawable.ic_outline_report_24px,
        1066 to R.drawable.ic_outline_turned_in_24px,
        1067 to R.drawable.ic_outline_turned_in_not_24px,
        1073 to R.drawable.ic_outline_headset_24px,
        1074 to R.drawable.ic_outline_mic_none_24px,
        1075 to R.drawable.ic_outline_timer_24px,
        1076 to R.drawable.ic_outline_clear_24px,
        1077 to R.drawable.ic_outline_search_24px,
        1078 to R.drawable.ic_outline_repeat_24px,
        1079 to R.drawable.ic_outline_notifications_24px,
        1080 to R.drawable.ic_outline_star_half_24px,
        1081 to R.drawable.ic_outline_share_24px,
        1082 to R.drawable.ic_outline_sentiment_very_satisfied_24px,
        1083 to R.drawable.ic_outline_sentiment_very_dissatisfied_24px,
        1084 to R.drawable.ic_outline_sentiment_satisfied_24px,
        1085 to R.drawable.ic_outline_sentiment_dissatisfied_24px,
        1086 to R.drawable.ic_outline_mood_bad_24px,
        1087 to R.drawable.ic_outline_mood_24px,
        1088 to R.drawable.ic_outline_spa_24px,
        1089 to R.drawable.ic_outline_room_service_24px,
        1090 to R.drawable.ic_outline_meeting_room_24px,
        1091 to R.drawable.ic_outline_hot_tub_24px,
        1092 to R.drawable.ic_outline_business_center_24px,
        1093 to R.drawable.ic_outline_priority_high_24px,
        1094 to R.drawable.ic_outline_power_24px,
        1095 to R.drawable.ic_outline_power_off_24px,
        1096 to R.drawable.ic_outline_directions_bike_24px,
        1097 to R.drawable.ic_outline_local_florist_24px,
        1098 to R.drawable.ic_outline_local_pizza_24px,
        1099 to R.drawable.ic_outline_navigation_24px,
        1100 to R.drawable.ic_outline_local_play_24px,
        1101 to R.drawable.ic_outline_local_bar_24px,
        1102 to R.drawable.ic_outline_local_laundry_service_24px,
        1103 to R.drawable.ic_outline_local_offer_24px,
        1104 to R.drawable.ic_outline_local_shipping_24px,
        1105 to R.drawable.ic_outline_local_hospital_24px,
        1106 to R.drawable.ic_outline_directions_boat_24px,
        1107 to R.drawable.ic_outline_directions_walk_24px,
        1108 to R.drawable.ic_outline_wb_incandescent_24px,
        1109 to R.drawable.ic_outline_landscape_24px,
        1110 to R.drawable.ic_outline_music_note_24px,
        1111 to R.drawable.ic_outline_healing_24px,
        1112 to R.drawable.ic_outline_brush_24px,
        1113 to R.drawable.ic_outline_brightness_2_24px,
        1114 to R.drawable.ic_outline_security_24px,
        1115 to R.drawable.ic_outline_scanner_24px,
        1116 to R.drawable.ic_outline_router_24px,
        1117 to R.drawable.ic_outline_watch_24px,
        1118 to R.drawable.ic_outline_videogame_asset_24px,
        1119 to R.drawable.ic_cached_24px,
        1120 to R.drawable.ic_octocat,
        1121 to R.drawable.ic_outline_perm_identity_24px,
        1122 to R.drawable.ic_track_changes_24px,
        1123 to R.drawable.ic_open_in_new_24px,
        1124 to R.drawable.ic_outline_edit_24px,
        1125 to R.drawable.ic_outline_info_24px,
        1126 to R.drawable.ic_outline_palette_24px,
        1127 to R.drawable.ic_outline_sd_storage_24px,
        1128 to R.drawable.ic_baseline_lens_24px,
        1129 to R.drawable.ic_map_24px,
        1130 to R.drawable.ic_check_black_24dp,
        1131 to R.drawable.ic_undo_24px,
        1132 to R.drawable.ic_next_week_24px,
        1133 to R.drawable.ic_local_cafe_24px, // duplicate
        1134 to R.drawable.ic_nights_stay_24px,
        1135 to R.drawable.ic_single_bed_24px,
        1136 to R.drawable.ic_weather_sunset,
        1137 to R.drawable.ic_calendar_today_24px,
        1138 to R.drawable.ic_select_all_24px,
        1139 to R.drawable.ic_widgets_24px,
        1140 to R.drawable.ic_call_split_24px,
        1141 to R.drawable.ic_ac_unit_24px,
        1142 to R.drawable.ic_airport_shuttle_24px,
        1143 to R.drawable.ic_apartment_24px,
        1144 to R.drawable.ic_bathtub_24px,
        1145 to R.drawable.ic_casino_24px,
        1146 to R.drawable.ic_child_care_24px,
        1147 to R.drawable.ic_pool_24px,
        1148 to R.drawable.ic_house_24px,
        1149 to R.drawable.ic_storefront_24px,
        1150 to R.drawable.ic_poll_24px,
        1151 to R.drawable.ic_emoji_transportation_24px,
        1152 to R.drawable.ic_emoji_objects_24px,
        1153 to R.drawable.ic_emoji_nature_24px,
        1154 to R.drawable.ic_emoji_food_beverage_24px,
        1155 to R.drawable.ic_emoji_events_24px,
        1156 to R.drawable.ic_deck_24px,
        1157 to R.drawable.ic_fireplace_24px,
        1158 to R.drawable.ic_outdoor_grill_24px,
        1159 to R.drawable.ic_thumb_up_24px,
        1160 to R.drawable.ic_thumb_down_24px,
        1161 to R.drawable.ic_vertical_align_top_24px,
        1162 to R.drawable.ic_keyboard_arrow_left_24px,
        1163 to R.drawable.ic_keyboard_arrow_right_24px,
        1164 to R.drawable.ic_content_paste_24px,
        1165 to R.drawable.ic_content_copy_24px,
        1166 to R.drawable.ic_outline_play_arrow_24px,
        1167 to R.drawable.ic_play_circle_outline_24px,
        1168 to R.drawable.ic_not_started_24px,
        1169 to R.drawable.ic_date_range_24px,
        1170 to R.drawable.ic_pending_actions_24px,
        1171 to R.drawable.ic_outline_visibility_off_24px,
        1172 to R.drawable.ic_nature_24px,
        1173 to R.drawable.ic_eco_24px,
        1174 to R.drawable.ic_bedtime_24px,
        1175 to R.drawable.ic_auto_stories_24px,
        1176 to R.drawable.ic_flash_on_24px,
        1177 to R.drawable.ic_wb_twilight_24px,
        1178 to R.drawable.ic_local_atm_24px,
        1179 to R.drawable.ic_cleaning_services_24px,
        1180 to R.drawable.ic_plumbing_24px,
        1181 to R.drawable.ic_pest_control_rodent_24px,
        1182 to R.drawable.ic_outline_people_outline_24,
        1183 to R.drawable.ic_outline_forum_24,
        1184 to R.drawable.ic_twitter_logo_black,
        1185 to R.drawable.ic_outline_person_add_24,
        1186 to R.drawable.ic_outline_block_24,
    )

    @JvmStatic
    fun getIconList() = ICONS.keys.toList()

    @JvmStatic
    fun getIconResId(index: Int) = ICONS[index]

    @JvmStatic
    fun getIndex(position: Int) = getIconList()[position]

    @DrawableRes
    fun getIcon(index: Int, def: Int) = getIconResId(index) ?: def
}
