diff --git a/app/src/App.vue b/app/src/App.vue
index 29abacf..801ea07 100644
--- a/app/src/App.vue
+++ b/app/src/App.vue
@@ -1,15 +1,9 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/app/src/services/AuthHeader.ts b/app/src/services/AuthHeader.ts
index 185ca7c..d328574 100644
--- a/app/src/services/AuthHeader.ts
+++ b/app/src/services/AuthHeader.ts
@@ -1,12 +1,10 @@
-export default class AuthHeader {
- public header(): any {
- const user = JSON.parse(localStorage.getItem('user') || '""');
+export default function authHeader(): any {
+ const user = JSON.parse(localStorage.getItem('user') || '""');
- if (user && user.accessToken) {
- // return { Authorization: 'Bearer ' + user.accessToken }; // for Spring Boot back-end
- return { 'x-access-token': user.accessToken }; // for Node.js Express back-end
- } else {
- return {};
- }
+ if (user && user.accessToken) {
+ // return { Authorization: 'Bearer ' + user.accessToken }; // for Spring Boot back-end
+ return { 'x-access-token': user.accessToken }; // for Node.js Express back-end
+ } else {
+ return {};
}
}
diff --git a/app/src/services/PitchTypeService.ts b/app/src/services/PitchTypeService.ts
index f0c3557..410b813 100644
--- a/app/src/services/PitchTypeService.ts
+++ b/app/src/services/PitchTypeService.ts
@@ -1,5 +1,6 @@
import PitchType from "@/types/PitchType";
import api from './Api';
+import authHeader from './AuthHeader';
class PitchTypeService {
private static instance: PitchTypeService;
@@ -15,18 +16,13 @@ class PitchTypeService {
}
async getAllPitchTypes(): Promise {
- const users = await api.get('/pitch_types');
+ const users = await api.get('/pitch_types', { headers: authHeader() });
return users.data;
}
async getPitchType(id: number): Promise {
- const pitchType = await api.get(`/pitch_types/${id}`);
+ const pitchType = await api.get(`/pitch_types/${id}`, { headers: authHeader() });
return pitchType.data;
- // if (pitcher !== undefined) {
- // return pitcher;
- // } else {
- // return Promise.reject();
- // }
}
}
diff --git a/app/src/store/auth.ts b/app/src/store/auth.ts
index 087fe13..53c335d 100644
--- a/app/src/store/auth.ts
+++ b/app/src/store/auth.ts
@@ -39,7 +39,7 @@ const auth: Module = {
commit('logout');
},
register({ commit }: AuthActionContext, user) {
- return AuthService.register(user.firstName, user.email, user.password).then(
+ return AuthService.register(user.email, user.password).then(
response => {
commit('registerSuccess');
return Promise.resolve(response.data);
diff --git a/app/src/store/index.ts b/app/src/store/index.ts
index 76e55f1..c35c7b1 100644
--- a/app/src/store/index.ts
+++ b/app/src/store/index.ts
@@ -1,3 +1,4 @@
+import { InjectionKey } from 'vue'
import { createStore, Store } from 'vuex';
import auth, {AuthState} from './auth';
import pitchTypes, {PitchTypeState} from './pitchType';
@@ -8,6 +9,8 @@ export interface RootState {
pitchTypes: PitchTypeState;
}
+export const key: InjectionKey> = Symbol()
+
const store = createStore({
modules: {
auth,
diff --git a/app/src/store/pitchType.ts b/app/src/store/pitchType.ts
index 7878459..a11b822 100644
--- a/app/src/store/pitchType.ts
+++ b/app/src/store/pitchType.ts
@@ -28,6 +28,7 @@ const pitchTypes: Module = {
},
mutations: {
initializedPitchTypes(state, pitchTypeList: PitchType[]) {
+ localStorage.setItem("pitchTypes", JSON.stringify(pitchTypeList));
state.pitchTypes = pitchTypeList;
}
}
diff --git a/app/src/views/BullpenStats.vue b/app/src/views/BullpenStats.vue
index cedfa96..3178a25 100644
--- a/app/src/views/BullpenStats.vue
+++ b/app/src/views/BullpenStats.vue
@@ -29,7 +29,7 @@
- Goto Pitcher List
+ Home
@@ -79,10 +79,10 @@ export default defineComponent({
const router = useRouter();
const bps = ref(bullpenSessionService);
- const gotoPitcherList = () => {
- router.push({ name: 'Pitchers' });
+ const gotoHome = () => {
+ router.push('/home');
}
- return {bps, gotoPitcherList};
+ return {bps, gotoHome};
}
});
diff --git a/app/src/views/Home.vue b/app/src/views/Home.vue
index 23c0b28..88eeee0 100644
--- a/app/src/views/Home.vue
+++ b/app/src/views/Home.vue
@@ -1,21 +1,26 @@
diff --git a/app/src/views/Login.vue b/app/src/views/Login.vue
index 8fc941c..17a879b 100644
--- a/app/src/views/Login.vue
+++ b/app/src/views/Login.vue
@@ -16,12 +16,12 @@
-
+
-
+
@@ -79,6 +79,7 @@ import {
IonInput,
IonIcon,
} from "@ionic/vue";
+import { lockClosedOutline, personOutline } from 'ionicons/icons';
import { useForm } from 'vee-validate';
import { useRouter } from 'vue-router';
import { useStore } from 'vuex'
@@ -104,7 +105,7 @@ const loggedIn = computed(() => store.state.auth.isAuthenticated);
onMounted(() => {
if (loggedIn.value) {
- router.push('/prepare');
+ onLogin();
}
});
@@ -114,10 +115,11 @@ const submit = handleSubmit(values => {
password: values.password,
}).then(
() => {
- router.push('/prepare');
+ onLogin();
},
error => {
loading.value = false;
+ console.log(error);
// message.value =
// (error.response && error.response.data && error.response.data.message) ||
// error.message ||
@@ -128,4 +130,13 @@ const submit = handleSubmit(values => {
loading.value = false;
});
+const onLogin = () => {
+ console.log('check if pitch types are available.');
+
+ store.dispatch('pitchTypes/initialize').then(() => {
+ router.push('/home');
+ }, error => {
+ console.log(error);
+ });
+}
\ No newline at end of file
diff --git a/app/src/vuex.d.ts b/app/src/vuex.d.ts
index bfe60a4..070eaed 100644
--- a/app/src/vuex.d.ts
+++ b/app/src/vuex.d.ts
@@ -1,13 +1,12 @@
import { Store } from 'vuex'
-import Pitcher from 'types/Pitcher'
+import {AuthState} from '@/store/auth'
+import {PitchTypeState} from '@/store/pitchType'
declare module 'vue' {
// declare your own auth states
interface State {
- status: {
- loggedIn: boolean
- },
- user: Pitcher | null
+ auth: AuthState,
+ pitchTypes: PitchTypeState
}
// provide typings for `this.$auth`