By default, only automatically show photos for relays marked as trusted (which by default is the required read relay). For other relays, only show the user's own events by default, but allow showing all events via link in place details (drawer bottom)
322 lines
16 KiB
JavaScript
322 lines
16 KiB
JavaScript
// AGENT: Keep imports sorted alphabetically, grouped by feather-icons → pinhead → custom/local
|
|
/*
|
|
* Feather icons
|
|
*/
|
|
import activity from 'feather-icons/dist/icons/activity.svg?raw';
|
|
import arrowLeft from 'feather-icons/dist/icons/arrow-left.svg?raw';
|
|
import bookmark from 'feather-icons/dist/icons/bookmark.svg?raw';
|
|
import featherCamera from 'feather-icons/dist/icons/camera.svg?raw';
|
|
import checkSquare from 'feather-icons/dist/icons/check-square.svg?raw';
|
|
import chevronLeft from 'feather-icons/dist/icons/chevron-left.svg?raw';
|
|
import chevronRight from 'feather-icons/dist/icons/chevron-right.svg?raw';
|
|
import alertTriangle from 'feather-icons/dist/icons/alert-triangle.svg?raw';
|
|
import clock from 'feather-icons/dist/icons/clock.svg?raw';
|
|
import database from 'feather-icons/dist/icons/database.svg?raw';
|
|
import edit from 'feather-icons/dist/icons/edit.svg?raw';
|
|
import facebook from 'feather-icons/dist/icons/facebook.svg?raw';
|
|
import gift from 'feather-icons/dist/icons/gift.svg?raw';
|
|
import globe from 'feather-icons/dist/icons/globe.svg?raw';
|
|
import heart from 'feather-icons/dist/icons/heart.svg?raw';
|
|
import home from 'feather-icons/dist/icons/home.svg?raw';
|
|
import info from 'feather-icons/dist/icons/info.svg?raw';
|
|
import instagram from 'feather-icons/dist/icons/instagram.svg?raw';
|
|
import logIn from 'feather-icons/dist/icons/log-in.svg?raw';
|
|
import logOut from 'feather-icons/dist/icons/log-out.svg?raw';
|
|
import mail from 'feather-icons/dist/icons/mail.svg?raw';
|
|
import map from 'feather-icons/dist/icons/map.svg?raw';
|
|
import mapPin from 'feather-icons/dist/icons/map-pin.svg?raw';
|
|
import menu from 'feather-icons/dist/icons/menu.svg?raw';
|
|
import moreHorizontal from 'feather-icons/dist/icons/more-horizontal.svg?raw';
|
|
import moreVertical from 'feather-icons/dist/icons/more-vertical.svg?raw';
|
|
import navigation from 'feather-icons/dist/icons/navigation.svg?raw';
|
|
import phone from 'feather-icons/dist/icons/phone.svg?raw';
|
|
import plus from 'feather-icons/dist/icons/plus.svg?raw';
|
|
import search from 'feather-icons/dist/icons/search.svg?raw';
|
|
import server from 'feather-icons/dist/icons/server.svg?raw';
|
|
import settings from 'feather-icons/dist/icons/settings.svg?raw';
|
|
import shield from 'feather-icons/dist/icons/shield.svg?raw';
|
|
import target from 'feather-icons/dist/icons/target.svg?raw';
|
|
import trash2 from 'feather-icons/dist/icons/trash-2.svg?raw';
|
|
import uploadCloud from 'feather-icons/dist/icons/upload-cloud.svg?raw';
|
|
import user from 'feather-icons/dist/icons/user.svg?raw';
|
|
import x from 'feather-icons/dist/icons/x.svg?raw';
|
|
import check from 'feather-icons/dist/icons/check.svg?raw';
|
|
import alertCircle from 'feather-icons/dist/icons/alert-circle.svg?raw';
|
|
import zap from 'feather-icons/dist/icons/zap.svg?raw';
|
|
|
|
/*
|
|
* Pinhead icons
|
|
*/
|
|
import angelfish from '@waysidemapping/pinhead/dist/icons/angelfish.svg?raw';
|
|
import anchor from '@waysidemapping/pinhead/dist/icons/anchor.svg?raw';
|
|
import airportTerminal from '@waysidemapping/pinhead/dist/icons/airport_terminal.svg?raw';
|
|
import barbell from '@waysidemapping/pinhead/dist/icons/barbell.svg?raw';
|
|
import barrelWithBunghole from '@waysidemapping/pinhead/dist/icons/barrel_with_bunghole.svg?raw';
|
|
import climbingWall from '@waysidemapping/pinhead/dist/icons/climbing_wall.svg?raw';
|
|
import banknote from '@waysidemapping/pinhead/dist/icons/banknote.svg?raw';
|
|
import banknoteInSlot from '@waysidemapping/pinhead/dist/icons/banknote_in_slot.svg?raw';
|
|
import badgeShieldWithFire from '@waysidemapping/pinhead/dist/icons/badge_shield_with_fire.svg?raw';
|
|
import beachUmbrellaInGround from '@waysidemapping/pinhead/dist/icons/beach_umbrella_in_ground.svg?raw';
|
|
import beerMugWithFoam from '@waysidemapping/pinhead/dist/icons/beer_mug_with_foam.svg?raw';
|
|
import burgerAndDrinkCupWithStraw from '@waysidemapping/pinhead/dist/icons/burger_and_drink_cup_with_straw.svg?raw';
|
|
import bridge from '@waysidemapping/pinhead/dist/icons/bridge.svg?raw';
|
|
import bus from '@waysidemapping/pinhead/dist/icons/bus.svg?raw';
|
|
import camera from '@waysidemapping/pinhead/dist/icons/camera.svg?raw';
|
|
import boxingGloveUp from '@waysidemapping/pinhead/dist/icons/boxing_glove_up.svg?raw';
|
|
import car from '@waysidemapping/pinhead/dist/icons/car.svg?raw';
|
|
import carAndWrench from '@waysidemapping/pinhead/dist/icons/car_and_wrench.svg?raw';
|
|
import carBetweenRollerBrushes from '@waysidemapping/pinhead/dist/icons/car_between_roller_brushes.svg?raw';
|
|
import castleKeep from '@waysidemapping/pinhead/dist/icons/castle_keep.svg?raw';
|
|
import cigaretteWithSmokeCurl from '@waysidemapping/pinhead/dist/icons/cigarette_with_smoke_curl.svg?raw';
|
|
import cityGate from '@waysidemapping/pinhead/dist/icons/city_gate.svg?raw';
|
|
import classicalBuilding from '@waysidemapping/pinhead/dist/icons/classical_building.svg?raw';
|
|
import classicalBuildingWithClock from '@waysidemapping/pinhead/dist/icons/classical_building_with_clock.svg?raw';
|
|
import classicalBuildingWithDomeAndFlag from '@waysidemapping/pinhead/dist/icons/classical_building_with_dome_and_flag.svg?raw';
|
|
import classicalBuildingWithFlag from '@waysidemapping/pinhead/dist/icons/classical_building_with_flag.svg?raw';
|
|
import commercialBuilding from '@waysidemapping/pinhead/dist/icons/commercial_building.svg?raw';
|
|
import clothesHanger from '@waysidemapping/pinhead/dist/icons/clothes_hanger.svg?raw';
|
|
import cleaver from '@waysidemapping/pinhead/dist/icons/cleaver.svg?raw';
|
|
import cloth from '@waysidemapping/pinhead/dist/icons/cloth.svg?raw';
|
|
import cocktail from '@waysidemapping/pinhead/dist/icons/cocktail.svg?raw';
|
|
import couch from '@waysidemapping/pinhead/dist/icons/couch.svg?raw';
|
|
import coffeeBean from '@waysidemapping/pinhead/dist/icons/coffee_bean.svg?raw';
|
|
import comedyMaskAndTragedyMask from '@waysidemapping/pinhead/dist/icons/comedy_mask_and_tragedy_mask.svg?raw';
|
|
import croissant from '@waysidemapping/pinhead/dist/icons/croissant.svg?raw';
|
|
import cupAndSaucer from '@waysidemapping/pinhead/dist/icons/cup_and_saucer.svg?raw';
|
|
import donut from '@waysidemapping/pinhead/dist/icons/donut.svg?raw';
|
|
import dollarSwapToEuro from '@waysidemapping/pinhead/dist/icons/dollar_swap_to_euro.svg?raw';
|
|
import eyeglasses from '@waysidemapping/pinhead/dist/icons/eyeglasses.svg?raw';
|
|
import fancyMirrorWithReflectionAndStars from '@waysidemapping/pinhead/dist/icons/fancy_mirror_with_reflection_and_stars.svg?raw';
|
|
import familyRestroomSymbol from '@waysidemapping/pinhead/dist/icons/family_restroom_symbol.svg?raw';
|
|
import film from '@waysidemapping/pinhead/dist/icons/film.svg?raw';
|
|
import fingernailPolished from '@waysidemapping/pinhead/dist/icons/fingernail_polished.svg?raw';
|
|
import fish from '@waysidemapping/pinhead/dist/icons/fish.svg?raw';
|
|
import flagCheckered from '@waysidemapping/pinhead/dist/icons/flag_checkered.svg?raw';
|
|
import flowerBouquet from '@waysidemapping/pinhead/dist/icons/flower_bouquet.svg?raw';
|
|
import fort from '@waysidemapping/pinhead/dist/icons/fort.svg?raw';
|
|
import forkAndKnife from '@waysidemapping/pinhead/dist/icons/fork_and_knife.svg?raw';
|
|
import gravestone from '@waysidemapping/pinhead/dist/icons/gravestone.svg?raw';
|
|
import grecianVase from '@waysidemapping/pinhead/dist/icons/grecian_vase.svg?raw';
|
|
import greekCross from '@waysidemapping/pinhead/dist/icons/greek_cross.svg?raw';
|
|
import grapes from '@waysidemapping/pinhead/dist/icons/grapes.svg?raw';
|
|
import gasolinePump from '@waysidemapping/pinhead/dist/icons/gasoline_pump.svg?raw';
|
|
import iceCreamOnCone from '@waysidemapping/pinhead/dist/icons/ice_cream_on_cone.svg?raw';
|
|
import industrialBuilding from '@waysidemapping/pinhead/dist/icons/industrial_building.svg?raw';
|
|
import infoI from '@waysidemapping/pinhead/dist/icons/info_i.svg?raw';
|
|
import jewel from '@waysidemapping/pinhead/dist/icons/jewel.svg?raw';
|
|
import lowriseBuilding from '@waysidemapping/pinhead/dist/icons/lowrise_building.svg?raw';
|
|
import marketStall from '@waysidemapping/pinhead/dist/icons/market_stall.svg?raw';
|
|
import memorialStoneWithInscription from '@waysidemapping/pinhead/dist/icons/memorial_stone_with_inscription.svg?raw';
|
|
import mobilePhoneWithKeypadAndAntenna from '@waysidemapping/pinhead/dist/icons/mobile_phone_with_keypad_and_antenna.svg?raw';
|
|
import molarTooth from '@waysidemapping/pinhead/dist/icons/molar_tooth.svg?raw';
|
|
import needleAndSpoolOfThread from '@waysidemapping/pinhead/dist/icons/needle_and_spool_of_thread.svg?raw';
|
|
import openBook from '@waysidemapping/pinhead/dist/icons/open_book.svg?raw';
|
|
import palace from '@waysidemapping/pinhead/dist/icons/palace.svg?raw';
|
|
import parkingP from '@waysidemapping/pinhead/dist/icons/p_wide.svg?raw';
|
|
import personCricketBattingAtCricketBall from '@waysidemapping/pinhead/dist/icons/person_cricket_batting_at_cricket_ball.svg?raw';
|
|
import personBoardingTramWithDestinationDisplayAndPantographOnTramTrack from '@waysidemapping/pinhead/dist/icons/person_boarding_tram_with_destination_display_and_pantograph_on_tram_track.svg?raw';
|
|
import personJockeyingRacehorse from '@waysidemapping/pinhead/dist/icons/person_jockeying_racehorse.svg?raw';
|
|
import personPlayingTennis from '@waysidemapping/pinhead/dist/icons/person_playing_tennis.svg?raw';
|
|
import personRunning from '@waysidemapping/pinhead/dist/icons/person_running.svg?raw';
|
|
import personSleepingInBed from '@waysidemapping/pinhead/dist/icons/person_sleeping_in_bed.svg?raw';
|
|
import personSwimmingInWater from '@waysidemapping/pinhead/dist/icons/person_swimming_in_water.svg?raw';
|
|
import personSwingingGolfClub from '@waysidemapping/pinhead/dist/icons/person_swinging_golf_club.svg?raw';
|
|
import plantInRaisedPlanter from '@waysidemapping/pinhead/dist/icons/plant_in_raised_planter.svg?raw';
|
|
import placeOfWorshipBuilding from '@waysidemapping/pinhead/dist/icons/place_of_worship_building.svg?raw';
|
|
import playStructureWithSlide from '@waysidemapping/pinhead/dist/icons/play_structure_with_slide.svg?raw';
|
|
import policeOfficerWithStopArm from '@waysidemapping/pinhead/dist/icons/police_officer_with_stop_arm.svg?raw';
|
|
import planeTopRight from '@waysidemapping/pinhead/dist/icons/plane_top_right.svg?raw';
|
|
import roundStructureWithFlag from '@waysidemapping/pinhead/dist/icons/round_structure_with_flag.svg?raw';
|
|
import sailingShipInWater from '@waysidemapping/pinhead/dist/icons/sailing_ship_in_water.svg?raw';
|
|
import scissorsOpen from '@waysidemapping/pinhead/dist/icons/open_scissors.svg?raw';
|
|
import shipwreckInWater from '@waysidemapping/pinhead/dist/icons/shipwreck_in_water.svg?raw';
|
|
import steamTrainOnRailwayTrack from '@waysidemapping/pinhead/dist/icons/steam_train_on_railway_track.svg?raw';
|
|
import shoppingBag from '@waysidemapping/pinhead/dist/icons/shopping_bag.svg?raw';
|
|
import shoppingBasket from '@waysidemapping/pinhead/dist/icons/shopping_basket.svg?raw';
|
|
import shoppingCart from '@waysidemapping/pinhead/dist/icons/shopping_cart.svg?raw';
|
|
import tableTennisPaddle from '@waysidemapping/pinhead/dist/icons/table_tennis_paddle.svg?raw';
|
|
import tattooMachine from '@waysidemapping/pinhead/dist/icons/tattoo_machine.svg?raw';
|
|
import toolbox from '@waysidemapping/pinhead/dist/icons/toolbox.svg?raw';
|
|
import treeAndBenchWithBackrest from '@waysidemapping/pinhead/dist/icons/tree_and_bench_with_backrest.svg?raw';
|
|
import villageBuildings from '@waysidemapping/pinhead/dist/icons/village_buildings.svg?raw';
|
|
import wallHangingWithMountainsAndSun from '@waysidemapping/pinhead/dist/icons/wall_hanging_with_mountains_and_sun.svg?raw';
|
|
import windingWayWide from '@waysidemapping/pinhead/dist/icons/winding_way_wide.svg?raw';
|
|
import waterStandpipeWithHandleAndDrinkingGlass from '@waysidemapping/pinhead/dist/icons/water_standpipe_with_handle_and_drinking_glass.svg?raw';
|
|
import womensAndMensRestroomSymbol from '@waysidemapping/pinhead/dist/icons/womens_and_mens_restroom_symbol.svg?raw';
|
|
|
|
/*
|
|
* Custom/local icons
|
|
*/
|
|
import loadingRing from '../icons/270-ring.svg?raw';
|
|
import nostrich from '../icons/nostrich-2.svg?raw';
|
|
import remotestorage from '../icons/remotestorage.svg?raw';
|
|
import whatsapp from '../icons/whatsapp.svg?raw';
|
|
import wikipedia from '../icons/wikipedia.svg?raw';
|
|
|
|
const ICONS = {
|
|
activity,
|
|
angelfish,
|
|
anchor,
|
|
'airport-terminal': airportTerminal,
|
|
'arrow-left': arrowLeft,
|
|
barbell,
|
|
'barrel-with-bunghole': barrelWithBunghole,
|
|
banknote,
|
|
'banknote-in-slot': banknoteInSlot,
|
|
'badge-shield-with-fire': badgeShieldWithFire,
|
|
'beach-umbrella-in-ground': beachUmbrellaInGround,
|
|
'beer-mug-with-foam': beerMugWithFoam,
|
|
bookmark,
|
|
'boxing-glove-up': boxingGloveUp,
|
|
'burger-and-drink-cup-with-straw': burgerAndDrinkCupWithStraw,
|
|
bridge,
|
|
bus,
|
|
camera,
|
|
'feather-camera': featherCamera,
|
|
'check-square': checkSquare,
|
|
'chevron-left': chevronLeft,
|
|
'chevron-right': chevronRight,
|
|
'cigarette-with-smoke-curl': cigaretteWithSmokeCurl,
|
|
'city-gate': cityGate,
|
|
climbing_wall: climbingWall,
|
|
check,
|
|
'alert-circle': alertCircle,
|
|
'alert-triangle': alertTriangle,
|
|
'classical-building': classicalBuilding,
|
|
'classical-building-with-clock': classicalBuildingWithClock,
|
|
'classical-building-with-dome-and-flag': classicalBuildingWithDomeAndFlag,
|
|
'classical-building-with-flag': classicalBuildingWithFlag,
|
|
'commercial-building': commercialBuilding,
|
|
'clothes-hanger': clothesHanger,
|
|
cleaver,
|
|
cloth,
|
|
cocktail,
|
|
couch,
|
|
clock,
|
|
'coffee-bean': coffeeBean,
|
|
'comedy-mask-and-tragedy-mask': comedyMaskAndTragedyMask,
|
|
croissant,
|
|
'cup-and-saucer': cupAndSaucer,
|
|
database,
|
|
donut,
|
|
'dollar-swap-to-euro': dollarSwapToEuro,
|
|
edit,
|
|
eyeglasses,
|
|
facebook,
|
|
'fancy-mirror-with-reflection-and-stars': fancyMirrorWithReflectionAndStars,
|
|
'family-restroom-symbol': familyRestroomSymbol,
|
|
film,
|
|
'fingernail-polished': fingernailPolished,
|
|
fish,
|
|
'flag-checkered': flagCheckered,
|
|
'flower-bouquet': flowerBouquet,
|
|
'fork-and-knife': forkAndKnife,
|
|
fort,
|
|
'gasoline-pump': gasolinePump,
|
|
gift,
|
|
globe,
|
|
grapes,
|
|
gravestone,
|
|
'grecian-vase': grecianVase,
|
|
'greek-cross': greekCross,
|
|
heart,
|
|
home,
|
|
'ice-cream-on-cone': iceCreamOnCone,
|
|
'industrial-building': industrialBuilding,
|
|
info,
|
|
'info-i': infoI,
|
|
instagram,
|
|
jewel,
|
|
'log-in': logIn,
|
|
'log-out': logOut,
|
|
'lowrise-building': lowriseBuilding,
|
|
mail,
|
|
map,
|
|
'map-pin': mapPin,
|
|
'market-stall': marketStall,
|
|
'memorial-stone-with-inscription': memorialStoneWithInscription,
|
|
menu,
|
|
'mobile-phone-with-keypad-and-antenna': mobilePhoneWithKeypadAndAntenna,
|
|
'molar-tooth': molarTooth,
|
|
'more-horizontal': moreHorizontal,
|
|
'more-vertical': moreVertical,
|
|
navigation,
|
|
'needle-and-spool-of-thread': needleAndSpoolOfThread,
|
|
nostrich,
|
|
'open-book': openBook,
|
|
palace,
|
|
'person-cricket-batting-at-cricket-ball': personCricketBattingAtCricketBall,
|
|
'person-boarding-tram-with-destination-display-and-pantograph-on-tram-track':
|
|
personBoardingTramWithDestinationDisplayAndPantographOnTramTrack,
|
|
'person-jockeying-racehorse': personJockeyingRacehorse,
|
|
'person-playing-tennis': personPlayingTennis,
|
|
'person-running': personRunning,
|
|
'person-sleeping-in-bed': personSleepingInBed,
|
|
'person-swimming-in-water': personSwimmingInWater,
|
|
'person-swinging-golf-club': personSwingingGolfClub,
|
|
phone,
|
|
'plane-top-right': planeTopRight,
|
|
'plant-in-raised-planter': plantInRaisedPlanter,
|
|
'place-of-worship-building': placeOfWorshipBuilding,
|
|
'play-structure-with-slide': playStructureWithSlide,
|
|
'police-officer-with-stop-arm': policeOfficerWithStopArm,
|
|
plus,
|
|
'round-structure-with-flag': roundStructureWithFlag,
|
|
remotestorage,
|
|
'sailing-ship-in-water': sailingShipInWater,
|
|
'scissors-open': scissorsOpen,
|
|
'shipwreck-in-water': shipwreckInWater,
|
|
'steam-train-on-railway-track': steamTrainOnRailwayTrack,
|
|
'shopping-bag': shoppingBag,
|
|
search,
|
|
server,
|
|
settings,
|
|
'shopping-basket': shoppingBasket,
|
|
'shopping-cart': shoppingCart,
|
|
'table-tennis-paddle': tableTennisPaddle,
|
|
'tattoo-machine': tattooMachine,
|
|
toolbox,
|
|
target,
|
|
'trash-2': trash2,
|
|
'upload-cloud': uploadCloud,
|
|
'tree-and-bench-with-backrest': treeAndBenchWithBackrest,
|
|
user,
|
|
'village-buildings': villageBuildings,
|
|
'wall-hanging-with-mountains-and-sun': wallHangingWithMountainsAndSun,
|
|
'womens-and-mens-restroom-symbol': womensAndMensRestroomSymbol,
|
|
whatsapp,
|
|
wikipedia,
|
|
winding_way_wide: windingWayWide,
|
|
'water-standpipe-with-handle-and-drinking-glass':
|
|
waterStandpipeWithHandleAndDrinkingGlass,
|
|
parking_p: parkingP,
|
|
car,
|
|
'car-and-wrench': carAndWrench,
|
|
'car-between-roller-brushes': carBetweenRollerBrushes,
|
|
'castle-keep': castleKeep,
|
|
x,
|
|
zap,
|
|
shield,
|
|
'loading-ring': loadingRing,
|
|
};
|
|
|
|
const FILLED_ICONS = [
|
|
'fork-and-knife',
|
|
'wikipedia',
|
|
'whatsapp',
|
|
'cup-and-saucer',
|
|
'coffee-bean',
|
|
'shopping-basket',
|
|
'person-sleeping-in-bed',
|
|
'loading-ring',
|
|
'nostrich',
|
|
];
|
|
|
|
export function getIcon(name) {
|
|
return ICONS[name];
|
|
}
|
|
|
|
export function isIconFilled(name) {
|
|
return FILLED_ICONS.includes(name);
|
|
}
|