@@ -80,21 +80,16 @@ import { useI18n } from 'vue-i18n'
8080// data
8181const router = useRouter ()
8282const route = useRoute ()
83- let tagnumber = ref (route .params ? .tagnumber ? parseInt (route .params .tagnumber ) : 0 )
8483const tagIsLoading = ref (true )
8584const store = useBikeTagStore ()
8685const { t } = useI18n ()
86+ const tagnumber = computed (() => (route .params ? .tagnumber ? parseInt (route .params .tagnumber ) : 0 ))
8787
8888// computed
8989const getCurrentBikeTag = computed (() => store .getCurrentBikeTag )
9090const getImgurImageSized = computed (() => store .getImgurImageSized )
9191const 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-
9893const 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}
110105function 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}
118112function 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" >
0 commit comments