Skip to content
This repository was archived by the owner on Mar 26, 2023. It is now read-only.

Commit a25a281

Browse files
new routing (#39)
1 parent c411644 commit a25a281

11 files changed

Lines changed: 31 additions & 264 deletions

File tree

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"version": "0.1.0",
44
"private": true,
55
"scripts": {
6-
"start": "vue-cli-service serve",
6+
"start": "vue-cli-service serve --port 9002",
77
"build": "vue-cli-service build",
88
"lint": "vue-cli-service lint",
99
"serve:standalone": "vue-cli-service serve --mode standalone"
@@ -12,10 +12,10 @@
1212
"click-outside-vue3": "^4.0.1",
1313
"core-js": "^3.6.5",
1414
"single-spa-vue": "^2.1.0",
15-
"v-calendar": "^3.0.0-alpha.8",
15+
"systemjs-webpack-interop": "^2.3.7",
1616
"vue": "^3.0.0",
1717
"vue-router": "^4.0.0-0",
18-
"vuex": "^4.0.0-0"
18+
"vuex": "^4.0.2"
1919
},
2020
"devDependencies": {
2121
"@vue/cli-plugin-babel": "~4.5.15",

set-public-path.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { setPublicPath } from "systemjs-webpack-interop";
2+
3+
setPublicPath("@profcomff/timetable");

src/App.vue

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
11
<template>
2-
<NavBar />
32
<router-view />
43
</template>
54

65
<script>
7-
import NavBar from '@/components/NavBar.vue'
8-
export default {
9-
components:{
10-
NavBar,
11-
},
12-
}
136
</script>
14-

src/components/NavBar.vue

Lines changed: 0 additions & 193 deletions
This file was deleted.

src/main.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { h, createApp } from 'vue';
2-
import { SetupCalendar } from 'v-calendar';
32
import singleSpaVue from 'single-spa-vue';
43

54
import App from './App.vue';
@@ -18,7 +17,6 @@ const vueLifecycles = singleSpaVue({
1817
handleInstance(app) {
1918
app.use(router);
2019
app.use(store);
21-
app.use(SetupCalendar);
2220
},
2321
});
2422

src/router/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ const router = createRouter({
1919
})
2020

2121
router.beforeEach((to, from, next) => {
22-
if (to.name !== 'Init' && !localStorage.getItem('timetable-group-id'))
22+
if (to.name !== 'Init' && !localStorage.getItem('timetable-group-id') && localStorage.getItem('timetable-group-id') != "-1")
2323
next({ name: 'Init' });
2424
else next();
2525
})
26-
export default router
26+
export default router;

src/views/Init.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,5 +149,6 @@ img {
149149
width: 40%;
150150
height: auto;
151151
max-width: 200px;
152+
border-radius: 50%;
152153
}
153154
</style>

src/views/Settings.vue

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/views/Timetable.vue

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<div class="timetable">
33
<div v-if="!this.loaded" class="lds-dual-ring"></div>
4-
<div v-else class='container'>
4+
<div v-else class='container'>
55
<div class='info'>{{ this.groupInfo.number }} группа</div>
66
<div class="no-events" v-if="!this.timetable.length">пары отсутствуют</div>
77
<ul v-else>
@@ -19,7 +19,6 @@ export default {
1919
2020
mounted() {
2121
this.groupId = localStorage.getItem('timetable-group-id');
22-
this.$store.commit("changePage", this.pageId);
2322
this.loadGroupInfo();
2423
this.loadTimetableOnDate(this.$store.state.date);
2524
},
@@ -28,25 +27,15 @@ export default {
2827
loaded: true,
2928
pageId: 1,
3029
groupId: null,
31-
groupInfo: {number:''},
30+
groupInfo: { number: '' },
3231
timetable: [],
3332
};
3433
},
35-
computed: {
36-
choosenDate() {
37-
return this.$store.state.date
38-
}
39-
},
40-
watch: {
41-
choosenDate(newValue) {
42-
this.loadTimetableOnDate(newValue)
43-
}
44-
},
4534
components: {
4635
EventRow: EventRow,
4736
},
4837
methods: {
49-
loadGroupInfo(){
38+
loadGroupInfo() {
5039
var url = new URL(`${process.env.VUE_APP_API_TIMETABLE}/timetable/group/${this.groupId}`);
5140
fetch(url).then(response => response.json())
5241
.then(json => {
@@ -55,17 +44,18 @@ export default {
5544
},
5645
loadTimetableOnDate(date) {
5746
var time_start = new Date(date);
58-
time_start.setHours(time_start.getHours() - date.getTimezoneOffset()/60)
47+
time_start.setHours(time_start.getHours() - date.getTimezoneOffset() / 60)
5948
console.log(time_start.toISOString())
6049
var time_end = new Date(time_start);
6150
time_end.setDate(time_start.getDate() + 1)
6251
var url = new URL(`${process.env.VUE_APP_API_TIMETABLE}/timetable/event/`),
63-
params = {
64-
start: time_start.toISOString().slice(0, 10),
52+
params = {
53+
start: time_start.toISOString().slice(0, 10),
6554
end: time_end.toISOString().slice(0, 10),
6655
limit: 0,
6756
offset: 0,
68-
group_id: this.groupId }
57+
group_id: this.groupId
58+
}
6959
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]))
7060
this.loaded = false;
7161
fetch(url).then(response => response.json())
@@ -75,8 +65,13 @@ export default {
7565
})
7666
7767
}
68+
},
69+
beforeMount() {
70+
document.dispatchEvent(new CustomEvent("change-page", { detail: this.pageId }));
71+
document.addEventListener('change-date', (e) => this.loadTimetableOnDate(e.detail));
7872
}
7973
};
74+
8075
</script>
8176

8277
<style scoped>
@@ -136,5 +131,4 @@ ul {
136131
align-self: stretch;
137132
flex-grow: 0;
138133
}
139-
140134
</style>

vue.config.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module.exports = {
2+
runtimeCompiler: true,
3+
configureWebpack: {
4+
output: {
5+
libraryTarget: 'system',
6+
},
7+
},
8+
};

0 commit comments

Comments
 (0)