diff --git a/app/src/App.vue b/app/src/App.vue index 79c56a3..f84cb37 100644 --- a/app/src/App.vue +++ b/app/src/App.vue @@ -17,7 +17,6 @@ import { } from '@ionic/vue'; import { useRouter } from 'vue-router'; import { useStore } from 'vuex' -import { AppStore } from '@/store'; import {onMounted, onBeforeUnmount, ref, computed} from "vue"; import EventBus from "./common/EventBus"; import backendService from '@/services/BackendService' @@ -28,7 +27,7 @@ import { } from 'ionicons/icons'; const router = useRouter(); -const store = useStore(); +const store = useStore(); const logout = () => { store.dispatch('auth/logout'); diff --git a/app/src/services/PitchTypeService.ts b/app/src/services/PitchTypeService.ts index 51f7102..e96910e 100644 --- a/app/src/services/PitchTypeService.ts +++ b/app/src/services/PitchTypeService.ts @@ -5,14 +5,6 @@ class PitchTypeService extends ApiService { constructor() { super('pitch_types'); } - - public getLocalPitchTypes(): PitchType[] { - return JSON.parse(localStorage.getItem("pitchTypes") || '""'); - } - - public updateLocalPitchTypes(pitchTypes: PitchType[]): void { - localStorage.setItem("pitchTypes", JSON.stringify(pitchTypes)); - } } export default new PitchTypeService(); diff --git a/app/src/store/pitchType.ts b/app/src/store/pitchType.ts index 659b2e8..7689db3 100644 --- a/app/src/store/pitchType.ts +++ b/app/src/store/pitchType.ts @@ -22,7 +22,6 @@ const pitchTypes: Module = { }, mutations: { initialize(state, pitchTypeList: PitchType[]) { - // pitchTypeService.updateLocalPitchTypes(pitchTypeList); state.pitchTypes = pitchTypeList; } } diff --git a/app/src/store/player.ts b/app/src/store/player.ts index a2a4d9f..b178ce7 100644 --- a/app/src/store/player.ts +++ b/app/src/store/player.ts @@ -11,7 +11,7 @@ export interface PlayerState { type PlayerActionContext = ActionContext; -const pitchTypes: Module = { +const player: Module = { namespaced: true, state: {player: null}, actions: { @@ -33,4 +33,4 @@ const pitchTypes: Module = { } }; -export default pitchTypes; +export default player; diff --git a/app/src/views/HomeView.vue b/app/src/views/HomeView.vue index fceaaec..2be0f33 100644 --- a/app/src/views/HomeView.vue +++ b/app/src/views/HomeView.vue @@ -20,12 +20,9 @@ import { IonLabel, IonBadge, } from '@ionic/vue'; import { - playOutline, - statsChartOutline, - personOutline, baseball, add, - personAddOutline, baseballOutline + baseballOutline } from 'ionicons/icons'; import {useStore} from "vuex"; import {useRouter} from "vue-router"; @@ -38,9 +35,9 @@ import PitchType from "@/types/PitchType"; const router = useRouter(); const store = useStore(); -const userImage = ref(null); - const user = computed(() => store.state.auth.user); +const pitchTypes = computed(() => store.state.pitchTypes.pitchTypes); + const isAuthenticated = computed(() => store.state.auth.isAuthenticated); if (user.value === undefined || user.value === null || user.value === '') { @@ -89,11 +86,11 @@ const formatDate = (date: Date) => { return dayjs(date).format('YYYY.MM.DD HH:mm'); } -// const determinePitchTypeName = (id: number): string => { -// const pitchType = store.state.pitchTypes.find((pitchType: PitchType) => pitchType.id === id); -// -// return pitchType?.name ?? 'Unknown'; -// } +const determinePitchTypeName = (id: number): string => { + const pitchType = pitchTypes.value.find((pitchType: PitchType) => pitchType.id === id); + + return pitchType?.name ?? 'Unknown'; +} const ionInfinite = (event: InfiniteScrollCustomEvent) => { generateItems(); @@ -122,14 +119,14 @@ generateItems(); Bullpen from ({{formatDate(bullpen.startedAt)}}) - - - - - - - - + + + + {{determinePitchTypeName(pitch.pitchTypeId)}} + {{pitch.aimedArea}} + {{pitch.hitArea}} + + diff --git a/app/src/views/LoginView.vue b/app/src/views/LoginView.vue index 09ac706..00e7cc4 100644 --- a/app/src/views/LoginView.vue +++ b/app/src/views/LoginView.vue @@ -43,11 +43,18 @@ const store = useStore(); const loginError = ref(''); const isAuthenticated = computed(() => store.state.auth.isAuthenticated); +const user = computed(() => store.state.auth.user); onMounted(() => { - if (isAuthenticated.value) { - router.push({path: '/home'}); + if (!isAuthenticated.value) { + return; } + + console.log('User is already authenticated. Redirecting to home.', user.value); + router.push({path: '/home'}); + store.dispatch('pitchTypes/fetch').then(() => { + router.push({path: '/home'}); + }); }); const submit = handleSubmit((values, { resetForm }) => { @@ -57,10 +64,11 @@ const submit = handleSubmit((values, { resetForm }) => { password: values.password, }).then((user: User) => { return store.dispatch('player/selectPlayer', user); + }).then(() => { + return store.dispatch('pitchTypes/fetch'); }).then(() => { resetForm(); router.push({path: '/home'}); - // onLogin(); }).catch(error => { loading.value = false; console.log(error);