diff --git a/public/base-locales/en.json b/public/base-locales/en.json index cd3acd484..8b35aeba2 100644 --- a/public/base-locales/en.json +++ b/public/base-locales/en.json @@ -546,5 +546,7 @@ "poi_color": "POI Color", "quest_condition": "Quest Condition", "always_show_labels": "Always Show Labels", - "scan_areas_options": "Scan Areas Options" + "scan_areas_options": "Scan Areas Options", + "300m_range": "300m Range", + "lure_range": "Lure Range" } diff --git a/server/src/configs/custom-environment-variables.json b/server/src/configs/custom-environment-variables.json index 0efb11b23..6648dfaa1 100644 --- a/server/src/configs/custom-environment-variables.json +++ b/server/src/configs/custom-environment-variables.json @@ -529,6 +529,10 @@ "__name": "CLIENT_SIDE_OPTIONS_GYMS_INTERACTION_RANGES", "__format": "boolean" }, + "300mRange": { + "__name": "CLIENT_SIDE_OPTIONS_GYMS_300M_RANGE", + "__format": "boolean" + }, "showExBadge": { "__name": "CLIENT_SIDE_OPTIONS_GYMS_SHOW_EX_BADGE", "__format": "boolean" @@ -563,6 +567,10 @@ "__name": "CLIENT_SIDE_OPTIONS_POKESTOPS_INTERACTION_RANGES", "__format": "boolean" }, + "lureRange": { + "__name": "CLIENT_SIDE_OPTIONS_POKESTOPS_LURE_RANGE", + "__format": "boolean" + }, "madQuestText": { "__name": "CLIENT_SIDE_OPTIONS_POKESTOPS_MAD_QUEST_TEXT", "__format": "boolean" diff --git a/server/src/configs/default.json b/server/src/configs/default.json index 718171d47..e5858484a 100644 --- a/server/src/configs/default.json +++ b/server/src/configs/default.json @@ -230,6 +230,7 @@ "clustering": true, "raidTimers": false, "interactionRanges": false, + "300mRange": false, "showExBadge": false, "showArBadge": false, "raidLevelBadges": false, @@ -240,6 +241,7 @@ "invasionTimers": false, "lureTimers": false, "interactionRanges": false, + "lureRange": false, "madQuestText": false, "hasQuestIndicator": true, "showArBadge": false diff --git a/server/src/services/ui/clientOptions.js b/server/src/services/ui/clientOptions.js index 34aa9c947..b6eaad6e6 100644 --- a/server/src/services/ui/clientOptions.js +++ b/server/src/services/ui/clientOptions.js @@ -17,6 +17,7 @@ module.exports = function clientOptions(perms) { clustering: { type: 'bool', perm: ['gyms', 'raids'] }, raidTimers: { type: 'bool', perm: ['raids'] }, interactionRanges: { type: 'bool', perm: ['gyms', 'raids'] }, + "300mRange": { type: 'bool', perm: ['raids'] }, showExBadge: { type: 'bool', perm: ['gyms'] }, showArBadge: { type: 'bool', perm: ['gyms'] }, raidLevelBadges: { type: 'bool', perm: ['raids'] }, @@ -27,6 +28,7 @@ module.exports = function clientOptions(perms) { invasionTimers: { type: 'bool', perm: ['invasions'] }, lureTimers: { type: 'bool', perm: ['lures'] }, interactionRanges: { type: 'bool', perm: ['pokestops'] }, + lureRange: { type: 'bool', perm: ['lures'] }, hasQuestIndicator: { type: 'bool', perm: ['quests'] }, showArBadge: { type: 'bool', perm: ['pokestops'] }, }, diff --git a/src/components/tiles/Gym.jsx b/src/components/tiles/Gym.jsx index 1f40adf18..c02d8d63c 100644 --- a/src/components/tiles/Gym.jsx +++ b/src/components/tiles/Gym.jsx @@ -32,6 +32,8 @@ const GymTile = ({ params, showCircles, setParams, + config, + zoom, }) => { const markerRef = useRef({}) const [done, setDone] = useState(false) @@ -116,6 +118,13 @@ const GymTile = ({ pathOptions={{ color: getColor(item.team_id), weight: 1 }} /> )} + {userSettings['300mRange'] && zoom >= config.interactionRangeZoom && ( + + )} ) ) diff --git a/src/components/tiles/Pokestop.jsx b/src/components/tiles/Pokestop.jsx index 0130ccf20..58957ab83 100644 --- a/src/components/tiles/Pokestop.jsx +++ b/src/components/tiles/Pokestop.jsx @@ -21,6 +21,7 @@ const PokestopTile = ({ showCircles, config, setParams, + zoom, }) => { const markerRef = useRef({}) const [done, setDone] = useState(false) @@ -107,6 +108,13 @@ const PokestopTile = ({ pathOptions={{ color: '#0DA8E7', weight: 1 }} /> )} + {userSettings.lureRange && zoom >= config.interactionRangeZoom && ( + + )} ) )