diff --git a/package.json b/package.json index cd13f14..3a1126b 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,11 @@ "core-js": "^3.6.4", "register-service-worker": "^1.6.2", "vue": "^2.6.11", + "vue-material": "^1.0.0-beta-11", "vue-router": "^3.1.5", - "vuex": "^3.1.2" + "vuex": "^3.1.2", + "roboto-fontface": "^0.6.0", + "material-design-icons": "^3.0.1" }, "devDependencies": { "@vue/cli-plugin-babel": "^4.2.0", diff --git a/public/favicon.ico b/public/favicon.ico index df36fcf..514cc38 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/img/icons/android-chrome-192x192.png b/public/img/icons/android-chrome-192x192.png index b02aa64..85aca98 100644 Binary files a/public/img/icons/android-chrome-192x192.png and b/public/img/icons/android-chrome-192x192.png differ diff --git a/public/img/icons/android-chrome-512x512.png b/public/img/icons/android-chrome-512x512.png index 06088b0..c405930 100644 Binary files a/public/img/icons/android-chrome-512x512.png and b/public/img/icons/android-chrome-512x512.png differ diff --git a/public/img/icons/android-chrome-maskable-192x192.png b/public/img/icons/android-chrome-maskable-192x192.png deleted file mode 100644 index 791e9c8..0000000 Binary files a/public/img/icons/android-chrome-maskable-192x192.png and /dev/null differ diff --git a/public/img/icons/android-chrome-maskable-512x512.png b/public/img/icons/android-chrome-maskable-512x512.png deleted file mode 100644 index 5f2098e..0000000 Binary files a/public/img/icons/android-chrome-maskable-512x512.png and /dev/null differ diff --git a/public/img/icons/apple-touch-icon-120x120.png b/public/img/icons/apple-touch-icon-120x120.png index 1427cf6..0a8704a 100644 Binary files a/public/img/icons/apple-touch-icon-120x120.png and b/public/img/icons/apple-touch-icon-120x120.png differ diff --git a/public/img/icons/apple-touch-icon-152x152.png b/public/img/icons/apple-touch-icon-152x152.png index f24d454..dc68f08 100644 Binary files a/public/img/icons/apple-touch-icon-152x152.png and b/public/img/icons/apple-touch-icon-152x152.png differ diff --git a/public/img/icons/apple-touch-icon-180x180.png b/public/img/icons/apple-touch-icon-180x180.png index 404e192..69d2afe 100644 Binary files a/public/img/icons/apple-touch-icon-180x180.png and b/public/img/icons/apple-touch-icon-180x180.png differ diff --git a/public/img/icons/apple-touch-icon-60x60.png b/public/img/icons/apple-touch-icon-60x60.png index cf10a56..687dccd 100644 Binary files a/public/img/icons/apple-touch-icon-60x60.png and b/public/img/icons/apple-touch-icon-60x60.png differ diff --git a/public/img/icons/apple-touch-icon-76x76.png b/public/img/icons/apple-touch-icon-76x76.png index c500769..249815f 100644 Binary files a/public/img/icons/apple-touch-icon-76x76.png and b/public/img/icons/apple-touch-icon-76x76.png differ diff --git a/public/img/icons/apple-touch-icon.png b/public/img/icons/apple-touch-icon.png index 03c0c5d..69d2afe 100644 Binary files a/public/img/icons/apple-touch-icon.png and b/public/img/icons/apple-touch-icon.png differ diff --git a/public/img/icons/favicon-16x16.png b/public/img/icons/favicon-16x16.png index 42af009..55f5a27 100644 Binary files a/public/img/icons/favicon-16x16.png and b/public/img/icons/favicon-16x16.png differ diff --git a/public/img/icons/favicon-32x32.png b/public/img/icons/favicon-32x32.png index 46ca04d..3ab6c64 100644 Binary files a/public/img/icons/favicon-32x32.png and b/public/img/icons/favicon-32x32.png differ diff --git a/public/img/icons/msapplication-icon-144x144.png b/public/img/icons/msapplication-icon-144x144.png index 7808237..68ab2ae 100644 Binary files a/public/img/icons/msapplication-icon-144x144.png and b/public/img/icons/msapplication-icon-144x144.png differ diff --git a/public/img/icons/mstile-150x150.png b/public/img/icons/mstile-150x150.png index 3b37a43..39a2df0 100644 Binary files a/public/img/icons/mstile-150x150.png and b/public/img/icons/mstile-150x150.png differ diff --git a/public/img/icons/safari-pinned-tab.svg b/public/img/icons/safari-pinned-tab.svg index 732afd8..6d008ab 100644 --- a/public/img/icons/safari-pinned-tab.svg +++ b/public/img/icons/safari-pinned-tab.svg @@ -1,149 +1,254 @@ - - - - -Created by potrace 1.11, written by Peter Selinger 2001-2013 - - - - + + + diff --git a/src/App.vue b/src/App.vue index 3943904..a33e107 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,32 +1,140 @@
- +
diff --git a/src/assets/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 b/src/assets/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 new file mode 100644 index 0000000..76fc366 Binary files /dev/null and b/src/assets/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 differ diff --git a/src/assets/MaterialIcons-Regular.eot b/src/assets/MaterialIcons-Regular.eot new file mode 100644 index 0000000..70508eb Binary files /dev/null and b/src/assets/MaterialIcons-Regular.eot differ diff --git a/src/assets/MaterialIcons-Regular.ttf b/src/assets/MaterialIcons-Regular.ttf new file mode 100644 index 0000000..7015564 Binary files /dev/null and b/src/assets/MaterialIcons-Regular.ttf differ diff --git a/src/assets/MaterialIcons-Regular.woff b/src/assets/MaterialIcons-Regular.woff new file mode 100644 index 0000000..b648a3e Binary files /dev/null and b/src/assets/MaterialIcons-Regular.woff differ diff --git a/src/assets/MaterialIcons-Regular.woff2 b/src/assets/MaterialIcons-Regular.woff2 new file mode 100644 index 0000000..9fa2112 Binary files /dev/null and b/src/assets/MaterialIcons-Regular.woff2 differ diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue deleted file mode 100644 index 4ec0c11..0000000 --- a/src/components/HelloWorld.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - diff --git a/src/main.js b/src/main.js index d12df39..a2926d5 100644 --- a/src/main.js +++ b/src/main.js @@ -4,6 +4,23 @@ import './registerServiceWorker' import router from './router' import store from './store' +// material +import VueMaterial from 'vue-material' +import 'vue-material/dist/vue-material.min.css' +import 'vue-material/dist/theme/default.css' +import 'material-design-icons/iconfont/material-icons.css' +Vue.use(VueMaterial) + +//px2rem +window.onresize = setHtmlFontSize +function setHtmlFontSize() { + const htmlWidth = document.documentElement.clientWidth || document.body.clientWidth + const htmlDom = document.getElementsByTagName('html')[0] + if (htmlWidth >= 500) htmlDom.style.fontSize = 500 / 10 + 'px' + else htmlDom.style.fontSize = htmlWidth / 10 + 'px' +} +setHtmlFontSize(); + Vue.config.productionTip = false new Vue({ diff --git a/src/router/index.js b/src/router/index.js index d36779e..46c745e 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,6 +1,10 @@ import Vue from 'vue' import VueRouter from 'vue-router' -import Home from '../views/Home.vue' + +const linkActiveClass = 'my-link-active-class' + +// // pass custom class to Vue Material +// Vue.material.router.linkActiveClass = linkActiveClass Vue.use(VueRouter) @@ -8,16 +12,38 @@ const routes = [ { path: '/', name: 'Home', - component: Home + component: () => import(/* webpackChunkName: "home" */ '../views/Home/Home.vue') }, { - path: '/about', - name: 'About', - // route level code-splitting - // this generates a separate chunk (about.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import(/* webpackChunkName: "about" */ '../views/About.vue') - } + path: '/search', + name: 'Search', + component: () => import(/* webpackChunkName: "search" */ '../views/Search/Search.vue') + }, + { + path: '/add', + name: 'Add', + component: () => import(/* webpackChunkName: "add" */ '../views/Add/Add.vue') + }, + { + path: '/account', + name: 'Account', + component: () => import(/* webpackChunkName: "account" */ '../views/Account/Account.vue') + }, + { + path: '/faq', + name: 'FAQ', + component: () => import(/* webpackChunkName: "faq" */ '../views/FAQ/FAQ.vue') + }, + { + path: '/feedback', + name: 'Feedback', + component: () => import(/* webpackChunkName: "feedback" */ '../views/Feedback/Feedback.vue') + }, + { + path: '/settings', + name: 'Settings', + component: () => import(/* webpackChunkName: "settings" */ '../views/Settings/Settings.vue') + }, ] const router = new VueRouter({ diff --git a/src/style/font.scss b/src/style/font.scss new file mode 100644 index 0000000..abaeb56 --- /dev/null +++ b/src/style/font.scss @@ -0,0 +1,100 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(/assets/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(/assets/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(/assets/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(/assets/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(/assets/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(/assets/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(/assets/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +// @font-face { +// font-family: 'Material Icons'; +// font-style: normal; +// font-weight: 400; +// src: url(/assets/MaterialIcons-Regular.eot); /* For IE6-8 */ +// src: local('Material Icons'), +// local('MaterialIcons-Regular'), +// url(/assets/MaterialIcons-Regular.woff2) format('woff2'), +// url(/assets/MaterialIcons-Regular.woff) format('woff'), +// url(/assets/MaterialIcons-Regular.ttf) format('truetype'); +// } + +// .material-icons { +// font-family: 'Material Icons'; +// font-weight: normal; +// font-style: normal; +// font-size: 24px; /* Preferred icon size */ +// display: inline-block; +// line-height: 1; +// text-transform: none; +// letter-spacing: normal; +// word-wrap: normal; +// white-space: nowrap; +// direction: ltr; + +// /* Support for all WebKit browsers. */ +// -webkit-font-smoothing: antialiased; +// /* Support for Safari and Chrome. */ +// text-rendering: optimizeLegibility; + +// /* Support for Firefox. */ +// -moz-osx-font-smoothing: grayscale; + +// /* Support for IE. */ +// font-feature-settings: 'liga'; +// } \ No newline at end of file diff --git a/src/style/main.scss b/src/style/main.scss new file mode 100644 index 0000000..0ee39e1 --- /dev/null +++ b/src/style/main.scss @@ -0,0 +1 @@ +$main-color: #448aff; \ No newline at end of file diff --git a/src/views/About.vue b/src/views/About.vue deleted file mode 100644 index 3fa2807..0000000 --- a/src/views/About.vue +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/src/views/Account/Account.vue b/src/views/Account/Account.vue new file mode 100644 index 0000000..e69de29 diff --git a/src/views/Add/Add.vue b/src/views/Add/Add.vue new file mode 100644 index 0000000..660278f --- /dev/null +++ b/src/views/Add/Add.vue @@ -0,0 +1,188 @@ + + + + + \ No newline at end of file diff --git a/src/views/FAQ/FAQ.vue b/src/views/FAQ/FAQ.vue new file mode 100644 index 0000000..660278f --- /dev/null +++ b/src/views/FAQ/FAQ.vue @@ -0,0 +1,188 @@ + + + + + \ No newline at end of file diff --git a/src/views/Feedback/Feedback.vue b/src/views/Feedback/Feedback.vue new file mode 100644 index 0000000..660278f --- /dev/null +++ b/src/views/Feedback/Feedback.vue @@ -0,0 +1,188 @@ + + + + + \ No newline at end of file diff --git a/src/views/Home.vue b/src/views/Home.vue deleted file mode 100644 index 8bd6c57..0000000 --- a/src/views/Home.vue +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue new file mode 100644 index 0000000..660278f --- /dev/null +++ b/src/views/Home/Home.vue @@ -0,0 +1,188 @@ + + + + + \ No newline at end of file diff --git a/src/views/Search/Search.vue b/src/views/Search/Search.vue new file mode 100644 index 0000000..660278f --- /dev/null +++ b/src/views/Search/Search.vue @@ -0,0 +1,188 @@ + + + + + \ No newline at end of file diff --git a/src/views/Settings/Settings.vue b/src/views/Settings/Settings.vue new file mode 100644 index 0000000..e69de29 diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..1c6a852 --- /dev/null +++ b/vue.config.js @@ -0,0 +1,17 @@ +module.exports = { + productionSourceMap: false, + pwa: { + name: 'Codebook', + // themeColor: '#e54d42', + workboxOptions: { + skipWaiting: true + }, + iconPaths: { + favicon32: 'favicon.ico', + favicon16: 'favicon.ico', + appleTouchIcon: 'favicon.ico', + maskIcon: 'favicon.ico', + msTileImage: 'favicon.ico' + } + } +} \ No newline at end of file