Skip to content

Commit fb4eeba

Browse files
authored
Merge pull request #245 from KenEucker/develop
3.3.3
2 parents cb8da3d + 15b76c6 commit fb4eeba

File tree

9 files changed

+41
-30
lines changed

9 files changed

+41
-30
lines changed

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "biketag-vue",
3-
"version": "3.3.2",
3+
"version": "3.3.3",
44
"license": "AGPL-3.0-or-later",
55
"author": "Ken Eucker",
66
"bugs": {
@@ -31,7 +31,7 @@
3131
"@vueuse/head": "^2.0.0",
3232
"ajv": "^8.12.0",
3333
"autoprefixer": "^10.4.17",
34-
"biketag": "^3.3.2",
34+
"biketag": "^3.3.3",
3535
"bootstrap": "^5.3.2",
3636
"bootstrap-vue-next": "^0.15.5",
3737
"crypto-js": "^4.2.0",

src/App.vue

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,18 +138,25 @@ function checkForNewBikeTagPost() {
138138
async function created() {
139139
const initResults = []
140140
/// Set it first thing
141+
await router.isReady()
141142
const _gameIsSet = store.gameName?.length !== 0
142-
if (_gameIsSet && router.currentRoute.value.name !== 'landing') {
143+
const routeIsRoot = router.currentRoute.value.path === '/'
144+
const routeIsLanding = router.currentRoute.value.name === 'Landing'
145+
146+
if (_gameIsSet && (!routeIsLanding || routeIsRoot)) {
143147
const game = await store.setGame().catch((err) => {
144148
debug('view::data-init', err)
145149
// router.push('/landing')
146150
})
147151
gameIsSet.value = true
152+
const routeIsHome = routeIsRoot ? true : router.currentRoute.value?.name === 'Home'
148153
149154
initResults.push(await store.fetchCurrentBikeTag())
150155
151-
if (game) {
152-
await router.push({ name: 'Home' })
156+
if (game && routeIsHome) {
157+
const tagnumber = parseInt(router.currentRoute.value.path.split('/')[1]) ?? undefined
158+
const params = { tagnumber }
159+
await router.push({ name: 'Home', params })
153160
}
154161
155162
initResults.push(store.fetchTags())

src/assets/styles/style.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ body {
1212

1313
.popover {
1414
z-index: 99;
15+
max-width: 60vw;
16+
min-width: 400px;
1517
}
1618

1719
#app {

src/components/BikeTagMap.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ const emit = defineEmits(['dragend'])
3434
const store = useBikeTagStore()
3535
const worldZoom = 3
3636
const cityZoom = 10
37-
const tagsZoom = 20
37+
const playZoom = 15
3838
const centerNorthAmerica = [40, -45]
3939
let map
4040
@@ -114,7 +114,7 @@ onMounted(async () => {
114114
draggable: true,
115115
}).addTo(map)
116116
L.control.locate().addTo(map)
117-
map.setView(props.start, tagsZoom)
117+
map.setView(props.start, playZoom)
118118
marker.on('dragend', (e) => {
119119
emit('dragend', e.target._latlng)
120120
})

src/components/BikeTagMenu.vue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,10 +217,9 @@ function onScroll() {
217217
async function resetBikeTagApp() {
218218
if (await isOnline()) {
219219
store.resetBikeTagCache()
220-
router.push({ name: 'Home' })
221-
} else {
222-
router.push('/')
223220
}
221+
222+
router.push({ name: 'Home' })
224223
}
225224
function login() {
226225
closeCollapsible()

src/components/QueueFound.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
placeholder="Enter a location"
8888
/>
8989
</bike-tag-input>
90-
<b-popover target="found" triggers="click focus" placement="top">
90+
<b-popover target="found" :hide="!showMap" placement="top">
9191
<template #title> Location: {{ getLocation }} </template>
9292
<p v-if="locationDisabled">{{ t('pages.round.image_first') }}</p>
9393
<bike-tag-map
@@ -172,6 +172,7 @@ const gps = ref({ lat: null, lng: null })
172172
const isGpsDefault = ref(true)
173173
const inputDOM = ref(null)
174174
const showModal = ref(false)
175+
const showMap = ref(false)
175176
const uploadInProgress = ref(false)
176177
const location = ref('')
177178
const player = ref('')
@@ -442,6 +443,7 @@ const setImage = async (event) => {
442443
lng: round(GPSData.longitude),
443444
}
444445
isGpsDefault.value = false
446+
showMap.value = true
445447
center.value = { ...gps.value }
446448
} else if (getGame.value?.boundary.lat && getGame.value?.boundary.lng) {
447449
gps.value = {
@@ -451,6 +453,7 @@ const setImage = async (event) => {
451453
isGpsDefault.value = true
452454
center.value = { ...gps.value }
453455
} else {
456+
showMap.value = true
454457
isGpsDefault.value = false
455458
}
456459
location.value = ''

src/views/Home.vue

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -80,21 +80,16 @@ import { useI18n } from 'vue-i18n'
8080
// data
8181
const router = useRouter()
8282
const route = useRoute()
83-
let tagnumber = ref(route.params?.tagnumber ? parseInt(route.params.tagnumber) : 0)
8483
const tagIsLoading = ref(true)
8584
const store = useBikeTagStore()
8685
const { t } = useI18n()
86+
const tagnumber = computed(() => (route.params?.tagnumber ? parseInt(route.params.tagnumber) : 0))
8787
8888
// computed
8989
const getCurrentBikeTag = computed(() => store.getCurrentBikeTag)
9090
const getImgurImageSized = computed(() => store.getImgurImageSized)
9191
const getTags = computed(() => store.getTags)
9292
93-
/// Support legacy webHashHistory urls
94-
if (tagnumber.value === 0 && window.location.hash.indexOf('#/') === 0) {
95-
tagnumber.value = parseInt(window.location.hash.split('#/')[1])
96-
}
97-
9893
const tag = computed(() => {
9994
if (tagnumber.value !== 0) {
10095
const tag = getTags.value?.filter((t) => t.tagnumber === tagnumber.value)
@@ -108,21 +103,26 @@ function tagImageLoaded() {
108103
tagIsLoading.value = false
109104
}
110105
function goNextSingle() {
111-
tagnumber.value++
112106
if (tagnumber.value === getCurrentBikeTag.value.tagnumber) {
113-
tagnumber.value = 0
107+
router.push('/')
114108
} else {
115-
router.push(`/${tagnumber.value}`)
109+
router.push(`/${tagnumber.value + 1}`)
116110
}
117111
}
118112
function goPreviousSingle() {
119-
tagnumber.value = tagnumber.value > 0 ? tagnumber.value : getCurrentBikeTag.value.tagnumber
120-
tagnumber.value--
121-
router.push(`/${tagnumber.value}`)
113+
const newTagnumber = tagnumber.value > 0 ? tagnumber.value : getCurrentBikeTag.value.tagnumber
114+
router.push(`/${newTagnumber - 1}`)
122115
}
123116
124117
// mounted
125-
onMounted(() => (tagIsLoading.value = tagnumber.value === 0))
118+
onMounted(async () => {
119+
await router.isReady()
120+
/// Support legacy webHashHistory urls
121+
if (tagnumber.value === 0 && window.location.hash.indexOf('#/') === 0) {
122+
tagnumber.value = parseInt(window.location.hash.split('#/')[1])
123+
}
124+
tagIsLoading.value = tagnumber.value === 0
125+
})
126126
</script>
127127
128128
<style lang="scss">

vite.config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ export default defineConfig({
3131
EnvironmentPlugin(BikeTagEnv),
3232
VitePWA({
3333
srcDir: 'src',
34-
filename: 'worker.ts',
35-
strategies: 'injectManifest',
34+
// filename: 'worker.ts',
35+
strategies: 'generateSW',
3636
registerType: 'autoUpdate',
3737
includeAssets: ['**/*'],
3838
// includeAssets: ['favicon.ico', 'apple-touch-icon.png', 'mask-icon.png'],

0 commit comments

Comments
 (0)