[merge] merge sponsor and fixed ts warning

This commit is contained in:
mysper 2021-04-01 10:09:25 +08:00
commit 26e0965846
4 changed files with 409 additions and 4 deletions

298
package-lock.json generated
View File

@ -1757,6 +1757,7 @@
"fork-ts-checker-webpack-plugin-v5": "npm:fork-ts-checker-webpack-plugin@^5.0.11"
}
},
<<<<<<< HEAD
"node_modules/@vue/cli-plugin-typescript/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@ -1903,6 +1904,8 @@
"dev": true,
"optional": true
},
=======
>>>>>>> sponsor
"node_modules/@vue/cli-plugin-vuex": {
"version": "4.5.10",
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.10.tgz",
@ -1993,6 +1996,7 @@
"node": ">=0.4.0"
}
},
<<<<<<< HEAD
"node_modules/@vue/cli-service/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@ -2006,6 +2010,8 @@
"node": ">=8"
}
},
=======
>>>>>>> sponsor
"node_modules/@vue/cli-service/node_modules/cacache": {
"version": "13.0.1",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz",
@ -2035,6 +2041,7 @@
"node": ">= 8"
}
},
<<<<<<< HEAD
"node_modules/@vue/cli-service/node_modules/chalk": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
@ -2069,6 +2076,8 @@
"dev": true,
"optional": true
},
=======
>>>>>>> sponsor
"node_modules/@vue/cli-service/node_modules/fs-extra": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
@ -2083,6 +2092,7 @@
"node": ">=6 <7 || >=8"
}
},
<<<<<<< HEAD
"node_modules/@vue/cli-service/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@ -2093,6 +2103,8 @@
"node": ">=8"
}
},
=======
>>>>>>> sponsor
"node_modules/@vue/cli-service/node_modules/jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
@ -2102,6 +2114,7 @@
"graceful-fs": "^4.1.6"
}
},
<<<<<<< HEAD
"node_modules/@vue/cli-service/node_modules/loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
@ -2117,6 +2130,8 @@
"node": ">=8.9.0"
}
},
=======
>>>>>>> sponsor
"node_modules/@vue/cli-service/node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@ -2139,6 +2154,7 @@
"node": ">= 8"
}
},
<<<<<<< HEAD
"node_modules/@vue/cli-service/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@ -2152,6 +2168,8 @@
"node": ">=8"
}
},
=======
>>>>>>> sponsor
"node_modules/@vue/cli-service/node_modules/terser-webpack-plugin": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz",
@ -2181,6 +2199,7 @@
"node": ">= 4.0.0"
}
},
<<<<<<< HEAD
"node_modules/@vue/cli-service/node_modules/vue-loader-v16": {
"name": "vue-loader",
"version": "16.2.0",
@ -2194,6 +2213,8 @@
"loader-utils": "^2.0.0"
}
},
=======
>>>>>>> sponsor
"node_modules/@vue/cli-shared-utils": {
"version": "4.5.10",
"resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.10.tgz",
@ -5573,6 +5594,10 @@
"resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz",
"integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==",
"dev": true,
<<<<<<< HEAD
=======
"hasInstallScript": true,
>>>>>>> sponsor
"engines": {
"node": ">=0.10.0"
}
@ -6430,6 +6455,155 @@
"yarn": ">=1.0.0"
}
},
<<<<<<< HEAD
=======
"node_modules/fork-ts-checker-webpack-plugin-v5": {
"name": "fork-ts-checker-webpack-plugin",
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz",
"integrity": "sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==",
"dev": true,
"optional": true,
"dependencies": {
"@babel/code-frame": "^7.8.3",
"@types/json-schema": "^7.0.5",
"chalk": "^4.1.0",
"cosmiconfig": "^6.0.0",
"deepmerge": "^4.2.2",
"fs-extra": "^9.0.0",
"memfs": "^3.1.2",
"minimatch": "^3.0.4",
"schema-utils": "2.7.0",
"semver": "^7.3.2",
"tapable": "^1.0.0"
},
"engines": {
"node": ">=10",
"yarn": ">=1.0.0"
}
},
"node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/chalk": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"optional": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true,
"engines": {
"node": ">=8"
}
},
"node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"optional": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/schema-utils": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
"integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
"dev": true,
"optional": true,
"dependencies": {
"@types/json-schema": "^7.0.4",
"ajv": "^6.12.2",
"ajv-keywords": "^3.4.1"
},
"engines": {
"node": ">= 8.9.0"
}
},
"node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/semver": {
"version": "7.3.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
"integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
"optional": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/fork-ts-checker-webpack-plugin-v5/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true,
"optional": true
},
>>>>>>> sponsor
"node_modules/form-data": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
@ -9115,6 +9289,10 @@
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz",
"integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==",
"dev": true,
<<<<<<< HEAD
=======
"hasInstallScript": true,
>>>>>>> sponsor
"dependencies": {
"async-foreach": "^0.1.3",
"chalk": "^1.1.1",
@ -10879,6 +11057,10 @@
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz",
"integrity": "sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==",
"dev": true,
<<<<<<< HEAD
=======
"hasInstallScript": true,
>>>>>>> sponsor
"dependencies": {
"debug": "^4.1.0",
"extract-zip": "^1.6.6",
@ -13735,6 +13917,107 @@
"vue-style-loader": "^4.1.0"
}
},
<<<<<<< HEAD
=======
"node_modules/vue-loader-v16": {
"name": "vue-loader",
"version": "16.1.2",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.2.tgz",
"integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==",
"dev": true,
"optional": true,
"dependencies": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
}
},
"node_modules/vue-loader-v16/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/vue-loader-v16/node_modules/chalk": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"optional": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/vue-loader-v16/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/vue-loader-v16/node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"node_modules/vue-loader-v16/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true,
"engines": {
"node": ">=8"
}
},
"node_modules/vue-loader-v16/node_modules/loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
"dev": true,
"optional": true,
"dependencies": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
},
"engines": {
"node": ">=8.9.0"
}
},
"node_modules/vue-loader-v16/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
>>>>>>> sponsor
"node_modules/vue-loader/node_modules/hash-sum": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
@ -13795,11 +14078,14 @@
"resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.0.tgz",
"integrity": "sha512-W74OO2vCJPs9/YjNjW8lLbj+jzT24waTo2KShI8jLvJW8OaIkgb3wuAMA7D+ZiUxDOx3ubwSZTaJBip9G8a3aQ=="
},
<<<<<<< HEAD
"node_modules/vuex-class": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/vuex-class/-/vuex-class-0.3.2.tgz",
"integrity": "sha512-m0w7/FMsNcwJgunJeM+wcNaHzK2KX1K1rw2WUQf7Q16ndXHo7pflRyOV/E8795JO/7fstyjH3EgqBI4h4n4qXQ=="
},
=======
>>>>>>> sponsor
"node_modules/watchpack": {
"version": "1.7.5",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
@ -13884,6 +14170,10 @@
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
"dev": true,
<<<<<<< HEAD
=======
"hasInstallScript": true,
>>>>>>> sponsor
"optional": true,
"os": [
"darwin"
@ -14252,6 +14542,10 @@
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
"dev": true,
<<<<<<< HEAD
=======
"hasInstallScript": true,
>>>>>>> sponsor
"optional": true,
"os": [
"darwin"
@ -14817,6 +15111,10 @@
"resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz",
"integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==",
"dev": true,
<<<<<<< HEAD
=======
"hasInstallScript": true,
>>>>>>> sponsor
"dependencies": {
"execa": "^0.8.0",
"is-ci": "^1.0.10",

View File

@ -22,14 +22,14 @@ import FooterPrimary from '@/components/FooterPrimary.vue';
Header,
FooterPrimary,
FooterSecondary
},
}
})
export default class App extends Vue {
@Action('toggleDevice', { namespace: 'app' }) private toggleDevice!: (device: DeviceType) => void;
@Getter('device', { namespace: 'app' }) private device!: DeviceType;
private deviceTypeMediaQuery: MediaQueryList = window.matchMedia('(min-width: 900px)');
public mounted() {
public mounted () {
this.detectDeviceType(this.deviceTypeMediaQuery);
// add change listener instead of resize listener
@ -50,7 +50,7 @@ export default class App extends Vue {
this.toggleDevice(DeviceType.MOBILE);
}
}
public isRoot (): boolean {
private isRoot (): boolean {
if (
this.$route.name === 'CFP' ||
this.$route.name === 'news' ||

View File

@ -0,0 +1,65 @@
#sponsor {
line-height: 2em;
h2 {
line-height: normal;
font-size: 36pt;
color: #4e4e4e;
}
.main-container {
width: 75%;
margin: 0 auto;
padding-top: 100px;
padding-bottom: 240px;
}
.info-wrapper {
.content-wrapper {
display: flex;
flex-direction: row;
.info-left-button-wrapper {
padding-right: 10%;
}
.info-content {
p:not(:first-child) {
margin-top: 3em;
}
}
.info-right-button-wrapper {
padding-left: 10%;
}
}
.button-wrapper {
margin: 3em;
display: flex;
flex-direction: row;
justify-content: center;
flex-wrap: wrap;
.button {
color: white;
background: #1060ff;
margin: 15px 30px;
padding: 0.33em 1em;
border-radius: 9487px;
box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.5);
}
}
}
.deep-ploughing {
.image-wrapper {
margin-top: 8em;
display: flex;
flex-direction: row;
justify-content: space-between;
img {
width: 307px;
height: 251px;
}
}
}
}

View File

@ -1,4 +1,46 @@
<template> </template>
<template>
<div id="sponsor">
<div class="main-container">
<div class="info-wrapper">
<div class="content-wrapper">
<div class="info-left-button-wrapper"></div>
<div class="info-content">
<p>
SITCON
學生計算機年會為學生自發組成籌辦的研討會秉持著以學生為主軸的核心價值提供一個經驗交流與資訊技術實務分享的平台進而達到學以致用教學相長的目標
</p>
<p>
維繫這樣的交流平台需要多人的努力及貢獻亦十分需要在資金上的支持<br />
希望能藉由您的一份力量來促成活動的舉行讓更多學生能在舞台上展現自我成長<br />
歡迎您參與贊助支持
SITCON讓我們將每年的活動辦得盡善盡美
</p>
</div>
<div class="info-left-button-wrapper"></div>
</div>
<div class="button-wrapper">
<a class="button" href="http://bit.ly/donatesitcon2021" target="_blank">個人贊助</a>
<a class="button" href="mailto:contact@sitcon.org">企業合作</a>
</div>
</div>
<!--
<div class="deep-ploughing">
<h2>深耕級</h2>
<div class="image-wrapper">
<img />
<img />
<img />
</div>
</div>
-->
</div>
</div>
</template>
<style lang="scss">
@import '@/assets/scss/sponsor';
</style>
<script>
import { Component, Prop, Vue } from 'vue-property-decorator';