Merge branch 'dev2' of https://github.com/sitcon-tw/2021 into dev2

This commit is contained in:
mysper 2021-01-20 11:27:32 +08:00
commit 569b75aed2
9 changed files with 1060 additions and 600 deletions

392
package-lock.json generated
View File

@ -1670,6 +1670,122 @@
"tslint": "^5.20.1",
"webpack": "^4.0.0",
"yorkie": "^2.0.0"
},
"dependencies": {
"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,
"requires": {
"color-convert": "^2.0.1"
}
},
"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,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"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,
"requires": {
"color-name": "~1.1.4"
}
},
"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
},
"fork-ts-checker-webpack-plugin-v5": {
"version": "npm:fork-ts-checker-webpack-plugin@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,
"requires": {
"@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"
}
},
"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
},
"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,
"requires": {
"yallist": "^4.0.0"
}
},
"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,
"requires": {
"@types/json-schema": "^7.0.4",
"ajv": "^6.12.2",
"ajv-keywords": "^3.4.1"
}
},
"semver": {
"version": "7.3.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
"integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
"optional": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"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,
"requires": {
"has-flag": "^4.0.0"
}
},
"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
}
}
},
"@vue/cli-plugin-vuex": {
@ -1748,6 +1864,16 @@
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"dev": true
},
"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,
"requires": {
"color-convert": "^2.0.1"
}
},
"cacache": {
"version": "13.0.1",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz",
@ -1774,6 +1900,34 @@
"unique-filename": "^1.1.1"
}
},
"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,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"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,
"requires": {
"color-name": "~1.1.4"
}
},
"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
},
"fs-extra": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
@ -1785,6 +1939,13 @@
"universalify": "^0.1.0"
}
},
"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
},
"jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
@ -1794,6 +1955,18 @@
"graceful-fs": "^4.1.6"
}
},
"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,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@ -1810,6 +1983,16 @@
"minipass": "^3.1.1"
}
},
"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,
"requires": {
"has-flag": "^4.0.0"
}
},
"terser-webpack-plugin": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz",
@ -1832,6 +2015,18 @@
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
"dev": true
},
"vue-loader-v16": {
"version": "npm:vue-loader@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,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
}
}
}
},
@ -5442,122 +5637,6 @@
"worker-rpc": "^0.1.0"
}
},
"fork-ts-checker-webpack-plugin-v5": {
"version": "npm:fork-ts-checker-webpack-plugin@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,
"requires": {
"@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"
},
"dependencies": {
"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,
"requires": {
"color-convert": "^2.0.1"
}
},
"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,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"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,
"requires": {
"color-name": "~1.1.4"
}
},
"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
},
"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
},
"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,
"requires": {
"yallist": "^4.0.0"
}
},
"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,
"requires": {
"@types/json-schema": "^7.0.4",
"ajv": "^6.12.2",
"ajv-keywords": "^3.4.1"
}
},
"semver": {
"version": "7.3.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
"integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
"optional": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"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,
"requires": {
"has-flag": "^4.0.0"
}
},
"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
}
}
},
"form-data": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
@ -11716,87 +11795,6 @@
}
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@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,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"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,
"requires": {
"color-convert": "^2.0.1"
}
},
"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,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"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,
"requires": {
"color-name": "~1.1.4"
}
},
"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
},
"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
},
"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,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"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,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-property-decorator": {
"version": "9.1.2",
"resolved": "https://registry.npmjs.org/vue-property-decorator/-/vue-property-decorator-9.1.2.tgz",

View File

@ -0,0 +1,3 @@
<svg width="29" height="25" viewBox="0 0 29 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17.0607 22.8044C15.8912 24.7206 13.1088 24.7206 11.9393 22.8044L1.26347 5.31291C0.043333 3.31381 1.48215 0.75 3.82419 0.75L25.1758 0.75C27.5179 0.75 28.9567 3.31381 27.7365 5.31292L17.0607 22.8044Z" fill="#226BB4"/>
</svg>

After

Width:  |  Height:  |  Size: 329 B

View File

@ -0,0 +1,3 @@
<svg width="17" height="15" viewBox="0 0 17 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.2016 13.7449C9.42007 15.0103 7.57993 15.0103 6.79839 13.7449L0.425077 3.42597C-0.397882 2.09352 0.560584 0.375 2.12668 0.375L14.8733 0.375C16.4394 0.375 17.3979 2.09352 16.5749 3.42597L10.2016 13.7449Z" fill="#226BB4"/>
</svg>

After

Width:  |  Height:  |  Size: 336 B

View File

@ -0,0 +1,48 @@
<svg xmlns="http://www.w3.org/2000/svg" width="135.712" height="169.401" viewBox="0 0 135.712 169.401">
<defs>
<clipPath id="clip-path">
<path id="Rectangle_158" d="M0 0H135.712V169.401H0z" class="cls-1"/>
</clipPath>
<clipPath id="clip-path-3">
<path id="Rectangle_155" d="M0 0H28.852V70.105H0z" class="cls-1"/>
</clipPath>
<clipPath id="clip-path-4">
<path id="Rectangle_156" d="M0 0H93.212V46.379H0z" class="cls-1"/>
</clipPath>
<style>
.cls-1{fill:none}.cls-3{clip-path:url(#clip-path)}.cls-5{fill:#5b5b5b}.cls-6{fill:#282828}.cls-7{fill:#fff}
</style>
</defs>
<g id="Group_65" opacity="0.7">
<g id="Group_64" class="cls-3">
<g id="Group_63">
<g id="Group_62" class="cls-3">
<path id="Path_683" fill="#dbdbdb" d="M92.719 197.322l63.728 8.69a7.446 7.446 0 0 1 4.532 12.355l-23.635 26.3a7.446 7.446 0 0 0-.231 9.685l28.458 34.871a7.446 7.446 0 0 1-1.18 10.572l-39.845 31.183a7.446 7.446 0 0 1-5.635 1.509l-61.984-8.8a7.446 7.446 0 0 1-3.8-13.026l25.662-22a7.446 7.446 0 0 0 .54-10.795l-33.181-34.758a7.446 7.446 0 0 1 .638-10.876l40.18-33.267a7.446 7.446 0 0 1 5.755-1.642" transform="translate(-37.185 -166.371)"/>
<path id="Path_684" d="M761.246 527.492c.5-2.882 3.394-7.4 6.332-7.657a3.928 3.928 0 0 0 3.856-3.856c0-1.964-1.759-4.038-3.856-3.856-6.591.573-12.651 6.866-13.769 13.319a3.937 3.937 0 0 0 2.693 4.744c1.876.516 4.384-.62 4.744-2.693" class="cls-5" transform="translate(-635.722 -431.933)"/>
<path id="Path_685" d="M20.856 644.741c-4.907-4.122-13.456-6.067-19.1-2.282-4.108 2.754-.252 9.438 3.893 6.66 2.637-1.768 7.389-.912 9.756 1.076 3.781 3.176 9.267-2.251 5.454-5.453" class="cls-5" transform="translate(0 -540.161)"/>
<path id="Path_686" d="M266.55 379.33a5.273 5.273 0 1 1-5.242-5.3 5.273 5.273 0 0 1 5.242 5.3" class="cls-6" transform="translate(-215.923 -315.468)"/>
<path id="Path_687" d="M487.23 380.6a5.273 5.273 0 1 1-5.242-5.3 5.273 5.273 0 0 1 5.242 5.3" class="cls-6" transform="translate(-402.052 -316.535)"/>
<path id="Path_688" d="M340.964 452.36h-.1c-6.357-.037-11.316-3.66-11.29-8.25a1.928 1.928 0 0 1 1.928-1.917h.011a1.928 1.928 0 0 1 1.917 1.939c-.011 2.047 3.048 4.347 7.456 4.372 4.36-.019 7.493-2.24 7.5-4.286a1.929 1.929 0 0 1 1.928-1.917h.011a1.928 1.928 0 0 1 1.917 1.94c-.026 4.566-4.977 8.12-11.287 8.12" class="cls-6" transform="translate(-277.978 -372.961)"/>
<path id="Path_689" d="M363.693 0a19.287 19.287 0 0 0-11.779 3.805c-2.631 2.012-4.514 6.078-5.806 8.618-1.5 2.956-3 5.447-3.811 6.741a.686.686 0 0 0 .549 1.049c.42.023.942.04 1.545.04 3.5 0 9.74-.595 14.585-4.3 6.026-4.607 7.973-12.553 8.432-14.912a.678.678 0 0 0-.565-.807 20.432 20.432 0 0 0-3.15-.234" class="cls-5" transform="translate(-288.616 -.004)"/>
<path id="Path_690" d="M254.452 65.686a9.949 9.949 0 0 0-1.056.055.681.681 0 0 0-.591.835 11.8 11.8 0 0 0 3.851 6.559 11.473 11.473 0 0 0 6.812 2.009h.064a.687.687 0 0 0 .586-1.041c-.39-.648-.921-1.569-1.453-2.615-.6-1.187-1.483-3.086-2.711-4.025a9.011 9.011 0 0 0-5.5-1.777" class="cls-5" transform="translate(-213.209 -55.402)"/>
<path id="Path_691" d="M74.97 183.193l.436-3.184-.434 3.184 63.728 8.69a4.1 4.1 0 0 1 2.671 1.461 4.379 4.379 0 0 1 1 2.767 4.109 4.109 0 0 1-1.094 2.794l-23.635 26.3a10.658 10.658 0 0 0-.33 13.866l28.457 34.87a4.232 4.232 0 0 1-.671 6.009l-39.844 31.183a4.239 4.239 0 0 1-3.205.857l-61.982-8.8a4.082 4.082 0 0 1-2.667-1.47 4.42 4.42 0 0 1-.978-2.765 4.083 4.083 0 0 1 .352-1.674 4.224 4.224 0 0 1 1.134-1.492l25.662-22a10.66 10.66 0 0 0 .774-15.453l-33.185-34.76a4.231 4.231 0 0 1 .362-6.182L71.7 184.127a4.232 4.232 0 0 1 3.269-.934m-.57-6.466a10.66 10.66 0 0 0-6.8 2.449l-40.176 33.267a10.659 10.659 0 0 0-.913 15.571l33.182 34.762a4.233 4.233 0 0 1-.307 6.136l-25.662 22a10.669 10.669 0 0 0-2.818 3.749 10.51 10.51 0 0 0-.912 4.3 10.832 10.832 0 0 0 2.424 6.827 10.539 10.539 0 0 0 6.745 3.774l61.984 8.8a10.662 10.662 0 0 0 8.067-2.159l39.846-31.183a10.661 10.661 0 0 0 1.689-15.134l-28.458-34.88a4.232 4.232 0 0 1 .131-5.505l23.636-26.3a10.562 10.562 0 0 0 2.74-7.09 10.8 10.8 0 0 0-2.474-6.866 10.558 10.558 0 0 0-6.754-3.731l-63.728-8.69a10.674 10.674 0 0 0-1.442-.1" class="cls-5" transform="translate(-19.872 -149.058)"/>
<path id="Path_692" d="M375.875 581.7l-15.839.041-12.584-9.785c-1.461-1.136-3.234-.46-2.505.925l5.967 11.332-7.4 5.147c-.744.518.532 1.815 1.8 1.849l12.049.319 10.385 7.8c1.1.83 2.862.614 2.494-.322l-3.642-9.252 10.972-5.635c1.356-.7.158-2.428-1.706-2.423" class="cls-7" transform="translate(-289.549 -481.922)"/>
<g id="Group_58" opacity="0.72" transform="translate(90.078 50.357)">
<g id="Group_57">
<g id="Group_56" clip-path="url(#clip-path-3)">
<path id="Path_693" d="M601.844 391.742a2.339 2.339 0 0 1-1.816-.861l-7.406-9.076a2.343 2.343 0 1 1 3.631-2.963l7.406 9.076a2.343 2.343 0 0 1-1.814 3.824m-18.516-22.69a2.339 2.339 0 0 1-1.817-.861l-2.516-3.083a16.086 16.086 0 0 1 .5-21.016l3.822-4.253a2.343 2.343 0 1 1 3.485 3.132l-3.822 4.253a11.4 11.4 0 0 0-.355 14.921l2.516 3.083a2.343 2.343 0 0 1-1.814 3.824m9.562-34.017a2.343 2.343 0 0 1-1.741-3.909l7.83-8.713a2.343 2.343 0 0 1 3.485 3.132l-7.83 8.713a2.336 2.336 0 0 1-1.744.777" class="cls-7" transform="translate(-575.333 -321.637)"/>
</g>
</g>
</g>
<g id="Group_61" opacity="0.36" transform="translate(11.989 119.876)">
<g id="Group_60">
<g id="Group_59" clip-path="url(#clip-path-4)">
<path id="Path_694" d="M110.179 765.661s-21.065 17.919-7.924 23c18.722 7.239 65.847 7.575 67.453 7.575s-21.189 15.8-21.189 15.8l-46.65-5.551-20.474-5.62-4.817-6.825L88.62 782.4z" class="cls-5" transform="translate(-76.576 -765.661)"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -83,7 +83,7 @@ $fontColor: $mid-blue;
box-shadow: 0 3px 12px 0 rgba(89, 120, 206, 0.56);
border-radius: 30px;
position: relative;
bottom: 550px;
bottom: 620px;
right: 50px;
z-index: 0;
}
@ -99,7 +99,13 @@ $fontColor: $mid-blue;
.past-sitcon {
margin-bottom: 2em;
width: 700px;
width: 60vw;
height: 13em;
.cfp-img{
width: 180px; //225
height: 121px; //152
}
.thumbnails {
display: flex;
@ -125,7 +131,7 @@ $fontColor: $mid-blue;
}
}
}
.join-discuss {
// empty
}
@ -216,22 +222,31 @@ $fontColor: $mid-blue;
margin-bottom: 2em;
}
}
#cfp-intro{
.box-back {
margin-bottom: -40em;
margin-left:-6em;
.first-box {
transform: rotate(12deg);
bottom: 650px;
left: 20px;
transform: rotate(12deg) scale(1.2);
bottom: 630px;
left: 90px;
}
.introd-text {
top: 100px;
top: 150px;
}
.past-sitcon {
margin-top:1em;
.thumbnails {
.thumb-wrapper {
width:200.5px;//25vw;
.thumb-title,
.thumb-subtitle {
width:185.5px; //25vw;
}
}
}
}
}
}
@ -294,6 +309,24 @@ $fontColor: $mid-blue;
.past-sitcon {
margin-top:1em;
}
.past-sitcon {
.thumbnails {
.thumb-wrapper {
width:122.5px;//25vw;
.thumb-title,
.thumb-subtitle {
width:132.5px; //25vw;
}
}
}
.cfp-img{
width: 128.5px; //225
height: 80px; //152
margin-left: 0em;
}
}
}
}
@ -369,6 +402,23 @@ $fontColor: $mid-blue;
.past-sitcon {
margin-top:1em;
}
.past-sitcon {
.thumbnails {
.thumb-wrapper {
width:122.5px;//25vw;
.thumb-title,
.thumb-subtitle {
width:132.5px; //25vw;
}
}
}
.cfp-img{
width: 128.5px; //225
height: 80px; //152
margin-left: 0em;
}
}
}
}
@ -401,6 +451,41 @@ $fontColor: $mid-blue;
}
}
}
#cfp-intro{
.past-sitcon {
margin-bottom: 2em;
width: 40vw;
height: 10em;
.thumbnails {
display: flex;
flex-direction: row;
padding: 0.25em 0;
.thumb-wrapper {
width:225px;//25vw;
.thumb-title,
.thumb-subtitle {
width:190px; //25vw;
text-align: center;
margin: 0;
font-size: 0.8em;
line-height: 1.75em;
font-weight: 900;
}
.small {
font-size: 0.6em;
}
&:not(:last-child) {
margin-right: 1em;
}
}
}
}
}
}
@include xs {

View File

@ -1,64 +1,400 @@
@import '../color';
//import google font
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@500;700;900&display=swap");
$fontFamily-NotoSansTC: "Noto Sans TC";
$fontColor: #226bb4; // added to solve unnamed color error
//Color
$color-white: #ffffff;
$color-mid-blue: #226bb4;
// import google font
// This font has been imported in main.scss linked to App.vue; no need to import
// @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@500;700;900&display=swap");
//Screen breakpoint
$max-width-big-0: 1800px;
$max-width-big: 1500px;
$max-width-medium-0: 1100px;
$max-width-medium-1: 900px;
$max-width-small-0: 750px;
$max-width-small-1: 500px;
$max-width-small-2: 410px;
$max-width-small-3: 360px;
// my variable
// There colors have been moved to scss/color.scss to share with others
// $color-pale-grey: #f0f7fd;
// $color-dark-slate-blue: #1f4163;
// $color-dark-sky-blue: #3d93e9;
// $color-white: #ffffff;
// $color-slate-blue: #5f7a95;
// $color-mid-blue: #226bb4;
$fontFamily-NotoSansTC: 'Noto Sans TC';
//@mixin
@mixin clearFloat() {
clear: both;
// .info-container
@mixin infoContainer() {
width: 80%;
// padding-left: 7%;
@media only screen and (max-width: $max-width-small-0) {
width: 89%;
padding-left: 0;
}
@media only screen and (max-width: $max-width-small-1) {
width: 89%;
padding-left: 0;
}
}
$limitWidth: 80vw;
// .info-section
@mixin sectionH1Fontsize() {
font-size: 44px;
@media only screen and (min-width: $max-width-big-0) {
font-size: 48px;
margin-bottom: 50px;
}
@media only screen and (max-width: $max-width-medium-0) {
font-size: 38px;
}
@media only screen and (max-width: $max-width-medium-1) {
font-size: 32px;
}
@media only screen and (max-width: $max-width-small-0) {
font-size: 28px;
}
@media only screen and (max-width: $max-width-small-1) {
font-size: 26px;
}
}
//cfp-information <Agenda> component
@mixin sectionH2Fontsize() {
font-size: 32px;
@media only screen and (min-width: $max-width-big-0) {
font-size: 36px;
}
@media only screen and (max-width: $max-width-medium-0) {
font-size: 30px;
}
@media only screen and (max-width: $max-width-medium-1) {
font-size: 26px;
}
@media only screen and (max-width: $max-width-small-0) {
font-size: 24px;
}
@media only screen and (max-width: $max-width-small-1) {
font-size: 24px;
}
}
//.info-section__content
@mixin sectionContentParagraphWidth() {
// width: 92%;
@media only screen and (max-width: $max-width-small-0) {
width: 100%;
margin-left: 0;
}
@media only screen and (max-width: $max-width-small-1) {
width: 100%;
margin-left: 0;
}
}
@mixin sectionContentParagraphFontsize() {
font-size: 20px;
@media only screen and (max-width: $max-width-big-0) {
font-size: 18.5px;
}
@media only screen and (max-width: $max-width-medium-0) {
font-size: 17px;
}
@media only screen and (max-width: $max-width-medium-1) {
font-size: 16px;
}
@media only screen and (max-width: $max-width-small-0) {
font-size: 15px;
}
@media only screen and (max-width: $max-width-small-1) {
font-size: 14px;
}
}
@mixin ulPadding {
padding: 0 0 0 20px;
@media only screen and (max-width: $max-width-big) {
padding: 0 0 0 5px;
}
@media only screen and (max-width: $max-width-medium-1) {
padding: 0;
}
}
@mixin sectionContentSubExtendWidth {
width: 107%;
@media only screen and (max-width: $max-width-small-0) {
width: 100%;
}
}
// .info-kind
@mixin kind() {
@media only screen and (min-width: $max-width-big-0) {
padding-bottom: 330px;
&__itemBox {
height: 305px;
padding-top: 0;
padding-bottom: 0;
&-title {
margin-top: 30px;
}
&-text {
padding-top: 8px;
}
}
}
@media only screen and (max-width: $max-width-small-0) {
width: 100%;
&__itemBox {
width: 100%;
height: 201px;
margin-bottom: 20px;
margin-right: 0;
padding: 0;
&-title {
margin-top: 20px;
}
&-text {
width: 86%;
}
}
}
}
@mixin kindTitleFontsize() {
font-size: 36px;
@media only screen and (max-width: $max-width-big-0) {
font-size: 28px;
}
@media only screen and (max-width: $max-width-big) {
font-size: 25px;
}
@media only screen and (max-width: $max-width-medium-0) {
font-size: 20px;
}
@media only screen and (max-width: $max-width-medium-1) {
font-size: 16px;
}
@media only screen and (max-width: $max-width-small-0) {
font-size: 28px;
}
@media only screen and (max-width: $max-width-small-1) {
font-size: 20px;
}
}
@mixin kindTextFontsize() {
font-size: 20px;
@media only screen and (max-width: $max-width-big-0) {
font-size: 17px;
}
@media only screen and (max-width: $max-width-big) {
font-size: 16px;
}
@media only screen and (max-width: $max-width-medium-0) {
font-size: 14px;
}
@media only screen and (max-width: $max-width-medium-1) {
font-size: 12px;
}
@media only screen and (max-width: $max-width-small-0) {
font-size: 17px;
}
@media only screen and (max-width: $max-width-small-1) {
font-size: 14px;
}
}
// .info-qa
@mixin qaLayout {
width: 86%;
margin-bottom: 120px;
@media only screen and (max-width: $max-width-big) {
width: 90%;
margin-bottom: 25px;
}
@media only screen and (max-width: $max-width-small-0) {
width: 100%;
margin-bottom: 0px;
}
}
@mixin qaTitleFontsize() {
font-size: 24px;
@media only screen and (max-width: $max-width-medium-0) {
font-size: 22px;
}
@media only screen and (max-width: $max-width-medium-1) {
font-size: 20px;
}
@media only screen and (max-width: $max-width-small-0) {
font-size: 15px;
}
@media only screen and (max-width: $max-width-small-1) {
font-size: 12px;
}
@media only screen and (max-width: $max-width-small-2) {
font-size: 11px;
}
@media only screen and (max-width: $max-width-small-3) {
font-size: 9.3px;
}
}
@mixin qaTextFontsize() {
font-size: 20px;
@media only screen and (max-width: $max-width-medium-1) {
font-size: 18px;
}
@media only screen and (max-width: $max-width-medium-0) {
font-size: 16px;
}
@media only screen and (max-width: $max-width-small-0) {
font-size: 14px;
}
@media only screen and (max-width: $max-width-small-1) {
font-size: 12px;
}
@media only screen and (max-width: $max-width-small-2) {
font-size: 10px;
}
@media only screen and (max-width: $max-width-small-3) {
font-size: 8.5px;
}
}
@mixin qaTitleHeight {
height: 57px;
@media only screen and (max-width: $max-width-small-0) {
height: 45px;
}
@media only screen and (max-width: $max-width-small-1) {
height: 36px;
}
@media only screen and (max-width: $max-width-small-2) {
height: 32px;
}
@media only screen and (max-width: $max-width-small-3) {
height: 28px;
}
}
@mixin qaTitleMarginTop {
margin-top: 15px;
@media only screen and (max-width: $max-width-small-1) {
margin-top: 10px;
}
@media only screen and (max-width: $max-width-small-2) {
margin-top: 9px;
}
}
@mixin qaTextMarginTop {
margin-top: 25px;
@media only screen and (max-width: $max-width-small-1) {
margin-top: 15px;
}
}
@mixin qaQdisplay {
margin-left: 25px;
&::before {
content: "Q";
}
@media only screen and (max-width: $max-width-medium-1) {
margin-left: 18px;
&::before {
content: "";
}
}
}
@mixin qaIconSize {
height: 25px;
width: 30px;
@media only screen and (max-width: $max-width-medium-1) {
height: 16px;
width: 19px;
}
}
@mixin qaIcon {
background-image: url("../../assets/images/CFP/Polygon-big.svg");
@media only screen and (max-width: $max-width-medium-1) {
background-image: url("../../assets/images/CFP/Polygon-small.svg");
}
}
@mixin sitconImg {
float: right;
margin-top: 382px;
margin-right: 15%;
margin-bottom: 30px;
@media only screen and (max-width: $max-width-big) {
margin-top: 0;
margin-right: 80%;
}
@media only screen and (max-width: $max-width-medium-0) {
width: 108px;
height: 135px;
}
@media only screen and (max-width: $max-width-small-0) {
margin-right: 15%;
}
@media only screen and (max-width: $max-width-small-1) {
width: 86px;
height: 107px;
}
@media only screen and (max-width: $max-width-small-2) {
width: 69px;
height: 86px;
}
@media only screen and (max-width: $max-width-small-3) {
width: 55px;
height: 68px;
}
}
//cfp-sub-information <subInformation>
.info {
width: 100%;
font-family: $fontFamily-NotoSansTC;
float: left;
&-container {
width: $limitWidth;
@include infoContainer();
margin: 0 auto;
// float: left;
}
&-section {
@include clearFloat();
width: $limitWidth;
float: left;
clear: both;
width: 100%;
h1 {
@include sectionH1Fontsize();
height: 70px;
font-family: $fontFamily-NotoSansTC;
font-size: 48px;
font-weight: 900;
font-stretch: normal;
font-style: normal;
line-height: 1.9;
letter-spacing: normal;
text-align: left;
color: $mid-blue;
margin: 10px 0;
color: $color-mid-blue;
margin-block-start: 0.83em;
margin-block-end: 0.83em;
}
&__content {
width: $limitWidth;
width: 100%;
p {
font-size: 18.5px;
font-family: $fontFamily-NotoSansTC;
@include sectionContentParagraphWidth();
@include sectionContentParagraphFontsize();
font-weight: 500;
font-stretch: normal;
font-style: normal;
line-height: 2.1;
letter-spacing: 0.2px;
text-align: left;
color: $mid-blue;
color: $color-mid-blue;
}
strong {
@ -71,219 +407,186 @@ $limitWidth: 80vw;
padding: 0;
li {
@include ulPadding();
margin: 0;
padding: 0 0 0 20px;
span {
display: inline-block;
height: 4px;
width: 4px;
transform: translate(-200%, -150%);
background-color: $mid-blue;
background-color: $color-mid-blue;
border-radius: 50%;
}
}
}
&--sub {
width: $limitWidth;
h2 {
@include sectionH2Fontsize();
height: 60px;
font-family: $fontFamily-NotoSansTC;
font-size: 36px;
font-weight: 900;
font-stretch: normal;
font-style: normal;
line-height: 2.2;
letter-spacing: normal;
text-align: left;
color: $mid-blue;
margin: 10px 0;
color: $color-mid-blue;
margin-block-start: 0.83em;
margin-block-end: 0.83em;
}
&-extend {
@include sectionContentSubExtendWidth();
}
}
}
}
&-kind {
//background-color: blueviolet;
width: 90vw;
margin-top: 45px;
display: flex;
flex-direction: row;
justify-content: space-around;
@media screen and (max-width: 1200px) {
flex-direction: column;
&-sitcon-img {
&__box {
float: right;
}
@include sitconImg();
}
//cfp-sub-information <subInformation> kind, qa components
&-kind {
width: 100%;
margin-top: 45px;
padding-bottom: 300px;
&__itemBox {
width: 330px;
float: left;
padding: 25px 1.5% 35px 1.5%;
border-radius: 13px;
background-color: $mid-blue;
padding: 26px 20px 34px 20px;
@media screen and (max-width: 1200px) {
width: 90%;
margin: 20px auto;
background-color: $color-mid-blue;
width: 30%;
&:not(:last-child) {
margin-right: 5%;
}
&-title {
color: $white;
@include kindTitleFontsize();
width: 100%;
color: $color-white;
display: inline-block;
text-align: center;
width: 100%;
font-family: $fontFamily-NotoSansTC;
font-weight: 900;
font-stretch: normal;
font-style: normal;
letter-spacing: normal;
text-align: center;
font-size: 34px;
margin-top: 25px;
}
&-text {
width: 100%;
//height: 172px;
height: 172px;
margin: 0 auto;
text-align: left;
font-size: 19px;
p {
color: $white;
font-family: $fontFamily-NotoSansTC;
margin: 15px 0;
@include kindTextFontsize();
margin: 10px auto;
color: $color-white;
font-weight: 500;
font-stretch: normal;
font-style: normal;
line-height: 2.1;
letter-spacing: 0.2px;
}
strong {
font-weight: 900;
}
}
// p {
// color: $color-white;
// font-family: $fontFamily-NotoSansTC;
// font-size: 19px;
// font-weight: 500;
// font-stretch: normal;
// font-style: normal;
// line-height: 2.1;
// letter-spacing: 0.2px;
// }
//
// }
}
// &__itemBox {
// float: left;
// padding: 26px 20px 34px 20px;
// border-radius: 13px;
// background-color: $color-mid-blue;
// width: 354px;
// height: 230px;
// margin: 0 72px 62px 0;
// &-title {
// color: $color-white;
// display: inline-block;
// text-align: center;
// width: 100%;
// font-family: $fontFamily-NotoSansTC;
// font-weight: 900;
// font-stretch: normal;
// font-style: normal;
// // line-height: 1.94;
// letter-spacing: normal;
// text-align: center;
// //modify
// font-size: 34px;
// // margin: 0 0px 0px 40px;
// }
// &-text {
// width: 350px;
// height: 172px;
// margin: 0 auto;
// text-align: left;
// p {
// color: $color-white;
// font-family: $fontFamily-NotoSansTC;
// font-size: 19px;
// font-weight: 500;
// font-stretch: normal;
// font-style: normal;
// line-height: 2.1;
// letter-spacing: 0.2px;
// }
// strong {
// font-weight: 900;
// }
// }
// }
//RWD for kind
@include kind();
}
&-qa {
width: 100vw;
@include qaLayout();
margin-bottom: 120px;
float: left;
// margin: 0 auto;
&__itemBox {
border-radius: 29px;
box-shadow: 0 3px 12px 0 rgba(89, 120, 206, 0.56);
background-color: $white;
margin: 20px 0;
padding: 10px 20px;
width: 80%;
cursor: pointer;
span {
font-family: $fontFamily-NotoSansTC;
color: $fontColor;
font-weight: 900;
font-size: 20px;
line-height: 42px;
}
p {
background-color: $color-white;
margin: 0 0 30px 0;
position: relative;
&-title {
@include qaTitleHeight();
display: block;
width: 90%;
width: 100%;
&:hover {
cursor: pointer;
}
p {
@include qaTitleFontsize();
@include qaTitleMarginTop();
@include qaQdisplay();
display: inline-block;
font-weight: 900;
font-stretch: normal;
font-style: normal;
line-height: 1.25;
letter-spacing: normal;
text-align: left;
color: $color-mid-blue;
}
span {
@include qaIcon();
background-repeat: no-repeat;
position: absolute;
top: 15px;
top: 50%;
transform: translateY(-45%);
right: 3.5%;
}
}
&-input {
position: absolute;
opacity: 0;
cursor: pointer;
}
&-input:checked ~ &-text {
display: block;
width: 88%;
margin: 0 auto;
padding-bottom: 20px;
p {
width: 100%;
@include qaTextFontsize();
}
}
&-input:checked ~ &-title {
p {
@include qaTextMarginTop();
}
span {
transform: rotate(180deg);
position: absolute;
top: 20px;
right: 3.5%;
}
}
&-text {
display: none;
}
}
&-icon {
@include qaIconSize();
}
}
// &-qa {
// margin: 30px 0;
// padding: 15px 0;
// // margin-bottom: 120px;
// &__itemBox {
// border-radius: 29px;
// box-shadow: 0 3px 12px 0 rgba(89, 120, 206, 0.56);
// background-color: $color-white;
// margin: 0 0 30px 0;
// &-title {
// display: inline-block;
// width: 1230px;
// height: 30px;
// padding: 8px 41px 11px 23px;
// font-family: $fontFamily-NotoSansTC;
// font-size: 24px;
// font-weight: 900;
// font-stretch: normal;
// font-style: normal;
// line-height: 1.5;
// letter-spacing: normal;
// text-align: left;
// color: $color-mid-blue;
// }
// &-input {
// position: absolute;
// opacity: 0;
// cursor: pointer;
// }
// &-input:checked ~ &-text {
// display: block;
// width: 94%;
// margin: 0 auto;
// padding-bottom: 20px;
// }
// &-text {
// display: none;
// }
// &-checkmark {
// }
// }
// }
}

View File

@ -16,19 +16,19 @@
<div class="thumbnails">
<div class="thumb-wrapper">
<!-- TODO add thumb -->
<img class="cfp-img" src="" />
<img class="cfp-img" src="@/assets/images/CFP/2020.png" />
<p class="thumb-title text-center">SITCON 2020<br /></p>
<p class="thumb-subtitle text-center">#define</p>
</div>
<div class="thumb-wrapper">
<!-- TODO add thumb -->
<img class="cfp-img" src="" />
<img class="cfp-img" src="@/assets/images/CFP/2019.png" />
<p class="thumb-title text-center">SITCON 2019<br /></p>
<p class="thumb-subtitle text-center">開箱演算法</p>
</div>
<div class="thumb-wrapper">
<!-- TODO add thumb -->
<img class="cfp-img" src="" />
<img class="cfp-img" src="@/assets/images/CFP/2018.png" />
<p class="thumb-title text-center">SITCON 2018<br /></p>
<!-- TODO alignment is not good -->
<p class="thumb-subtitle text-center small">

View File

@ -1,209 +1,228 @@
<template>
<div class="info">
<div class="info-container">
<!-- 議程種類方塊 -->
<div class="info-section">
<h1>議程種類</h1>
<div class="info-section__content">
<div class="info-kind">
<div class="info-kind__itemBox">
<div class=info-kind__itemBox-title>Presentation</div>
<div class="info-kind__itemBox-text">
<p>Presentation 包含完整 30 分鐘的議程與 10 分鐘的問答時間<strong> 40
分鐘</strong>讓您有充分的時間展示想法描述經歷和與會者交流
</p>
<!-- 議程種類方塊 -->
<section class="info-section">
<h1>議程種類</h1>
<article class="info-section__content">
<div class="info-kind">
<div class="info-kind__itemBox">
<div class=info-kind__itemBox-title>Presentation</div>
<div class="info-kind__itemBox-text">
<p>Presentation 包含完整 30 分鐘的議程與 10 分鐘的問答時間<strong> 40
分鐘</strong>讓您有充分的時間展示想法描述經歷和與會者交流
</p>
</div>
</div>
<div class="info-kind__itemBox">
<div class="info-kind__itemBox-title">Double Espresso</div>
<div class="info-kind__itemBox-text">
<p>
Double Espresso <strong> 20 分鐘的議程</strong>相對於僅 10 分鐘的 Espresso讓您有餘裕補充想法和與會者進行問答
</p>
</div>
</div>
<div class="info-kind__itemBox">
<div class="info-kind__itemBox-title">Espresso</div>
<div class="info-kind__itemBox-text">
<p>
Espresso <strong>僅有 10 分鐘</strong>挑戰最為濃縮與精華的議程為與會者帶來短而精緻的知識洗禮
</p>
</div>
</div>
</div>
<div class="info-kind__itemBox">
<div class="info-kind__itemBox-title">Double Espresso</div>
<div class="info-kind__itemBox-text">
<p>
Double Espresso <strong> 20 分鐘的議程</strong>相對於僅 10 分鐘的 Espresso讓您有餘裕補充想法和與會者進行問答
</p>
</div>
</div>
<div class="info-kind__itemBox">
<div class="info-kind__itemBox-title">Espresso</div>
<div class="info-kind__itemBox-text">
<p>
Espresso <strong>僅有 10 分鐘</strong>挑戰最為濃縮與精華的議程為與會者帶來短而精緻的知識洗禮
</p>
</div>
</div>
</div>
</div>
</div>
<!-- 議程種類方塊 -->
<!-- 流程 -->
<div class="info-section">
<h1>流程</h1>
<div class="info-section__content">
<p>
本年度 SITCON
年會將分為<strong>二階段投稿與審稿</strong>第一階段決定是否接受稿件第二階段安排演講廳審稿委員於第一階段完成審稿後將對外公告接受稿件清單並通知投稿者提供第二階段所需之資料SITCON
議程組於第二階段將依照投稿者提供的資料以及公開的人氣投票結果安排年會當日的演講廳與時段第二階段的資料不影響稿件接受與否
</p>
</div>
</div>
<!-- 流程 -->
<!-- 投稿方式 -->
<div class="info-section">
<h1>投稿方式</h1>
<div class="info-section__content">
<p>
稿件均經議程組形式審查交予該領域之審稿委員審稿審稿委員由 SITCON 工作人員業界人士及學界人士組成
</p>
<div class="info-section__content--sub">
<h2>投稿格式</h2>
</article>
</section>
<!-- 議程種類方塊 -->
<!-- 流程 -->
<section class="info-section">
<h1>流程</h1>
<article class="info-section__content">
<p>
各議程類型的投稿格式相同除特別標示之資訊外其餘僅供審稿委員於審稿時閱讀
<br>
<br>
<ul>
<li><span /><strong>投稿類型</strong>必填公開請寫明所欲投稿為何種議程類型 Presentation Double EspressoEspresso
</li>
<li><span /><strong>題目 Title</strong>必填公開請不要超出 20 </li>
<li><span /><strong>摘要 Abstract</strong>必填公開建議含標點符號 150250 使用於宣傳與網站公告</li>
<li><span /><strong>演講大綱 Outline</strong>必填請說明議程的內容大綱與時間分配若為多位講者共同分享請說明各個講者如何分配演講內容</li>
<li><span /><strong>目標受眾 Target
Audience</strong>必填請說明您期待該議程的目標受眾為怎麼樣的人例如嚮往成為前端開發者的初學者欲精進某技能的後端工程師</li>
<li><span /><strong>先備知識 Prior Knowledge</strong>必填公開請說明該議程的與會者所需具備的先備知識例如能理解 Python
基礎語法能熟練運用 Class
OOP
</li>
<li><span /><strong>詳細說明
Description</strong>必填不限字數請說明這個議程您認爲重要的相關細節以利審稿委員更瞭解您的作品我們強烈建議您詳細填寫此項讓審稿委員全面且深入地了解您的稿件增加入選機率
</li>
<li><span /><strong>關鍵字 Keywords</strong>選填公開請勾選與議程內容相關的關鍵字或自行新增</li>
<li><span /><strong>附件 Attachment</strong>選填可以附上程式碼投影片草稿或任何您認爲有助於我們瞭解您的議程的附件</li>
</ul>
本年度 SITCON
年會將分為<strong>二階段投稿與審稿</strong>第一階段決定是否接受稿件第二階段安排演講廳審稿委員於第一階段完成審稿後將對外公告接受稿件清單並通知投稿者提供第二階段所需之資料SITCON
議程組於第二階段將依照投稿者提供的資料以及公開的人氣投票結果安排年會當日的演講廳與時段第二階段的資料不影響稿件接受與否
</p>
</div>
<div class="info-section__content--sub">
<h2>個人資料</h2>
</article>
</section>
<!-- 流程 -->
<!-- 投稿方式 -->
<section class="info-section">
<h1>投稿方式</h1>
<article class="info-section__content">
<p>
除了暱稱/姓名被用於宣傳其餘資訊僅需提供一人作為代表當稿件同時有多位講者時供議程組於聯絡時使用
<br>
<br>
<ul>
<li><span /><strong>電子郵件 Email</strong>能讓大會聯絡的電子信箱注意請您在大會的聯絡過程中維持使用相同信箱</li>
<li><span /><strong>暱稱/名字 Name</strong>公開於講者海報及網站的稱呼</li>
<li><span /><strong>手機號碼 Phone</strong>用於大會聯絡確認資訊用的電話號碼</li>
<li><span /><strong>其他聯絡方式 Other contact information</strong>其他任何我們能聯絡您的方式 Telegram住處電話等
</li>
</ul>
稿件均經議程組形式審查交予該領域之審稿委員審稿審稿委員由 SITCON 工作人員業界人士及學界人士組成
</p>
</div>
</div>
</div>
<!-- 投稿方式 -->
<!-- 審稿方式 -->
<div class="info-section">
<h1>審稿方式</h1>
<div class="info-section__content">
<p>
審稿委員將針對以下項目進行篩選
<ul>
<li><span /><strong>稿件內容</strong>知識分享經驗案例想法觀點是否獨特等</li>
<li><span /><strong>表達能力</strong>提供的資料是否有條理文句暢通以及提供資料之完整度完整的資料能讓審稿委員更清楚了解演講細節</li>
<li><span /><strong>適合聽眾</strong>稿件是否適合 SITCON 大多數的與會者經我們評估比較小眾的議程將可能安排在較小的演講廳</li>
</ul>
</p>
</div>
<article class="info-section__content--sub">
<h2>投稿格式</h2>
<p>
各議程類型的投稿格式相同除特別標示之資訊外其餘僅供審稿委員於審稿時閱讀
<br>
<br>
<ul>
<li><span /><strong>投稿類型</strong>必填公開請寫明所欲投稿為何種議程類型 Presentation Double EspressoEspresso
</li>
<li><span /><strong>題目 Title</strong>必填公開請不要超出 20 </li>
<li><span /><strong>摘要 Abstract</strong>必填公開建議含標點符號 150250 使用於宣傳與網站公告</li>
<li><span /><strong>演講大綱 Outline</strong>必填請說明議程的內容大綱與時間分配若為多位講者共同分享請說明各個講者如何分配演講內容</li>
<li><span /><strong>目標受眾 Target
Audience</strong>必填請說明您期待該議程的目標受眾為怎麼樣的人例如嚮往成為前端開發者的初學者欲精進某技能的後端工程師</li>
<li><span /><strong>先備知識 Prior Knowledge</strong>必填公開請說明該議程的與會者所需具備的先備知識例如能理解 Python
基礎語法能熟練運用 Class
OOP
</li>
<li><span /><strong>詳細說明
Description</strong>必填不限字數請說明這個議程您認爲重要的相關細節以利審稿委員更瞭解您的作品我們強烈建議您詳細填寫此項讓審稿委員全面且深入地了解您的稿件增加入選機率
</li>
<li><span /><strong>關鍵字 Keywords</strong>選填公開請勾選與議程內容相關的關鍵字或自行新增</li>
<li><span /><strong>附件 Attachment</strong>選填可以附上程式碼投影片草稿或任何您認爲有助於我們瞭解您的議程的附件</li>
</ul>
</p>
</article>
<article class="info-section__content--sub">
<h2>個人資料</h2>
<p>
除了暱稱/姓名被用於宣傳其餘資訊僅需提供一人作為代表當稿件同時有多位講者時供議程組於聯絡時使用
<br>
<br>
<ul>
<li><span /><strong>電子郵件 Email</strong>能讓大會聯絡的電子信箱注意請您在大會的聯絡過程中維持使用相同信箱</li>
<li><span /><strong>暱稱/名字 Name</strong>公開於講者海報及網站的稱呼</li>
<li><span /><strong>手機號碼 Phone</strong>用於大會聯絡確認資訊用的電話號碼</li>
<li><span /><strong>其他聯絡方式 Other contact information</strong>其他任何我們能聯絡您的方式 Telegram住處電話等
</li>
</ul>
</p>
</article>
</article>
</section>
<!-- 投稿方式 -->
<!-- 審稿方式 -->
<!-- 投稿注意事項 -->
</div>
<div class="info-section">
<h1>投稿注意事項</h1>
<div class="info-section__content">
<p>
<ul>
<li><span />SITCON 2021 採用 Google Forms 接收投稿</li>
<li><span />SITCON 2021 將會有 4 軌議程同時進行不計其他議程相關活動</li>
<li><span />上述審稿方式不考慮稿件內容的難度我們以稿件是否能夠吸引人高品質適合聽眾即前述審稿方式為考量</li>
為鼓勵投稿大會提供投稿者一組入場票邀請碼
投稿者有多個投稿亦同即為一人一組非一稿一組可優先報名參與本年會若您的稿件被接受屆時可使用講者身分入場不需要另外報名並可以將入場票邀請碼贈與他人使用邀請親朋好友共襄盛舉講者身分入場每組可獲得一張講者識別證一份午餐餐盒與一份講者專屬迎賓禮
<li><span />在截稿之前投稿者可以隨時使用投稿系統修改已投的稿件</li>
<li><span />SITCON 議程組得與投稿者討論並經同意後轉換稿件之投稿類型</li>
<li><span />無論投稿有無入選仍然歡迎於年會當天報名其他議程相關活動</li>
<li><span />凡稿件經接受者年會將頒予感謝狀以表彰投稿者之熱情付出與貢獻</li>
<li><span />稿件在第一階段入選後第二階段補充資料與公開的人氣投票結果僅作為 SITCON 議程組安排年會當日的演講廳與時段參考最終結果仍以 SITCON 議程組公告為準</li>
<li><span />議程題目摘要先備知識將放置於官方網站與年會前發行的電子報中</li>
</ul>
<br />
若有任何問題或投稿建議 E-mail SITCON 議程組信箱 session[at]sitcon.org
</p>
<div class="info-section__content--sub">
<h2>錄影與紀錄</h2>
<p>
所有議程皆會錄影若不希望被錄影與釋出可以與議程組聯絡<br />
本屆 SITCON
提供入選講者試講及彩排的機會試講除了讓大會工作人員先行對議程內容演講習慣有初步了解外也可以讓講者熟悉現場流程找出能讓簡報更生動精采的模式彩排則讓講者熟悉現場設備環境攝影機位置並且測試
Live
Demo 情境希望講者能夠共同參與試講及彩排一起使年會議程品質更臻完美
</p>
</div>
<div class="info-section__content--sub">
<h2>授權</h2>
<p>
議程錄影將在經過您的同意後一律以 CC - BY 3.0 授權在 YouTube 釋出
議程相關素材例如投影片等將由您自行決定在何處以何種方式釋出或選擇不釋出我們不會干涉年會後我們將向您蒐集素材連結若您選擇釋出我們會將連結放置在年會官方網站的議程表上
</p>
</div>
<div class="info-section__content--sub">
<h2>試講</h2>
<p>
試講提供講者在演講前有練習的機會比照年會時間安排供講者講完整場演講並有議程組人員提供建議如簡報台風等講者可以自由參加並自行選擇最合適的場次若您的稿件確認入選議程組將與您協調精確時間
</p>
<p>
所有場次將依報名情況舉辦預計舉辦北部中部南部東部場等時間約為四月份地點另行通知
補助依照客運價格標準補助講者至最近試講場地的全額或部分車馬費
</p>
</div>
<div class="info-section__content--sub">
<h2>彩排</h2>
<section class="info-section">
<h1>審稿方式</h1>
<article class="info-section__content">
<p>
審稿委員將針對以下項目進行篩選
<ul>
<li><span />日期2021/05/28</li>
<li><span />場地使用場地與正式年會相同細節將於稿件接受後通知</li>
<li><span />時間一人約 510 分鐘若有 Live Demo 或特殊需求可提前與議程組安排時間</li>
<li><span />流程講者操作設備測試 Live Demo 連結及切換方式也可以演練部分簡報內容</li>
<li><span />提供設備與年會當天場地的設備相同有麥克風倒數計時器等</li>
<li><span /><strong>稿件內容</strong>知識分享經驗案例想法觀點是否獨特等</li>
<li><span /><strong>表達能力</strong>提供的資料是否有條理文句暢通以及提供資料之完整度完整的資料能讓審稿委員更清楚了解演講細節</li>
<li><span /><strong>適合聽眾</strong>稿件是否適合 SITCON 大多數的與會者經我們評估比較小眾的議程將可能安排在較小的演講廳</li>
</ul>
</p>
</div>
<div class="info-section__content--sub">
<h2>注意</h2>
</article>
<!-- 審稿方式 -->
<!-- 投稿注意事項 -->
</section>
<section class="info-section">
<h1>投稿注意事項</h1>
<article class="info-section__content">
<p>
<ul>
<li><span />除非內容明顯偏離講題違反 CoC 或不符事實我們不會強制要求講者對演講內容進行修正</li>
<li><span />為了維護所有講者的權利試講時間恕不接受更改請各位講者準時參與</li>
<li><span />SITCON 2021 採用 Google Forms 接收投稿</li>
<li><span />SITCON 2021 將會有 4 軌議程同時進行不計其他議程相關活動</li>
<li><span />上述審稿方式不考慮稿件內容的難度我們以稿件是否能夠吸引人高品質適合聽眾即前述審稿方式為考量</li>
為鼓勵投稿大會提供投稿者一組入場票邀請碼
投稿者有多個投稿亦同即為一人一組非一稿一組可優先報名參與本年會若您的稿件被接受屆時可使用講者身分入場不需要另外報名並可以將入場票邀請碼贈與他人使用邀請親朋好友共襄盛舉講者身分入場每組可獲得一張講者識別證一份午餐餐盒與一份講者專屬迎賓禮
<li><span />在截稿之前投稿者可以隨時使用投稿系統修改已投的稿件</li>
<li><span />SITCON 議程組得與投稿者討論並經同意後轉換稿件之投稿類型</li>
<li><span />無論投稿有無入選仍然歡迎於年會當天報名其他議程相關活動</li>
<li><span />凡稿件經接受者年會將頒予感謝狀以表彰投稿者之熱情付出與貢獻</li>
<li><span />稿件在第一階段入選後第二階段補充資料與公開的人氣投票結果僅作為 SITCON 議程組安排年會當日的演講廳與時段參考最終結果仍以 SITCON 議程組公告為準</li>
<li><span />議程題目摘要先備知識將放置於官方網站與年會前發行的電子報中</li>
</ul>
<br />
若有任何問題或投稿建議 E-mail SITCON 議程組信箱 session[at]sitcon.org
</p>
</div>
<div class="info-section__content--sub">
<h2>Q&A</h2>
<div class="info-qa">
<div class="info-qa__itemBox" v-for="item,index in QA" :key="index" @click="e=>fade(index)">
<span>Q: {{item.Q}}</span>
<p v-if="item.v">{{item.A}}</p>
<article class="info-section__content--sub">
<h2>錄影與紀錄</h2>
<p>
所有議程皆會錄影若不希望被錄影與釋出可以與議程組聯絡<br />
本屆 SITCON
提供入選講者試講及彩排的機會試講除了讓大會工作人員先行對議程內容演講習慣有初步了解外也可以讓講者熟悉現場流程找出能讓簡報更生動精采的模式彩排則讓講者熟悉現場設備環境攝影機位置並且測試
Live
Demo 情境希望講者能夠共同參與試講及彩排一起使年會議程品質更臻完美
</p>
</article>
<article class="info-section__content--sub">
<h2>授權</h2>
<p>
議程錄影將在經過您的同意後一律以 CC - BY 3.0 授權在 YouTube 釋出
議程相關素材例如投影片等將由您自行決定在何處以何種方式釋出或選擇不釋出我們不會干涉年會後我們將向您蒐集素材連結若您選擇釋出我們會將連結放置在年會官方網站的議程表上
</p>
</article>
<article class="info-section__content--sub">
<h2>試講</h2>
<p>
試講提供講者在演講前有練習的機會比照年會時間安排供講者講完整場演講並有議程組人員提供建議如簡報台風等講者可以自由參加並自行選擇最合適的場次若您的稿件確認入選議程組將與您協調精確時間
</p>
<p>
所有場次將依報名情況舉辦預計舉辦北部中部南部東部場等時間約為四月份地點另行通知
補助依照客運價格標準補助講者至最近試講場地的全額或部分車馬費
</p>
</article>
<article class="info-section__content--sub">
<h2>彩排</h2>
<p>
<ul>
<li><span />日期2021/05/28</li>
<li><span />場地使用場地與正式年會相同細節將於稿件接受後通知</li>
<li><span />時間一人約 510 分鐘若有 Live Demo 或特殊需求可提前與議程組安排時間</li>
<li><span />流程講者操作設備測試 Live Demo 連結及切換方式也可以演練部分簡報內容</li>
<li><span />提供設備與年會當天場地的設備相同有麥克風倒數計時器等</li>
</ul>
</p>
</article>
<article class="info-section__content--sub">
<h2>注意</h2>
<p>
<ul>
<li><span />除非內容明顯偏離講題違反 CoC 或不符事實我們不會強制要求講者對演講內容進行修正</li>
<li><span />為了維護所有講者的權利試講時間恕不接受更改請各位講者準時參與</li>
</ul>
</p>
</article>
<article class="info-section__content--sub info-section__content--sub-extend">
<h2>Q&A</h2>
<div class="info-qa">
<div class="info-qa__itemBox" v-for="item,index in QA" :key="index" @click="e=>fade(index)">
<input class="info-qa__itemBox-input" type="checkbox" name="checkbox" :id="index">
<label class="info-qa__itemBox-title" :for="index">
<p>{{item.Q}}</p>
<span class="info-qa__itemBox-checkmark">
<div class="info-qa-icon"></div>
</span>
</label>
<div class="info-qa__itemBox-text">
<!-- <p v-if="item.v">{{item.A}}</p> -->
<p>{{item.A}}</p>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 投稿注意事項 -->
<div class="info-sitcon-img__box">
<img src="../../assets/images/CFP/sitcon-img.svg" class="info-sitcon-img">
</div>
</article>
</article>
<!-- 投稿注意事項 -->
</section>
</div>
</div>
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
@Component({})
@ -213,43 +232,44 @@ export default class Agenda extends Vue {
Q: '先備知識與目標受眾有何不同?',
A:
'「目標受眾」表示您預期何種人將會前來參與該場議程此欄位可能表示為與會者的興趣、生活環境抑或年齡層。「先備知識」表示對該議程有興趣者您建議須先備哪些基礎技術、能力或經驗有助於了解與吸收該場議程的知識精華。舉例而言若一講題為「在營隊中使用虛擬貨幣」則先備知識可能是「沒有」目標受眾可能是「有想要辦營隊的人」。而如果是有關Julia 程式語言的演講,則先備知識可能是「知道平行運算是什麼」,目標受眾可能是「想用 Julia 做資料科學的人」。',
v: false
// v: false
},
{
Q: '投稿主題是否有必要切合年會主題(算盤的後裔)?',
A:
'不用。審稿時僅會依照上文所述方式審查,不會因為切合主題就拿到比較高分,或因為與 主題無關就被扣分。',
v: false
// v: false
},
{
Q: '先備知識與目標受眾有何不同?',
A:
'若我們認為您的稿件很優秀,但可能比較適合另一種形式,或者該形式的名額已經額滿、無法再增額時,我們會向您充分說明與溝通,並經您的同意後,轉換稿件類型。',
v: false
// v: false
},
{
Q: '如果我的稿件預計會有多個講者,投稿時需要注意什麼?',
A:
'請在「暱稱/名字」欄位標示所有講者的稱呼,並在「演講大綱」詳細說明各個講者如何分配演講內容。稿件經接受者,無論講者人數,皆只提供一組可轉贈的入場票邀請碼、一張講者識別證、一份午餐餐盒與一份講者專屬迎賓禮。未佩戴識別證的講者,僅能在自己的演講時,於該議程時段進入議程所在的會議廳。',
v: false
// v: false
},
{
Q: '如果我入選第二階段,可以提供哪些補充資料?',
A:
'您可以提供簡報檔案、講稿、演講錄音搭配簡報畫面製成影片,或是實際錄影,您可以自行決定是否提供上述的任何一項,作為補充資料。',
v: false
// v: false
},
{
Q: '還有疑問怎麼辦?',
A:
'歡迎來投稿者小聚與我們聊聊,或寄信至 session[at]sitcon.org 詢問,我們會儘速回應。',
v: false
// v: false
}
];
private fade = (index: number) => {
this.QA[index].v = !this.QA[index].v;
}
//I am already using checkbox in CSS with better approach and SEO, we don't need to use JS in there.
//I am comment all relative js for js approach.
// private fade = (index: number) => {
// this.QA[index].v = !this.QA[index].v;
// }
}
</script>

View File

@ -1,24 +1,24 @@
<template>
<div class="news">
<NewsHeader id="news-header" />
<Schedule id="news-schedule"/>
<Agenda id="news-agenda"/>
<NewsHeader id="news-header" />
<Schedule id="news-schedule" />
<Agenda id="news-agenda" />
<!-- <Footer></Footer> should be put at App.vue (?) -->
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import NewsHeader from '@/components/news/Header.vue';
import Schedule from '@/components/news/Schedule.vue';
import Agenda from '@/components/news/Agenda.vue';
import { Component, Prop, Vue } from "vue-property-decorator";
import NewsHeader from "@/components/news/Header.vue";
import Schedule from "@/components/news/Schedule.vue";
import Agenda from "@/components/news/Agenda.vue";
@Component({
components: {
NewsHeader,
Schedule,
Agenda
}
Agenda,
},
})
export default class News extends Vue {
@Prop() private msg!: string;