Compare commits
	
		
			3 Commits
		
	
	
		
			315a0ab0d7
			...
			35a93c343e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 35a93c343e | ||
|  | e04bc5ba98 | ||
|  | d128e6f90a | 
|  | @ -1,5 +1,6 @@ | ||||||
| import './js/bootstrap'; | import './js/bootstrap'; | ||||||
| import {createApp} from 'vue' | import {createApp} from 'vue' | ||||||
|  | import { createPinia } from 'pinia' | ||||||
| import App from './views/basya/Basya.vue' | import App from './views/basya/Basya.vue' | ||||||
| import { createVuetify } from 'vuetify' | import { createVuetify } from 'vuetify' | ||||||
| import { mdi } from "vuetify/iconsets/mdi"; | import { mdi } from "vuetify/iconsets/mdi"; | ||||||
|  | @ -8,9 +9,11 @@ import * as components from 'vuetify/components' | ||||||
| import * as directives from 'vuetify/directives' | import * as directives from 'vuetify/directives' | ||||||
| import '@mdi/font/css/materialdesignicons.css' | import '@mdi/font/css/materialdesignicons.css' | ||||||
| 
 | 
 | ||||||
|  | const pinia = createPinia(); | ||||||
|  | 
 | ||||||
| const vuetify = createVuetify({ | const vuetify = createVuetify({ | ||||||
|     components, |     components, | ||||||
|     directives |     directives | ||||||
| }) | }) | ||||||
| 
 | 
 | ||||||
| createApp(App).use(vuetify).mount("#app") | createApp(App).use(vuetify).use(pinia).mount("#app") | ||||||
|  |  | ||||||
|  | @ -1,15 +0,0 @@ | ||||||
| import {defineStore} from "pinia"; |  | ||||||
| 
 |  | ||||||
| export const useScheduleStore = defineStore('Schedule', { |  | ||||||
|     state: () => ({ |  | ||||||
|         fetchingDates: true, |  | ||||||
|         fetchingTable: true, |  | ||||||
|         fetchingLinks: true |  | ||||||
|     }), |  | ||||||
|     getters: { |  | ||||||
| 
 |  | ||||||
|     }, |  | ||||||
|     actions: { |  | ||||||
| 
 |  | ||||||
|     }, |  | ||||||
| }) |  | ||||||
|  | @ -0,0 +1,20 @@ | ||||||
|  | import {defineStore} from "pinia"; | ||||||
|  | import axios from "axios"; | ||||||
|  | 
 | ||||||
|  | export const useBasyaStore = defineStore('basya', { | ||||||
|  |     state: () => ({ | ||||||
|  |         phrases: Object | ||||||
|  |     }), | ||||||
|  |     getters: { | ||||||
|  | 
 | ||||||
|  |     }, | ||||||
|  |     actions: { | ||||||
|  |         async getPhrases(){ | ||||||
|  |             await axios | ||||||
|  |                 .get('/api/v1/phrases') | ||||||
|  |                 .then((response) => { | ||||||
|  |                     this.phrases = response.data; | ||||||
|  |                 }); | ||||||
|  |         } | ||||||
|  |     }, | ||||||
|  | }) | ||||||
|  | @ -0,0 +1,37 @@ | ||||||
|  | import {defineStore} from "pinia"; | ||||||
|  | import axios from "axios"; | ||||||
|  | 
 | ||||||
|  | export const useScheduleStore = defineStore('schedule', { | ||||||
|  |     state: () => ({ | ||||||
|  |         dates: Object, | ||||||
|  |         links: Object, | ||||||
|  |         schedules: Object | ||||||
|  |     }), | ||||||
|  |     getters: { | ||||||
|  | 
 | ||||||
|  |     }, | ||||||
|  |     actions: { | ||||||
|  |         async getDates(){ | ||||||
|  |             await axios | ||||||
|  |                 .get('/api/v1/dates') | ||||||
|  |                 .then((response) => { | ||||||
|  |                     this.dates = response.data; | ||||||
|  |                 }); | ||||||
|  |         }, | ||||||
|  |         async getLinks(){ | ||||||
|  |             await axios | ||||||
|  |                 .get('/api/v1/links') | ||||||
|  |                 .then((response)=>{ | ||||||
|  |                     this.links = response.data; | ||||||
|  |                 }) | ||||||
|  |         }, | ||||||
|  |         async getSchedules(){ | ||||||
|  |             await axios | ||||||
|  |                 .get('/api/v1/schedules') | ||||||
|  |                 .then((response)=>{ | ||||||
|  |                     this.schedules = response.data; | ||||||
|  |                 }) | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |     }, | ||||||
|  | }) | ||||||
|  | @ -10,33 +10,30 @@ | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script> | <script> | ||||||
| import axios from "axios"; |  | ||||||
| import ScheduleTable from "./Schedule/ScheduleTable.vue"; | import ScheduleTable from "./Schedule/ScheduleTable.vue"; | ||||||
| import Links from "./Schedule/Links.vue"; | import Links from "./Schedule/Links.vue"; | ||||||
|  | import {ref} from "vue"; | ||||||
|  | import {useScheduleStore} from '../stores/schedule.js'; | ||||||
| 
 | 
 | ||||||
| export default { | export default { | ||||||
|     name: "Schedule", |     name: "Schedule", | ||||||
|     components: {Links, ScheduleTable}, |     components: {Links, ScheduleTable}, | ||||||
|     data: () => ({ |     data: () => ({ | ||||||
|         dates: [], |         dates: ref(), | ||||||
|  |         scheduleStore: useScheduleStore(), | ||||||
|         fetching: true |         fetching: true | ||||||
|     }), |     }), | ||||||
|     methods: { |     methods: { | ||||||
|         parseDate(date){ |         parseDate(date){ | ||||||
|             let dateArr = date.split("-"); |             let dateArr = date.split("-"); | ||||||
|             return dateArr[2] + "." + dateArr[1]; |             return dateArr[2] + "." + dateArr[1]; | ||||||
|         }, |  | ||||||
|         async getDates(){ |  | ||||||
|             await axios |  | ||||||
|                 .get('/api/v1/dates') |  | ||||||
|                 .then(response => { |  | ||||||
|                     this.dates = response.data; |  | ||||||
|                     this.fetching = false; |  | ||||||
|                 }); |  | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     mounted() { |     mounted() { | ||||||
|         this.getDates(); |         this.scheduleStore.getDates().then(()=>{ | ||||||
|  |             this.dates = this.scheduleStore.dates; | ||||||
|  |             this.fetching = false; | ||||||
|  |         }); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
|  | @ -1,20 +1,20 @@ | ||||||
| <script> | <script> | ||||||
|     import axios from "axios"; |     import {ref} from "vue"; | ||||||
|  |     import {useScheduleStore} from '../../stores/schedule.js'; | ||||||
| 
 | 
 | ||||||
|     export default { |     export default { | ||||||
|         name: "Links", |         name: "Links", | ||||||
|         data: () => ({ |         data: () => ({ | ||||||
|             links: [], |             links: ref(), | ||||||
|             fetching: true, |             fetching: true, | ||||||
|  |             scheduleStore: useScheduleStore(), | ||||||
|             windowHeight: document.documentElement.clientHeight, |             windowHeight: document.documentElement.clientHeight, | ||||||
|             windowWidth: document.documentElement.clientWidth, |             windowWidth: document.documentElement.clientWidth, | ||||||
|             isWide: window.innerWidth >= 460 |             isWide: window.innerWidth >= 460 | ||||||
|         }), |         }), | ||||||
|         mounted() { |         mounted() { | ||||||
|             axios |             this.scheduleStore.getLinks().then(()=>{ | ||||||
|                 .get('/api/v1/links') |                 this.links = this.scheduleStore.links; | ||||||
|                 .then(response => { |  | ||||||
|                     this.links = response.data; |  | ||||||
|                 this.fetching = false; |                 this.fetching = false; | ||||||
|             }); |             }); | ||||||
|             this.myEventHandler(); |             this.myEventHandler(); | ||||||
|  |  | ||||||
|  | @ -1,10 +1,12 @@ | ||||||
| <script> | <script> | ||||||
|     import axios from "axios"; |     import {useScheduleStore} from '../../stores/schedule.js'; | ||||||
|  |     import {ref} from "vue"; | ||||||
| 
 | 
 | ||||||
|     export default { |     export default { | ||||||
|         name: "ScheduleTable", |         name: "ScheduleTable", | ||||||
|         data: () => ({ |         data: () => ({ | ||||||
|             schedules: [], |             schedules: ref(), | ||||||
|  |             scheduleStore: useScheduleStore(), | ||||||
|             fetching: true |             fetching: true | ||||||
|         }), |         }), | ||||||
|         methods: { |         methods: { | ||||||
|  | @ -14,10 +16,8 @@ | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         mounted() { |         mounted() { | ||||||
|             axios |             this.scheduleStore.getSchedules().then(()=>{ | ||||||
|                 .get('/api/v1/schedules') |                 this.schedules = this.scheduleStore.schedules; | ||||||
|                 .then(response => { |  | ||||||
|                     this.schedules = response.data; |  | ||||||
|                 this.fetching = false; |                 this.fetching = false; | ||||||
|             }); |             }); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | @ -34,7 +34,8 @@ | ||||||
| 
 | 
 | ||||||
| <script> | <script> | ||||||
| import {ref} from 'vue'; | import {ref} from 'vue'; | ||||||
| import axios from "axios"; | import {useBasyaStore} from "../../stores/basya.js"; | ||||||
|  | 
 | ||||||
| export default { | export default { | ||||||
|     name: "Basya", |     name: "Basya", | ||||||
|     data: () => ({ |     data: () => ({ | ||||||
|  | @ -44,7 +45,8 @@ export default { | ||||||
|         currentPhrase: ref(), |         currentPhrase: ref(), | ||||||
|         winWidth: ref(document.documentElement.clientWidth), |         winWidth: ref(document.documentElement.clientWidth), | ||||||
|         // size: ref(), |         // size: ref(), | ||||||
|         isLess: false |         isLess: false, | ||||||
|  |         basyaStore: useBasyaStore() | ||||||
|     }), |     }), | ||||||
|     methods: { |     methods: { | ||||||
|         reloadPhrase(){ |         reloadPhrase(){ | ||||||
|  | @ -61,13 +63,11 @@ export default { | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|     mounted() { |     mounted() { | ||||||
|         axios |         this.basyaStore.getPhrases().then(()=>{ | ||||||
|             .get('/api/v1/phrases') |             this.phrases = this.basyaStore.phrases; | ||||||
|             .then(response => { |  | ||||||
|                 this.phrases = response.data; |  | ||||||
|             this.reloadPhrase(); |             this.reloadPhrase(); | ||||||
|             this.fetching = false; |             this.fetching = false; | ||||||
|             }); |         }) | ||||||
|         this.isLess = ref(this.winWidth.value <= 600 ? 'flex-column' : ''); |         this.isLess = ref(this.winWidth.value <= 600 ? 'flex-column' : ''); | ||||||
|         /* |         /* | ||||||
|         this.size = this.winWidth <= 600 ?  'x-small' : |         this.size = this.winWidth <= 600 ?  'x-small' : | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue