init
This commit is contained in:
commit
29fe82a05b
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
.DS_Store
|
||||||
|
node_modules
|
||||||
|
/dist
|
||||||
|
|
||||||
|
|
||||||
|
# local env files
|
||||||
|
.env.local
|
||||||
|
.env.*.local
|
||||||
|
|
||||||
|
# Log files
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
pnpm-debug.log*
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.idea
|
||||||
|
.vscode
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
24
README.md
Normal file
24
README.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# love-nav-vue
|
||||||
|
|
||||||
|
## Project setup
|
||||||
|
```
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
### Compiles and hot-reloads for development
|
||||||
|
```
|
||||||
|
npm run serve
|
||||||
|
```
|
||||||
|
|
||||||
|
### Compiles and minifies for production
|
||||||
|
```
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Lints and fixes files
|
||||||
|
```
|
||||||
|
npm run lint
|
||||||
|
```
|
||||||
|
|
||||||
|
### Customize configuration
|
||||||
|
See [Configuration Reference](https://cli.vuejs.org/config/).
|
5
babel.config.js
Normal file
5
babel.config.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
module.exports = {
|
||||||
|
presets: [
|
||||||
|
'@vue/cli-plugin-babel/preset'
|
||||||
|
]
|
||||||
|
}
|
19
jsconfig.json
Normal file
19
jsconfig.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "es5",
|
||||||
|
"module": "esnext",
|
||||||
|
"baseUrl": "./",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"paths": {
|
||||||
|
"@/*": [
|
||||||
|
"src/*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"lib": [
|
||||||
|
"esnext",
|
||||||
|
"dom",
|
||||||
|
"dom.iterable",
|
||||||
|
"scripthost"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
19940
package-lock.json
generated
Normal file
19940
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
52
package.json
Normal file
52
package.json
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
{
|
||||||
|
"name": "love-nav-vue",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"serve": "vue-cli-service serve",
|
||||||
|
"build": "vue-cli-service build",
|
||||||
|
"lint": "vue-cli-service lint"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"axios": "^1.6.2",
|
||||||
|
"core-js": "^3.8.3",
|
||||||
|
"echarts": "^5.4.3",
|
||||||
|
"element-ui": "^2.15.14",
|
||||||
|
"jquery": "^3.7.1",
|
||||||
|
"qs": "^6.11.2",
|
||||||
|
"vue": "^2.6.14",
|
||||||
|
"vue-router": "^3.5.1",
|
||||||
|
"vuex": "^3.6.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@babel/core": "^7.12.16",
|
||||||
|
"@babel/eslint-parser": "^7.12.16",
|
||||||
|
"@vue/cli-plugin-babel": "~5.0.0",
|
||||||
|
"@vue/cli-plugin-eslint": "~5.0.0",
|
||||||
|
"@vue/cli-plugin-router": "~5.0.0",
|
||||||
|
"@vue/cli-plugin-vuex": "~5.0.0",
|
||||||
|
"@vue/cli-service": "~5.0.0",
|
||||||
|
"eslint": "^7.32.0",
|
||||||
|
"eslint-plugin-vue": "^8.0.3",
|
||||||
|
"vue-template-compiler": "^2.6.14"
|
||||||
|
},
|
||||||
|
"eslintConfig": {
|
||||||
|
"root": true,
|
||||||
|
"env": {
|
||||||
|
"node": true
|
||||||
|
},
|
||||||
|
"extends": [
|
||||||
|
"plugin:vue/essential",
|
||||||
|
"eslint:recommended"
|
||||||
|
],
|
||||||
|
"parserOptions": {
|
||||||
|
"parser": "@babel/eslint-parser"
|
||||||
|
},
|
||||||
|
"rules": {}
|
||||||
|
},
|
||||||
|
"browserslist": [
|
||||||
|
"> 1%",
|
||||||
|
"last 2 versions",
|
||||||
|
"not dead"
|
||||||
|
]
|
||||||
|
}
|
BIN
public/favicon.ico
Normal file
BIN
public/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
17
public/index.html
Normal file
17
public/index.html
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||||
|
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||||
|
<title><%= htmlWebpackPlugin.options.title %></title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<noscript>
|
||||||
|
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||||
|
</noscript>
|
||||||
|
<div id="app"></div>
|
||||||
|
<!-- built files will be auto injected -->
|
||||||
|
</body>
|
||||||
|
</html>
|
27
src/App.vue
Normal file
27
src/App.vue
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<template>
|
||||||
|
<router-view/>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/*#app {
|
||||||
|
font-family: Avenir, Helvetica, Arial, sans-serif;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
text-align: center;
|
||||||
|
color: #2c3e50;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
padding: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #2c3e50;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a.router-link-exact-active {
|
||||||
|
color: #42b983;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
</style>
|
32
src/api/api.js
Normal file
32
src/api/api.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import request from "@/utils/request.js";
|
||||||
|
import qs from "qs";
|
||||||
|
|
||||||
|
const baseUrl = '/api/jwt/auth'
|
||||||
|
|
||||||
|
|
||||||
|
//登录
|
||||||
|
export function authCodeLogin(params) {
|
||||||
|
return request({
|
||||||
|
url: baseUrl + "/authCodeLogin/" + params.code,
|
||||||
|
method: "get",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//退出
|
||||||
|
export function authLogout(params) {
|
||||||
|
return request({
|
||||||
|
url: baseUrl + "/logout",
|
||||||
|
method: "get",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//获取用户数据
|
||||||
|
export function getUserInfo(params) {
|
||||||
|
return request({
|
||||||
|
url: baseUrl + "/getUserInfo",
|
||||||
|
method: "get",
|
||||||
|
params:qs.stringfy(params)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//其实,也不一定就是params,也可以是 query 还有 data 的呀!
|
||||||
|
//params是添加到url的请求字符串中的,用于get请求。会将参数加到 url后面。所以,传递的都是字符串。无法传递参数中含有json格式的数据
|
||||||
|
//而data是添加到请求体(body)中的, 用于post请求。添加到请求体(body)中,json 格式也是可以的。
|
162
src/assets/css/css2.css
Normal file
162
src/assets/css/css2.css
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
/* devanagari */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 200;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLFj_Z11lFc-K.woff2) format('woff2');
|
||||||
|
unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 200;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLFj_Z1JlFc-K.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 200;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLFj_Z1xlFQ.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
/* devanagari */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLDz8Z11lFc-K.woff2) format('woff2');
|
||||||
|
unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLDz8Z1JlFc-K.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
/* devanagari */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiEyp8kv8JHgFVrJJbecmNE.woff2) format('woff2');
|
||||||
|
unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiEyp8kv8JHgFVrJJnecmNE.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiEyp8kv8JHgFVrJJfecg.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
/* devanagari */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLGT9Z11lFc-K.woff2) format('woff2');
|
||||||
|
unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
/* devanagari */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 600;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2) format('woff2');
|
||||||
|
unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 600;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 600;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
|
/* devanagari */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2) format('woff2');
|
||||||
|
unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Poppins';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
font-display: swap;
|
||||||
|
src: url(../font/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
886
src/assets/css/home-style.css
Normal file
886
src/assets/css/home-style.css
Normal file
@ -0,0 +1,886 @@
|
|||||||
|
@import url("../../assets/css/css2.css");
|
||||||
|
* {
|
||||||
|
outline: none;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--theme-bg-color: rgba(16 18 27 / 40%);
|
||||||
|
--border-color: rgba(113 119 144 / 25%);
|
||||||
|
--theme-color: #f9fafb;
|
||||||
|
--inactive-color: rgb(113 119 144 / 78%);
|
||||||
|
--body-font: "Poppins", sans-serif;
|
||||||
|
--hover-menu-bg: rgba(12 15 25 / 30%);
|
||||||
|
--content-title-color: #999ba5;
|
||||||
|
--content-bg: rgb(146 151 179 / 13%);
|
||||||
|
--button-inactive: rgb(249 250 251 / 55%);
|
||||||
|
--dropdown-bg: #21242d;
|
||||||
|
--dropdown-hover: rgb(42 46 60);
|
||||||
|
--popup-bg: rgb(22 25 37);
|
||||||
|
--search-bg: #14162b;
|
||||||
|
--overlay-bg: rgba(36, 39, 59, 0.3);
|
||||||
|
--scrollbar-bg: rgb(1 2 3 / 40%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.light-mode {
|
||||||
|
--theme-bg-color: rgb(255 255 255 / 31%);
|
||||||
|
--theme-color: #3c3a3a;
|
||||||
|
--inactive-color: #333333;
|
||||||
|
--button-inactive: #3c3a3a;
|
||||||
|
--search-bg: rgb(255 255 255 / 31%);
|
||||||
|
--dropdown-bg: #f7f7f7;
|
||||||
|
--overlay-bg: rgb(255 255 255 / 30%);
|
||||||
|
--dropdown-hover: rgb(236 236 236);
|
||||||
|
--border-color: rgb(255 255 255 / 35%);
|
||||||
|
--popup-bg: rgb(255 255 255);
|
||||||
|
--hover-menu-bg: rgba(255 255 255 / 35%);
|
||||||
|
--scrollbar-bg: rgb(255 253 253 / 57%);
|
||||||
|
--content-title-color: --theme-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
box-sizing: border-box;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: var(--body-font);
|
||||||
|
background-image: url(../../assets/img/macos-big-sur-1280x720-dark-wwdc-2020-22655.jpg);
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
padding: 2em;
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 480px) {
|
||||||
|
body {
|
||||||
|
padding: 0.8em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-bg {
|
||||||
|
position: fixed;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.video-bg video {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
-o-object-fit: cover;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark-light {
|
||||||
|
position: fixed;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
bottom: 50px;
|
||||||
|
right: 30px;
|
||||||
|
background-color: var(--dropdown-bg);
|
||||||
|
box-shadow: -1px 3px 8px -1px rgba(0, 0, 0, 0.2);
|
||||||
|
padding: 8px;
|
||||||
|
border-radius: 50%;
|
||||||
|
z-index: 3;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.dark-light svg {
|
||||||
|
width: 24px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
fill: #ffce45;
|
||||||
|
stroke: #ffce45;
|
||||||
|
transition: 0.5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.light-mode .dark-light svg {
|
||||||
|
fill: transparent;
|
||||||
|
stroke: var(--theme-color);
|
||||||
|
}
|
||||||
|
.light-mode .profile-img {
|
||||||
|
border: 2px solid var(--theme-bg-color);
|
||||||
|
}
|
||||||
|
.light-mode .content-section ul {
|
||||||
|
background-color: var(--theme-bg-color);
|
||||||
|
}
|
||||||
|
.light-mode .pop-up__title {
|
||||||
|
border-color: var(--theme-color);
|
||||||
|
}
|
||||||
|
.light-mode .dropdown.is-active ul {
|
||||||
|
background-color: rgba(255, 255, 255, 0.94);
|
||||||
|
}
|
||||||
|
|
||||||
|
body.light-mode:before,
|
||||||
|
body.light-mode .video-bg:before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
background: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0.45) 100%);
|
||||||
|
-webkit-backdrop-filter: saturate(3);
|
||||||
|
backdrop-filter: saturate(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.app {
|
||||||
|
background-color: var(--theme-bg-color);
|
||||||
|
max-width: 1250px;
|
||||||
|
max-height: 860px;
|
||||||
|
height: 90vh;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
width: 1250px;
|
||||||
|
border-radius: 14px;
|
||||||
|
backdrop-filter: blur(20px);
|
||||||
|
-webkit-backdrop-filter: blur(20px);
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-shrink: 0;
|
||||||
|
height: 58px;
|
||||||
|
width: 100%;
|
||||||
|
border-bottom: 1px solid var(--border-color);
|
||||||
|
padding: 0 30px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 480px) {
|
||||||
|
.header {
|
||||||
|
padding: 0 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.header-menu {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.header-menu a {
|
||||||
|
padding: 20px 30px;
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--inactive-color);
|
||||||
|
border-bottom: 2px solid transparent;
|
||||||
|
transition: 0.3s;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 610px) {
|
||||||
|
.header-menu a:not(.main-header-link) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.header-menu a.is-active, .header-menu a:hover {
|
||||||
|
color: var(--theme-color);
|
||||||
|
border-bottom: 2px solid var(--theme-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.notify {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.notify:before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
background-color: #3a6df0;
|
||||||
|
width: 6px;
|
||||||
|
height: 6px;
|
||||||
|
border-radius: 50%;
|
||||||
|
right: 20px;
|
||||||
|
top: 16px;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 1055px) {
|
||||||
|
.notify {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-circle {
|
||||||
|
width: 15px;
|
||||||
|
height: 15px;
|
||||||
|
background-color: #f96057;
|
||||||
|
border-radius: 50%;
|
||||||
|
box-shadow: 24px 0 0 0 #f8ce52, 48px 0 0 0 #5fcf65;
|
||||||
|
margin-right: 195px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 945px) {
|
||||||
|
.menu-circle {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-bar {
|
||||||
|
height: 40px;
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 400px;
|
||||||
|
padding-left: 16px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
.search-bar input {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border: none;
|
||||||
|
background-color: var(--search-bg);
|
||||||
|
border-radius: 4px;
|
||||||
|
font-family: var(--body-font);
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 500;
|
||||||
|
padding: 0 20px 0 40px;
|
||||||
|
box-shadow: 0 0 0 2px rgba(134, 140, 160, 0.02);
|
||||||
|
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56.966 56.966' fill='%23717790c7'%3e%3cpath d='M55.146 51.887L41.588 37.786A22.926 22.926 0 0046.984 23c0-12.682-10.318-23-23-23s-23 10.318-23 23 10.318 23 23 23c4.761 0 9.298-1.436 13.177-4.162l13.661 14.208c.571.593 1.339.92 2.162.92.779 0 1.518-.297 2.079-.837a3.004 3.004 0 00.083-4.242zM23.984 6c9.374 0 17 7.626 17 17s-7.626 17-17 17-17-7.626-17-17 7.626-17 17-17z'/%3e%3c/svg%3e");
|
||||||
|
background-size: 14px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: 16px 48%;
|
||||||
|
color: var(--theme-color);
|
||||||
|
}
|
||||||
|
.search-bar input::-moz-placeholder {
|
||||||
|
font-family: var(--body-font);
|
||||||
|
color: var(--inactive-color);
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
.search-bar input:-ms-input-placeholder {
|
||||||
|
font-family: var(--body-font);
|
||||||
|
color: var(--inactive-color);
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
.search-bar input::placeholder {
|
||||||
|
font-family: var(--body-font);
|
||||||
|
color: var(--inactive-color);
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-profile {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0 16px 0 40px;
|
||||||
|
margin-left: auto;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.header-profile svg {
|
||||||
|
width: 22px;
|
||||||
|
color: #f9fafb;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.notification-number {
|
||||||
|
position: absolute;
|
||||||
|
background-color: #3a6df0;
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
border-radius: 50%;
|
||||||
|
font-size: 10px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
color: #fff;
|
||||||
|
right: -6px;
|
||||||
|
top: -6px;
|
||||||
|
}
|
||||||
|
.notification + svg {
|
||||||
|
margin-left: 22px;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 945px) {
|
||||||
|
.notification + svg {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.profile-img {
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 50%;
|
||||||
|
-o-object-fit: cover;
|
||||||
|
object-fit: cover;
|
||||||
|
border: 2px solid var(--theme-color);
|
||||||
|
margin-left: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wide .header-menu,
|
||||||
|
.wide .header-profile {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.wide .search-bar {
|
||||||
|
max-width: 600px;
|
||||||
|
margin: auto;
|
||||||
|
transition: 0.4s;
|
||||||
|
box-shadow: 0 0 0 1px var(--border-color);
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
.wide .menu-circle {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wrapper {
|
||||||
|
display: flex;
|
||||||
|
flex-grow: 1;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.left-side {
|
||||||
|
flex-basis: 240px;
|
||||||
|
border-right: 1px solid var(--border-color);
|
||||||
|
padding: 26px;
|
||||||
|
overflow: auto;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 945px) {
|
||||||
|
.left-side {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-wrapper + .side-wrapper {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-title {
|
||||||
|
color: var(--inactive-color);
|
||||||
|
margin-bottom: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-menu {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.side-menu a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--theme-color);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-weight: 400;
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
border-radius: 6px;
|
||||||
|
transition: 0.3s;
|
||||||
|
}
|
||||||
|
.side-menu a:hover {
|
||||||
|
background-color: var(--hover-menu-bg);
|
||||||
|
}
|
||||||
|
.side-menu svg {
|
||||||
|
width: 16px;
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.updates {
|
||||||
|
position: relative;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
margin-left: auto;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
border-bottom: 1px solid var(--border-color);
|
||||||
|
height: 58px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.main-header .header-menu {
|
||||||
|
margin-left: 150px;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 1055px) {
|
||||||
|
.main-header .header-menu {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.main-header .header-menu a {
|
||||||
|
padding: 20px 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-link-main {
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--theme-color);
|
||||||
|
padding: 0 30px;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 1055px) {
|
||||||
|
.menu-link-main {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrapper {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
color: var(--theme-color);
|
||||||
|
padding: 20px 40px;
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
background-color: var(--theme-bg-color);
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 510px) {
|
||||||
|
.content-wrapper {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.content-wrapper-header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
justify-content: space-between;
|
||||||
|
background-image: url("https://www.transparenttextures.com/patterns/cubes.png"), linear-gradient(to right top, #cf4af3, #e73bd7, #f631bc, #fd31a2, #ff3a8b, #ff4b78, #ff5e68, #ff705c, #ff8c51, #ffaa49, #ffc848, #ffe652);
|
||||||
|
border-radius: 14px;
|
||||||
|
padding: 20px 40px;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 415px) {
|
||||||
|
.content-wrapper-header {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.content-wrapper.overlay {
|
||||||
|
pointer-events: none;
|
||||||
|
transition: 0.3s;
|
||||||
|
background-color: var(--overlay-bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.overlay-app {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
pointer-events: all;
|
||||||
|
background-color: rgba(36, 39, 59, 0.8);
|
||||||
|
opacity: 0;
|
||||||
|
visibility: hidden;
|
||||||
|
transition: 0.3s;
|
||||||
|
}
|
||||||
|
.overlay-app.is-active {
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-content {
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 17px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.img-content svg {
|
||||||
|
width: 28px;
|
||||||
|
margin-right: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-text {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 14px;
|
||||||
|
margin-top: 16px;
|
||||||
|
line-height: 1.7em;
|
||||||
|
color: #ebecec;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 4;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrapper-context {
|
||||||
|
max-width: 350px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-button {
|
||||||
|
background-color: #3a6df0;
|
||||||
|
border: none;
|
||||||
|
padding: 8px 26px;
|
||||||
|
color: #fff;
|
||||||
|
border-radius: 20px;
|
||||||
|
margin-top: 16px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: 0.3s;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrapper-img {
|
||||||
|
width: 186px;
|
||||||
|
-o-object-fit: cover;
|
||||||
|
object-fit: cover;
|
||||||
|
margin-top: -25px;
|
||||||
|
-o-object-position: center;
|
||||||
|
object-position: center;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 570px) {
|
||||||
|
.content-wrapper-img {
|
||||||
|
width: 110px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-section {
|
||||||
|
margin-top: 30px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.content-section-title {
|
||||||
|
color: var(--content-title-color);
|
||||||
|
margin-bottom: 14px;
|
||||||
|
}
|
||||||
|
.content-section ul {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
justify-content: space-around;
|
||||||
|
background-color: var(--content-bg);
|
||||||
|
padding-left: 0;
|
||||||
|
margin: 0;
|
||||||
|
border-radius: 14px;
|
||||||
|
border: 1px solid var(--theme-bg-color);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.content-section ul li {
|
||||||
|
list-style: none;
|
||||||
|
padding: 10px 18px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 16px;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
white-space: nowrap;
|
||||||
|
transition: 0.3s;
|
||||||
|
}
|
||||||
|
.content-section ul li:hover {
|
||||||
|
background-color: var(--theme-bg-color);
|
||||||
|
}
|
||||||
|
.content-section ul li:hover:first-child {
|
||||||
|
border-radius: 13px 13px 0 0;
|
||||||
|
}
|
||||||
|
.content-section ul li:hover:last-child {
|
||||||
|
border-radius: 0 0 13px 13px;
|
||||||
|
}
|
||||||
|
.content-section ul li + li {
|
||||||
|
border-top: 1px solid var(--border-color);
|
||||||
|
}
|
||||||
|
.content-section ul svg {
|
||||||
|
width: 28px;
|
||||||
|
border-radius: 6px;
|
||||||
|
margin-right: 16px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.products {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 480px) {
|
||||||
|
.products {
|
||||||
|
width: 120px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.status {
|
||||||
|
margin-left: auto;
|
||||||
|
width: 140px;
|
||||||
|
font-size: 15px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 700px) {
|
||||||
|
.status {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.status-circle {
|
||||||
|
width: 6px;
|
||||||
|
height: 6px;
|
||||||
|
background-color: #396df0;
|
||||||
|
position: absolute;
|
||||||
|
border-radius: 50%;
|
||||||
|
top: 4px;
|
||||||
|
left: -20px;
|
||||||
|
}
|
||||||
|
.status-circle.green {
|
||||||
|
background-color: #3bf083;
|
||||||
|
}
|
||||||
|
.status-button {
|
||||||
|
font-size: 15px;
|
||||||
|
margin-top: 0;
|
||||||
|
padding: 6px 24px;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 390px) {
|
||||||
|
.status-button {
|
||||||
|
padding: 6px 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.status-button.open {
|
||||||
|
background: none;
|
||||||
|
color: var(--button-inactive);
|
||||||
|
border: 1px solid var(--button-inactive);
|
||||||
|
}
|
||||||
|
.status-button:not(.open):hover {
|
||||||
|
color: #fff;
|
||||||
|
border-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-button:not(.open):hover {
|
||||||
|
background: #1e59f1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu {
|
||||||
|
width: 5px;
|
||||||
|
height: 5px;
|
||||||
|
background-color: var(--button-inactive);
|
||||||
|
border-radius: 50%;
|
||||||
|
box-shadow: 7px 0 0 0 var(--button-inactive), 14px 0 0 0 var(--button-inactive);
|
||||||
|
margin: 0 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 415px) {
|
||||||
|
.adobe-product .menu {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.dropdown {
|
||||||
|
position: relative;
|
||||||
|
height: 53px;
|
||||||
|
width: 40px;
|
||||||
|
top: -24px;
|
||||||
|
display: flex;
|
||||||
|
left: -5px;
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.dropdown ul {
|
||||||
|
position: absolute;
|
||||||
|
background: var(--dropdown-bg);
|
||||||
|
height: 110px;
|
||||||
|
width: 120px;
|
||||||
|
right: 0;
|
||||||
|
top: 20px;
|
||||||
|
pointer-events: none;
|
||||||
|
opacity: 0;
|
||||||
|
transform: translatey(10px);
|
||||||
|
transition: all 0.4s ease;
|
||||||
|
}
|
||||||
|
.dropdown ul li a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--theme-color);
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown.is-active ul {
|
||||||
|
opacity: 1;
|
||||||
|
pointer-events: all;
|
||||||
|
transform: translatey(25px);
|
||||||
|
}
|
||||||
|
.dropdown.is-active ul li:hover {
|
||||||
|
background-color: var(--dropdown-hover);
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-wrapper {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
width: 187px;
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 480px) {
|
||||||
|
.button-wrapper {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pop-up {
|
||||||
|
position: absolute;
|
||||||
|
padding: 30px 40px;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
overflow-y: auto;
|
||||||
|
box-shadow: 0px 6px 30px rgba(0, 0, 0, 0.4);
|
||||||
|
transition: all 0.3s;
|
||||||
|
z-index: 10;
|
||||||
|
background-color: var(--popup-bg);
|
||||||
|
width: 500px;
|
||||||
|
visibility: hidden;
|
||||||
|
opacity: 0;
|
||||||
|
border-radius: 6px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 570px) {
|
||||||
|
.pop-up {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.pop-up.visible {
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.pop-up__title {
|
||||||
|
padding-bottom: 20px;
|
||||||
|
border-bottom: 1px solid var(--border-color);
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.pop-up__subtitle {
|
||||||
|
white-space: normal;
|
||||||
|
margin: 20px 0;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: 1.8em;
|
||||||
|
}
|
||||||
|
.pop-up__subtitle a {
|
||||||
|
color: var(--theme-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-button-wrapper .content-button.status-button.open.close {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-section .close {
|
||||||
|
margin-right: 0;
|
||||||
|
width: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox-wrapper {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
.checkbox-wrapper + .checkbox-wrapper {
|
||||||
|
margin: 20px 0 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox + label {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.checkbox + label:before {
|
||||||
|
content: "";
|
||||||
|
margin-right: 10px;
|
||||||
|
width: 15px;
|
||||||
|
height: 15px;
|
||||||
|
border: 1px solid var(--theme-color);
|
||||||
|
border-radius: 4px;
|
||||||
|
cursor: pointer;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox:checked + label:before {
|
||||||
|
background-color: #3a6df0;
|
||||||
|
border-color: #3a6df0;
|
||||||
|
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' class='feather feather-check'%3e%3cpath d='M20 6L9 17l-5-5'/%3e%3c/svg%3e");
|
||||||
|
background-position: 50%;
|
||||||
|
background-size: 12px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-button-wrapper {
|
||||||
|
margin-top: auto;
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
.content-button-wrapper .open {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.apps-card {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: calc(100% + 20px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-card {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: calc(33.3% - 20px);
|
||||||
|
font-size: 16px;
|
||||||
|
background-color: var(--content-bg);
|
||||||
|
border-radius: 14px;
|
||||||
|
border: 1px solid var(--theme-bg-color);
|
||||||
|
padding: 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: 0.3s ease;
|
||||||
|
}
|
||||||
|
.app-card:hover {
|
||||||
|
transform: scale(1.02);
|
||||||
|
background-color: var(--theme-bg-color);
|
||||||
|
}
|
||||||
|
.app-card svg {
|
||||||
|
width: 28px;
|
||||||
|
border-radius: 6px;
|
||||||
|
margin-right: 12px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.app-card + .app-card {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
.app-card span {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.app-card__subtext {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: 1.6em;
|
||||||
|
margin-top: 20px;
|
||||||
|
border-bottom: 1px solid var(--border-color);
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
.app-card-buttons {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-top: 16px;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 1110px) {
|
||||||
|
.app-card {
|
||||||
|
width: calc(50% - 20px);
|
||||||
|
}
|
||||||
|
.app-card:last-child {
|
||||||
|
margin-top: 20px;
|
||||||
|
margin-left: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 565px) {
|
||||||
|
.app-card {
|
||||||
|
width: calc(100% - 20px);
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
.app-card + .app-card {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: 6px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
background: var(--scrollbar-bg);
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
1
src/assets/css/normalize.min.css
vendored
Normal file
1
src/assets/css/normalize.min.css
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
button,hr,input{overflow:visible}audio,canvas,progress,video{display:inline-block}progress,sub,sup{vertical-align:baseline}html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0} menu,article,aside,details,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{}button,select{text-transform:none}[type=submit], [type=reset],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}/*# sourceMappingURL=normalize.min.css.map */
|
BIN
src/assets/font/pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLDz8Z11lFc-K.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLDz8Z11lFc-K.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLDz8Z1JlFc-K.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLDz8Z1JlFc-K.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLFj_Z11lFc-K.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLFj_Z11lFc-K.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLFj_Z1JlFc-K.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLFj_Z1JlFc-K.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLFj_Z1xlFQ.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLFj_Z1xlFQ.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLGT9Z11lFc-K.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLGT9Z11lFc-K.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2
Normal file
BIN
src/assets/font/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiEyp8kv8JHgFVrJJbecmNE.woff2
Normal file
BIN
src/assets/font/pxiEyp8kv8JHgFVrJJbecmNE.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiEyp8kv8JHgFVrJJfecg.woff2
Normal file
BIN
src/assets/font/pxiEyp8kv8JHgFVrJJfecg.woff2
Normal file
Binary file not shown.
BIN
src/assets/font/pxiEyp8kv8JHgFVrJJnecmNE.woff2
Normal file
BIN
src/assets/font/pxiEyp8kv8JHgFVrJJnecmNE.woff2
Normal file
Binary file not shown.
BIN
src/assets/img/image_processing20200722-26968-18w1tkd.jpg
Normal file
BIN
src/assets/img/image_processing20200722-26968-18w1tkd.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 862 KiB |
BIN
src/assets/img/macos-big-sur-1280x720-dark-wwdc-2020-22655.jpg
Normal file
BIN
src/assets/img/macos-big-sur-1280x720-dark-wwdc-2020-22655.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 74 KiB |
BIN
src/assets/img/qr.png
Normal file
BIN
src/assets/img/qr.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.9 KiB |
BIN
src/assets/logo.png
Normal file
BIN
src/assets/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.7 KiB |
BIN
src/assets/video/background.mp4
Normal file
BIN
src/assets/video/background.mp4
Normal file
Binary file not shown.
156
src/components/detail/NavDetail.vue
Normal file
156
src/components/detail/NavDetail.vue
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
<template>
|
||||||
|
<div style="display:flex; flex-direction: column;width: 100%;">
|
||||||
|
<div class="content-wrapper" style="display:flex; flex-direction: row; flex-wrap: nowrap">
|
||||||
|
<div class="card" style=" width: 150px;height:150px;margin-top:50px">
|
||||||
|
戳戳跳转
|
||||||
|
</div>
|
||||||
|
<div class="NavInfo" style="margin-top:45px;margin-left:50px;">
|
||||||
|
<span style="font-size:30px;">91视频网站</span><br/>
|
||||||
|
<el-icon><Star /></el-icon>
|
||||||
|
<div class="NavInfo">
|
||||||
|
<span>所属标签:</span><br/>
|
||||||
|
<span>创建时间:</span><br/>
|
||||||
|
<div style="width:40px;height:40px;border-radius:40px;background-color: white;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name:"NavDetail",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.NavInfo{
|
||||||
|
font-weight:550;
|
||||||
|
display: flex;
|
||||||
|
flex-direction:column;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@property --rotate {
|
||||||
|
syntax: "<angle>";
|
||||||
|
initial-value: 132deg;
|
||||||
|
inherits: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--card-height: 65vh;
|
||||||
|
--card-width: calc(var(--card-height) / 1.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
body {
|
||||||
|
min-height: 100vh;
|
||||||
|
background: #212534;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
padding-top: 2rem;
|
||||||
|
padding-bottom: 2rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.card {
|
||||||
|
background: #191c29;
|
||||||
|
width: var(--card-width);
|
||||||
|
height: var(--card-height);
|
||||||
|
padding: 3px;
|
||||||
|
position: relative;
|
||||||
|
border-radius: 6px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
display: flex;
|
||||||
|
font-size: 1.5em;
|
||||||
|
color: rgb(88 199 250 / 0%);
|
||||||
|
font-weight: 700;
|
||||||
|
cursor: pointer;
|
||||||
|
font-family: fantasy;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card:hover {
|
||||||
|
color: rgb(88 199 250 / 100%);
|
||||||
|
transition: color 1s;
|
||||||
|
}
|
||||||
|
.card:hover:before, .card:hover:after {
|
||||||
|
animation: none;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.card::before {
|
||||||
|
content: "";
|
||||||
|
width: 104%;
|
||||||
|
height: 102%;
|
||||||
|
border-radius: 8px;
|
||||||
|
background-image: linear-gradient(
|
||||||
|
var(--rotate)
|
||||||
|
, #5ddcff, #3c67e3 43%, #4e00c2);
|
||||||
|
position: absolute;
|
||||||
|
z-index: -1;
|
||||||
|
top: -1%;
|
||||||
|
left: -2%;
|
||||||
|
animation: spin 2.5s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card::after {
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
top: calc(var(--card-height) / 6);
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
z-index: -1;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
transform: scale(0.8);
|
||||||
|
filter: blur(calc(var(--card-height) / 6));
|
||||||
|
background-image: linear-gradient(
|
||||||
|
var(--rotate)
|
||||||
|
, #5ddcff, #3c67e3 43%, #4e00c2);
|
||||||
|
opacity: 1;
|
||||||
|
transition: opacity .5s;
|
||||||
|
animation: spin 2.5s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% {
|
||||||
|
--rotate: 0deg;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
--rotate: 360deg;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #212534;
|
||||||
|
text-decoration: none;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
</style>
|
78
src/components/home/HomeHeader.vue
Normal file
78
src/components/home/HomeHeader.vue
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
<template>
|
||||||
|
<div class="header">
|
||||||
|
<div class="menu-circle"></div>
|
||||||
|
<div class="header-menu">
|
||||||
|
<router-link to="/home"><a class="menu-link is-active" >ALL</a></router-link>
|
||||||
|
<router-link to="/hotNews"><a class="menu-link notify">HotNews</a></router-link>
|
||||||
|
<router-link to="/navDetail"><a class="menu-link">Discover</a></router-link>
|
||||||
|
<a class="menu-link notify" href="#">Market</a>
|
||||||
|
</div>
|
||||||
|
<div class="search-bar">
|
||||||
|
<input type="text" placeholder="Search">
|
||||||
|
</div>
|
||||||
|
<div class="header-profile">
|
||||||
|
<div class="notification">
|
||||||
|
<span class="notification-number">3</span>
|
||||||
|
<svg viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-bell">
|
||||||
|
<path d="M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9M13.73 21a2 2 0 01-3.46 0"></path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M448.773 235.551A135.893 135.893 0 00451 211c0-74.443-60.557-135-135-135-47.52 0-91.567 25.313-115.766 65.537-32.666-10.59-66.182-6.049-93.794 12.979-27.612 19.013-44.092 49.116-45.425 82.031C24.716 253.788 0 290.497 0 331c0 7.031 1.703 13.887 3.006 20.537l.015.015C12.719 400.492 56.034 436 106 436h300c57.891 0 106-47.109 106-105 0-40.942-25.053-77.798-63.227-95.449z"></path>
|
||||||
|
</svg>
|
||||||
|
<img @click="openLoginDialog" class="profile-img" src="https://images.unsplash.com/photo-1600353068440-6361ef3a86e8?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1000&q=80" alt="">
|
||||||
|
</div>
|
||||||
|
<LoginDialog :login-dialog-visible="loginDialogVisible"></LoginDialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import $ from 'jquery'
|
||||||
|
import LoginDialog from "@/components/login/LoginDialog.vue";
|
||||||
|
export default {
|
||||||
|
name:"HomeHeader",
|
||||||
|
components:{
|
||||||
|
LoginDialog
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loginDialogVisible:false,
|
||||||
|
}},
|
||||||
|
mounted() {
|
||||||
|
this.toggleActive();
|
||||||
|
this.reacherBarFun();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
openLoginDialog(){
|
||||||
|
this.loginDialogVisible=true;
|
||||||
|
},
|
||||||
|
|
||||||
|
toggleActive(){
|
||||||
|
$(function () {
|
||||||
|
$(".menu-link").click(function () {
|
||||||
|
$(".menu-link").removeClass("is-active");
|
||||||
|
$(this).addClass("is-active");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
reacherBarFun(){
|
||||||
|
$(".search-bar input").
|
||||||
|
focus(function () {
|
||||||
|
$(".header").addClass("wide");
|
||||||
|
}).
|
||||||
|
blur(function () {
|
||||||
|
$(".header").removeClass("wide");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
251
src/components/home/HomePage.vue
Normal file
251
src/components/home/HomePage.vue
Normal file
@ -0,0 +1,251 @@
|
|||||||
|
<template>
|
||||||
|
<div class="main-container">
|
||||||
|
<!-- <MainHeader></MainHeader>-->
|
||||||
|
<div class="content-wrapper">
|
||||||
|
<div class="content-wrapper-header">
|
||||||
|
<div class="content-wrapper-context">
|
||||||
|
<h3 class="img-content">
|
||||||
|
<svg viewBox="0 0 512 512">
|
||||||
|
<path d="M467 0H45C20.099 0 0 20.099 0 45v422c0 24.901 20.099 45 45 45h422c24.901 0 45-20.099 45-45V45c0-24.901-20.099-45-45-45z" fill="#d6355b" data-original="#ff468c"></path>
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M512 45v422c0 24.901-20.099 45-45 45H256V0h211c24.901 0 45 20.099 45 45z" fill="#d6355b" data-original="#d72878"></path>
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M467 30H45c-8.401 0-15 6.599-15 15v422c0 8.401 6.599 15 15 15h422c8.401 0 15-6.599 15-15V45c0-8.401-6.599-15-15-15z" fill="#2e000a" data-original="#700029"></path>
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M482 45v422c0 8.401-6.599 15-15 15H256V30h211c8.401 0 15 6.599 15 15z" fill="#2e000a" data-original="#4d0e06"></path>
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M181 391c-41.353 0-75-33.647-75-75 0-8.291 6.709-15 15-15s15 6.709 15 15c0 24.814 20.186 45 45 45s45-20.186 45-45-20.186-45-45-45c-41.353 0-75-33.647-75-75s33.647-75 75-75 75 33.647 75 75c0 8.291-6.709 15-15 15s-15-6.709-15-15c0-24.814-20.186-45-45-45s-45 20.186-45 45 20.186 45 45 45c41.353 0 75 33.647 75 75s-33.647 75-75 75z" fill="#d6355b" data-original="#ff468c"></path>
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M391 361h-30c-8.276 0-15-6.724-15-15V211h45c8.291 0 15-6.709 15-15s-6.709-15-15-15h-45v-45c0-8.291-6.709-15-15-15s-15 6.709-15 15v45h-15c-8.291 0-15 6.709-15 15s6.709 15 15 15h15v135c0 24.814 20.186 45 45 45h30c8.291 0 15-6.709 15-15s-6.709-15-15-15z" fill="#d6355b" data-original="#d72878"></path>
|
||||||
|
</svg>
|
||||||
|
Adobe Stock
|
||||||
|
</h3>
|
||||||
|
<div class="content-text">Grab yourself 10 free images from Adobe Stock in a 30-day free trial plan and find perfect image, that will help you with your new project.</div>
|
||||||
|
<button class="content-button">Start free trial</button>
|
||||||
|
</div>
|
||||||
|
<img class="content-wrapper-img" src="https://assets.codepen.io/3364143/glass.png" alt="">
|
||||||
|
</div>
|
||||||
|
<div class="content-section">
|
||||||
|
<div class="content-section-title">Installed</div>
|
||||||
|
<ul>
|
||||||
|
<li class="adobe-product">
|
||||||
|
<div class="products">
|
||||||
|
<svg viewBox="0 0 52 52" style="border:1px solid #3291b8">
|
||||||
|
<g xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M40.824 52H11.176C5.003 52 0 46.997 0 40.824V11.176C0 5.003 5.003 0 11.176 0h29.649C46.997 0 52 5.003 52 11.176v29.649C52 46.997 46.997 52 40.824 52z" fill="#061e26" data-original="#393687"></path>
|
||||||
|
<path d="M12.16 39H9.28V11h9.64c2.613 0 4.553.813 5.82 2.44 1.266 1.626 1.9 3.76 1.9 6.399 0 .934-.027 1.74-.08 2.42-.054.681-.22 1.534-.5 2.561-.28 1.026-.66 1.866-1.14 2.52-.48.654-1.213 1.227-2.2 1.72-.987.494-2.16.74-3.52.74h-7.04V39zm0-12h6.68c.96 0 1.773-.187 2.44-.56.666-.374 1.153-.773 1.46-1.2.306-.427.546-1.04.72-1.84.173-.801.267-1.4.28-1.801.013-.399.02-.973.02-1.72 0-4.053-1.694-6.08-5.08-6.08h-6.52V27zM29.48 33.92l2.8-.12c.106.987.6 1.754 1.48 2.3.88.547 1.893.82 3.04.82s2.14-.26 2.98-.78c.84-.52 1.26-1.266 1.26-2.239s-.36-1.747-1.08-2.32c-.72-.573-1.6-1.026-2.64-1.36-1.04-.333-2.086-.686-3.14-1.06a7.36 7.36 0 01-2.78-1.76c-.987-.934-1.48-2.073-1.48-3.42s.54-2.601 1.62-3.761 2.833-1.739 5.26-1.739c.854 0 1.653.1 2.4.3.746.2 1.28.394 1.6.58l.48.279-.92 2.521c-.854-.666-1.974-1-3.36-1-1.387 0-2.42.26-3.1.78-.68.52-1.02 1.18-1.02 1.979 0 .88.426 1.574 1.28 2.08.853.507 1.813.934 2.88 1.28 1.066.347 2.126.733 3.18 1.16 1.053.427 1.946 1.094 2.68 2s1.1 2.106 1.1 3.6c0 1.494-.6 2.794-1.8 3.9-1.2 1.106-2.954 1.66-5.26 1.66-2.307 0-4.114-.547-5.42-1.64-1.307-1.093-1.987-2.44-2.04-4.04z" fill="#c1dbe6" data-original="#89d3ff"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
Photoshop
|
||||||
|
</div>
|
||||||
|
<span class="status">
|
||||||
|
<span class="status-circle green"></span>
|
||||||
|
Updated</span>
|
||||||
|
<div class="button-wrapper">
|
||||||
|
<button class="content-button status-button open">Open</button>
|
||||||
|
<div class="menu">
|
||||||
|
<button class="dropdown">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#">Go to Discover</a></li>
|
||||||
|
<li><a href="#">Learn more</a></li>
|
||||||
|
<li><a href="#">Uninstall</a></li>
|
||||||
|
</ul>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="adobe-product">
|
||||||
|
<div class="products">
|
||||||
|
<svg viewBox="0 0 52 52" style="border:1px solid #b65a0b">
|
||||||
|
<g xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M40.824 52H11.176C5.003 52 0 46.997 0 40.824V11.176C0 5.003 5.003 0 11.176 0h29.649C46.997 0 52 5.003 52 11.176v29.649C52 46.997 46.997 52 40.824 52z" fill="#261400" data-original="#6d4c13"></path>
|
||||||
|
<path d="M30.68 39h-3.24l-2.76-9.04h-8.32L13.72 39H10.6l8.24-28h3.32l8.52 28zm-6.72-12l-3.48-11.36L17.12 27h6.84zM37.479 12.24c0 .453-.16.84-.48 1.16-.32.319-.7.479-1.14.479-.44 0-.827-.166-1.16-.5-.334-.333-.5-.713-.5-1.14s.166-.807.5-1.141c.333-.333.72-.5 1.16-.5.44 0 .82.16 1.14.48.321.322.48.709.48 1.162zM37.24 39h-2.88V18.96h2.88V39z" fill="#e6d2c0" data-original="#ffbd2e"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
Illustrator
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="status">
|
||||||
|
<span class="status-circle"></span>
|
||||||
|
Update Available</span>
|
||||||
|
<div class="button-wrapper">
|
||||||
|
<button class="content-button status-button">Update this app</button>
|
||||||
|
<div class="pop-up">
|
||||||
|
<div class="pop-up__title">Update This App
|
||||||
|
<svg class="close" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<circle cx="12" cy="12" r="10"></circle>
|
||||||
|
<path d="M15 9l-6 6M9 9l6 6"></path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div class="pop-up__subtitle">Adjust your selections for advanced options as desired before continuing. <a href="#">Learn more</a></div>
|
||||||
|
<div class="checkbox-wrapper">
|
||||||
|
<input type="checkbox" id="check1" class="checkbox">
|
||||||
|
<label for="check1">Import previous settings and preferences</label>
|
||||||
|
</div>
|
||||||
|
<div class="checkbox-wrapper">
|
||||||
|
<input type="checkbox" id="check2" class="checkbox">
|
||||||
|
<label for="check2">Remove old versions</label>
|
||||||
|
</div>
|
||||||
|
<div class="content-button-wrapper">
|
||||||
|
<button class="content-button status-button open close">Cancel</button>
|
||||||
|
<button class="content-button status-button">Continue</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="menu">
|
||||||
|
<button class="dropdown">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#">Go to Discover</a></li>
|
||||||
|
<li><a href="#">Learn more</a></li>
|
||||||
|
<li><a href="#">Uninstall</a></li>
|
||||||
|
</ul>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="adobe-product">
|
||||||
|
<div class="products">
|
||||||
|
<svg viewBox="0 0 52 52" style="border: 1px solid #C75DEB">
|
||||||
|
<g xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M40.824 52H11.176C5.003 52 0 46.997 0 40.824V11.176C0 5.003 5.003 0 11.176 0h29.649C46.997 0 52 5.003 52 11.176v29.649C52 46.997 46.997 52 40.824 52z" fill="#3a3375" data-original="#3a3375"></path>
|
||||||
|
<path d="M27.44 39H24.2l-2.76-9.04h-8.32L10.48 39H7.36l8.24-28h3.32l8.52 28zm-6.72-12l-3.48-11.36L13.88 27h6.84zM31.48 33.48c0 2.267 1.333 3.399 4 3.399 1.653 0 3.466-.546 5.44-1.64L42 37.6c-2.054 1.254-4.2 1.881-6.44 1.881-4.64 0-6.96-1.946-6.96-5.841v-8.2c0-2.16.673-3.841 2.02-5.04 1.346-1.2 3.126-1.801 5.34-1.801s3.94.594 5.18 1.78c1.24 1.187 1.86 2.834 1.86 4.94V30.8l-11.52.6v2.08zm8.6-5.24v-3.08c0-1.413-.44-2.42-1.32-3.021-.88-.6-1.907-.899-3.08-.899-1.174 0-2.167.359-2.98 1.08-.814.72-1.22 1.773-1.22 3.16v3.199l8.6-.439z" fill="#e4d1eb" data-original="#e7adfb"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Effects
|
||||||
|
</div>
|
||||||
|
<span class="status">
|
||||||
|
<span class="status-circle green"></span>
|
||||||
|
Updated</span>
|
||||||
|
<div class="button-wrapper">
|
||||||
|
<button class="content-button status-button open">Open</button>
|
||||||
|
<div class="menu">
|
||||||
|
<button class="dropdown">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#">Go to Discover</a></li>
|
||||||
|
<li><a href="#">Learn more</a></li>
|
||||||
|
<li><a href="#">Uninstall</a></li>
|
||||||
|
</ul>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="content-section">
|
||||||
|
<div class="content-section-title">Apps in your plan</div>
|
||||||
|
<div class="apps-card">
|
||||||
|
<div class="app-card">
|
||||||
|
<span>
|
||||||
|
<svg viewBox="0 0 512 512" style="border: 1px solid #a059a9">
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M480 0H32C14.368 0 0 14.368 0 32v448c0 17.664 14.368 32 32 32h448c17.664 0 32-14.336 32-32V32c0-17.632-14.336-32-32-32z" fill="#210027" data-original="#7b1fa2"></path>
|
||||||
|
<g xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M192 64h-80c-8.832 0-16 7.168-16 16v352c0 8.832 7.168 16 16 16s16-7.168 16-16V256h64c52.928 0 96-43.072 96-96s-43.072-96-96-96zm0 160h-64V96h64c35.296 0 64 28.704 64 64s-28.704 64-64 64zM400 256h-32c-18.08 0-34.592 6.24-48 16.384V272c0-8.864-7.168-16-16-16s-16 7.136-16 16v160c0 8.832 7.168 16 16 16s16-7.168 16-16v-96c0-26.464 21.536-48 48-48h32c8.832 0 16-7.168 16-16s-7.168-16-16-16z" fill="#f6e7fa" data-original="#e1bee7"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
Premiere Pro
|
||||||
|
</span>
|
||||||
|
<div class="app-card__subtext">Edit, master and create fully proffesional videos</div>
|
||||||
|
<div class="app-card-buttons">
|
||||||
|
<button class="content-button status-button">Update</button>
|
||||||
|
<div class="menu"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="app-card">
|
||||||
|
<span>
|
||||||
|
<svg viewBox="0 0 52 52" style="border: 1px solid #c1316d">
|
||||||
|
<g xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M40.824 52H11.176C5.003 52 0 46.997 0 40.824V11.176C0 5.003 5.003 0 11.176 0h29.649C46.997 0 52 5.003 52 11.176v29.649C52 46.997 46.997 52 40.824 52z" fill="#2f0015" data-original="#6f2b41"></path>
|
||||||
|
<path d="M18.08 39H15.2V13.72l-2.64-.08V11h5.52v28zM27.68 19.4c1.173-.507 2.593-.761 4.26-.761s3.073.374 4.22 1.12V11h2.88v28c-2.293.32-4.414.48-6.36.48-1.947 0-3.707-.4-5.28-1.2-2.08-1.066-3.12-2.92-3.12-5.561v-7.56c0-2.799 1.133-4.719 3.4-5.759zm8.48 3.12c-1.387-.746-2.907-1.119-4.56-1.119-1.574 0-2.714.406-3.42 1.22-.707.813-1.06 1.847-1.06 3.1v7.12c0 1.227.44 2.188 1.32 2.88.96.719 2.146 1.079 3.56 1.079 1.413 0 2.8-.106 4.16-.319V22.52z" fill="#e1c1cf" data-original="#ff70bd"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
InDesign
|
||||||
|
</span>
|
||||||
|
<div class="app-card__subtext">Design and publish great projects & mockups</div>
|
||||||
|
<div class="app-card-buttons">
|
||||||
|
<button class="content-button status-button">Update</button>
|
||||||
|
<div class="menu"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="app-card">
|
||||||
|
<span>
|
||||||
|
<svg viewBox="0 0 52 52" style="border: 1px solid #C75DEB">
|
||||||
|
<g xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M40.824 52H11.176C5.003 52 0 46.997 0 40.824V11.176C0 5.003 5.003 0 11.176 0h29.649C46.997 0 52 5.003 52 11.176v29.649C52 46.997 46.997 52 40.824 52z" fill="#3a3375" data-original="#3a3375"></path>
|
||||||
|
<path d="M27.44 39H24.2l-2.76-9.04h-8.32L10.48 39H7.36l8.24-28h3.32l8.52 28zm-6.72-12l-3.48-11.36L13.88 27h6.84zM31.48 33.48c0 2.267 1.333 3.399 4 3.399 1.653 0 3.466-.546 5.44-1.64L42 37.6c-2.054 1.254-4.2 1.881-6.44 1.881-4.64 0-6.96-1.946-6.96-5.841v-8.2c0-2.16.673-3.841 2.02-5.04 1.346-1.2 3.126-1.801 5.34-1.801s3.94.594 5.18 1.78c1.24 1.187 1.86 2.834 1.86 4.94V30.8l-11.52.6v2.08zm8.6-5.24v-3.08c0-1.413-.44-2.42-1.32-3.021-.88-.6-1.907-.899-3.08-.899-1.174 0-2.167.359-2.98 1.08-.814.72-1.22 1.773-1.22 3.16v3.199l8.6-.439z" fill="#e4d1eb" data-original="#e7adfb"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Effects
|
||||||
|
</span>
|
||||||
|
<div class="app-card__subtext">Industry Standart motion graphics & visual effects</div>
|
||||||
|
<div class="app-card-buttons">
|
||||||
|
<button class="content-button status-button">Update</button>
|
||||||
|
<div class="menu"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import $ from 'jquery'
|
||||||
|
// import MainHeader from "@/components/home/MainHeader.vue";
|
||||||
|
export default {
|
||||||
|
name:"HomePage",
|
||||||
|
components:{
|
||||||
|
// MainHeader
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}},
|
||||||
|
mounted() {
|
||||||
|
this.Fun1();
|
||||||
|
this.Fun2();
|
||||||
|
this.Fun3();
|
||||||
|
this.Fun4();
|
||||||
|
this.dropdownFun();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
Fun1(){
|
||||||
|
$(document).click(function (e) {
|
||||||
|
var container = $(".status-button");
|
||||||
|
var dd = $(".dropdown");
|
||||||
|
if (!container.is(e.target) && container.has(e.target).length === 0) {
|
||||||
|
dd.removeClass("is-active");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
Fun2(){
|
||||||
|
$(".status-button:not(.open)").on("click", function () {
|
||||||
|
$(".overlay-app").addClass("is-active");
|
||||||
|
});
|
||||||
|
$(".pop-up .close").click(function () {
|
||||||
|
$(".overlay-app").removeClass("is-active");
|
||||||
|
});
|
||||||
|
},
|
||||||
|
Fun3(){
|
||||||
|
$(".status-button:not(.open)").click(function () {
|
||||||
|
$(".pop-up").addClass("visible");
|
||||||
|
});
|
||||||
|
},
|
||||||
|
Fun4(){
|
||||||
|
$(".pop-up .close").click(function () {
|
||||||
|
$(".pop-up").removeClass("visible");
|
||||||
|
});
|
||||||
|
},
|
||||||
|
dropdownFun(){
|
||||||
|
const dropdowns = document.querySelectorAll(".dropdown");
|
||||||
|
dropdowns.forEach(dropdown => {
|
||||||
|
dropdown.addEventListener("click", e => {
|
||||||
|
e.stopPropagation();
|
||||||
|
dropdowns.forEach(c => c.classList.remove("is-active"));
|
||||||
|
dropdown.classList.add("is-active");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
142
src/components/home/LeftSide.vue
Normal file
142
src/components/home/LeftSide.vue
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
<template>
|
||||||
|
<div class="left-side">
|
||||||
|
<div class="side-wrapper">
|
||||||
|
<div class="side-title">Apps</div>
|
||||||
|
<div class="side-menu">
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512">
|
||||||
|
<g xmlns="http://www.w3.org/2000/svg" fill="currentColor">
|
||||||
|
<path d="M0 0h128v128H0zm0 0M192 0h128v128H192zm0 0M384 0h128v128H384zm0 0M0 192h128v128H0zm0 0" data-original="#bfc9d1"></path>
|
||||||
|
</g>
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M192 192h128v128H192zm0 0" fill="currentColor" data-original="#82b1ff"></path>
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M384 192h128v128H384zm0 0M0 384h128v128H0zm0 0M192 384h128v128H192zm0 0M384 384h128v128H384zm0 0" fill="currentColor" data-original="#bfc9d1"></path>
|
||||||
|
</svg>
|
||||||
|
All Apps
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 488.932 488.932" fill="currentColor">
|
||||||
|
<path d="M243.158 61.361v-57.6c0-3.2 4-4.9 6.7-2.9l118.4 87c2 1.5 2 4.4 0 5.9l-118.4 87c-2.7 2-6.7.2-6.7-2.9v-57.5c-87.8 1.4-158.1 76-152.1 165.4 5.1 76.8 67.7 139.1 144.5 144 81.4 5.2 150.6-53 163-129.9 2.3-14.3 14.7-24.7 29.2-24.7 17.9 0 31.8 15.9 29 33.5-17.4 109.7-118.5 192-235.7 178.9-98-11-176.7-89.4-187.8-187.4-14.7-128.2 84.9-237.4 209.9-238.8z"></path>
|
||||||
|
</svg>
|
||||||
|
Updates
|
||||||
|
<span class="notification-number updates">3</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="side-wrapper">
|
||||||
|
<div class="side-title">Categories</div>
|
||||||
|
<div class="side-menu">
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 488.455 488.455" fill="currentColor">
|
||||||
|
<path d="M287.396 216.317c23.845 23.845 23.845 62.505 0 86.35s-62.505 23.845-86.35 0-23.845-62.505 0-86.35 62.505-23.845 86.35 0"></path>
|
||||||
|
<path d="M427.397 91.581H385.21l-30.544-61.059H133.76l-30.515 61.089-42.127.075C27.533 91.746.193 119.115.164 152.715L0 396.86c0 33.675 27.384 61.074 61.059 61.074h366.338c33.675 0 61.059-27.384 61.059-61.059V152.639c-.001-33.674-27.385-61.058-61.059-61.058zM244.22 381.61c-67.335 0-122.118-54.783-122.118-122.118s54.783-122.118 122.118-122.118 122.118 54.783 122.118 122.118S311.555 381.61 244.22 381.61z"></path>
|
||||||
|
</svg>
|
||||||
|
Photography
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<circle cx="295.099" cy="327.254" r="110.96" transform="rotate(-45 295.062 327.332)"></circle>
|
||||||
|
<path d="M471.854 338.281V163.146H296.72v41.169a123.1 123.1 0 01121.339 122.939c0 3.717-.176 7.393-.5 11.027zM172.14 327.254a123.16 123.16 0 01100.59-120.915L195.082 73.786 40.146 338.281H172.64c-.325-3.634-.5-7.31-.5-11.027z"></path>
|
||||||
|
</svg>
|
||||||
|
Graphic Design
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 58 58" fill="currentColor">
|
||||||
|
<path d="M57 6H1a1 1 0 00-1 1v44a1 1 0 001 1h56a1 1 0 001-1V7a1 1 0 00-1-1zM10 50H2v-9h8v9zm0-11H2v-9h8v9zm0-11H2v-9h8v9zm0-11H2V8h8v9zm26.537 12.844l-11 7a1.007 1.007 0 01-1.018.033A1.001 1.001 0 0124 36V22a1.001 1.001 0 011.538-.844l11 7a1.003 1.003 0 01-.001 1.688zM56 50h-8v-9h8v9zm0-11h-8v-9h8v9zm0-11h-8v-9h8v9zm0-11h-8V8h8v9z"></path>
|
||||||
|
</svg>
|
||||||
|
Video
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M499.377 46.402c-8.014-8.006-18.662-12.485-29.985-12.613a41.13 41.13 0 00-.496-.003c-11.142 0-21.698 4.229-29.771 11.945L198.872 275.458c25.716 6.555 47.683 23.057 62.044 47.196a113.544 113.544 0 0110.453 23.179L500.06 106.661C507.759 98.604 512 88.031 512 76.89c0-11.507-4.478-22.33-12.623-30.488zM176.588 302.344a86.035 86.035 0 00-3.626-.076c-20.273 0-40.381 7.05-56.784 18.851-19.772 14.225-27.656 34.656-42.174 53.27C55.8 397.728 27.795 409.14 0 416.923c16.187 42.781 76.32 60.297 115.752 61.24 1.416.034 2.839.051 4.273.051 44.646 0 97.233-16.594 118.755-60.522 23.628-48.224-5.496-112.975-62.192-115.348z"></path>
|
||||||
|
</svg>
|
||||||
|
Illustrations
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M497 151H316c-8.401 0-15 6.599-15 15v300c0 8.401 6.599 15 15 15h181c8.401 0 15-6.599 15-15V166c0-8.401-6.599-15-15-15zm-76 270h-30c-8.401 0-15-6.599-15-15s6.599-15 15-15h30c8.401 0 15 6.599 15 15s-6.599 15-15 15zm0-180h-30c-8.401 0-15-6.599-15-15s6.599-15 15-15h30c8.401 0 15 6.599 15 15s-6.599 15-15 15z"></path>
|
||||||
|
<path d="M15 331h196v60h-75c-8.291 0-15 6.709-15 15s6.709 15 15 15h135v-30h-30v-60h30V166c0-24.814 20.186-45 45-45h135V46c0-8.284-6.716-15-15-15H15C6.716 31 0 37.716 0 46v270c0 8.284 6.716 15 15 15z"></path>
|
||||||
|
</svg>
|
||||||
|
UI/UX
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M0 331v112.295a14.996 14.996 0 007.559 13.023L106 512V391L0 331zM136 391v121l105-60V331zM271 331v121l105 60V391zM406 391v121l98.441-55.682A14.995 14.995 0 00512 443.296V331l-106 60zM391 241l-115.754 57.876L391 365.026l116.754-66.15zM262.709 1.583a15.006 15.006 0 00-13.418 0L140.246 57.876 256 124.026l115.754-66.151L262.709 1.583zM136 90v124.955l105 52.5V150zM121 241L4.246 298.876 121 365.026l115.754-66.15zM271 150v117.455l105-52.5V90z"></path>
|
||||||
|
</svg>
|
||||||
|
3D/AR
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="side-wrapper">
|
||||||
|
<div class="side-title">Fonts</div>
|
||||||
|
<div class="side-menu">
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 332 332" fill="currentColor">
|
||||||
|
<path d="M282.341 8.283C275.765 2.705 266.211 0 253.103 0c-18.951 0-36.359 5.634-51.756 16.743-14.972 10.794-29.274 28.637-42.482 53.028-4.358 7.993-7.428 11.041-8.973 12.179h-26.255c-10.84 0-19.626 8.786-19.626 19.626 0 8.989 6.077 16.486 14.323 18.809l-.05.165h.589c1.531.385 3.109.651 4.757.651h18.833l-32.688 128.001c-7.208 27.848-10.323 37.782-11.666 41.24-1.445 3.711-3.266 7.062-5.542 10.135-.42-5.39-2.637-10.143-6.508-13.854-4.264-4.079-10.109-6.136-17.364-6.136-8.227 0-15.08 2.433-20.37 7.229-5.416 4.93-8.283 11.193-8.283 18.134 0 5.157 1.701 12.712 9.828 19.348 6.139 4.97 14.845 7.382 26.621 7.382 17.096 0 32.541-4.568 45.891-13.577 13.112-8.845 24.612-22.489 34.166-40.522 9.391-17.678 18.696-45.124 28.427-83.9l18.598-73.479h30.016c10.841 0 19.625-8.785 19.625-19.625s-8.784-19.626-19.625-19.626h-19.628c6.34-21.62 14.175-37.948 23.443-48.578 2.284-2.695 5.246-5.692 8.412-7.678-1.543 3.392-2.325 6.767-2.325 10.055 0 6.164 2.409 11.714 6.909 16.03 4.484 4.336 10.167 6.54 16.888 6.54 7.085 0 13.373-2.667 18.17-7.716 4.76-5.005 7.185-11.633 7.185-19.703.017-9.079-3.554-16.899-10.302-22.618z"></path>
|
||||||
|
</svg>
|
||||||
|
Manage Fonts
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="side-wrapper">
|
||||||
|
<div class="side-title">Resource Links</div>
|
||||||
|
<div class="side-menu">
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M467 0H45C20.186 0 0 20.186 0 45v422c0 24.814 20.186 45 45 45h422c24.814 0 45-20.186 45-45V45c0-24.814-20.186-45-45-45zM181 241c41.353 0 75 33.647 75 75s-33.647 75-75 75-75-33.647-75-75c0-8.291 6.709-15 15-15s15 6.709 15 15c0 24.814 20.186 45 45 45s45-20.186 45-45-20.186-45-45-45c-41.353 0-75-33.647-75-75s33.647-75 75-75 75 33.647 75 75c0 8.291-6.709 15-15 15s-15-6.709-15-15c0-24.814-20.186-45-45-45s-45 20.186-45 45 20.186 45 45 45zm180 120h30c8.291 0 15 6.709 15 15s-6.709 15-15 15h-30c-24.814 0-45-20.186-45-45V211h-15c-8.291 0-15-6.709-15-15s6.709-15 15-15h15v-45c0-8.291 6.709-15 15-15s15 6.709 15 15v45h45c8.291 0 15 6.709 15 15s-6.709 15-15 15h-45v135c0 8.276 6.724 15 15 15z"></path>
|
||||||
|
</svg>
|
||||||
|
Stock
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 511.441 511.441" fill="currentColor">
|
||||||
|
<path d="M255.721 347.484L90.22 266.751v106.57l165.51 73.503 165.509-73.503V266.742z"></path>
|
||||||
|
<path d="M511.441 189.361L255.721 64.617 0 189.361l255.721 124.744 195.522-95.378v111.032h30V204.092z"></path>
|
||||||
|
</svg>
|
||||||
|
Tutorials
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M196 151h-75v90h75c24.814 0 45-20.186 45-45s-20.186-45-45-45z"></path>
|
||||||
|
<path d="M467 0H45C20.186 0 0 20.186 0 45v422c0 24.814 20.186 45 45 45h422c24.814 0 45-20.186 45-45V45c0-24.814-20.186-45-45-45zM196 271h-75v105c0 8.291-6.709 15-15 15s-15-6.709-15-15V136c0-8.291 6.709-15 15-15h90c41.353 0 75 33.647 75 75s-33.647 75-75 75zm210-60c8.291 0 15 6.709 15 15s-6.709 15-15 15h-45v135c0 8.291-6.709 15-15 15s-15-6.709-15-15V241h-15c-8.291 0-15-6.709-15-15s6.709-15 15-15h15v-45c0-24.814 20.186-45 45-45h30c8.291 0 15 6.709 15 15s-6.709 15-15 15h-30c-8.276 0-15 6.724-15 15v45h45z"></path>
|
||||||
|
</svg>
|
||||||
|
Portfolio
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M181 181h-60v60h60c16.54 0 30-13.46 30-30s-13.46-30-30-30zm0 0M181 271h-60v60h60c16.54 0 30-13.46 30-30s-13.46-30-30-30zm0 0M346 241c-19.555 0-36.238 12.54-42.438 30h84.875c-6.199-17.46-22.882-30-42.437-30zm0 0"></path>
|
||||||
|
<path d="M436 0H75C33.648 0 0 33.648 0 75v362c0 41.352 33.648 75 75 75h361c41.352 0 76-33.648 76-75V75c0-41.352-34.648-75-76-75zM286 151h120v30H286zm-45 150c0 33.09-26.91 60-60 60H91V151h90c33.09 0 60 26.91 60 60 0 18.008-8.133 33.996-20.73 45 12.597 11.004 20.73 26.992 20.73 45zm180 0H303.562c6.196 17.46 22.883 30 42.438 30 16.012 0 30.953-8.629 38.992-22.516l25.957 15.032C397.58 346.629 372.687 361 346 361c-41.352 0-75-33.648-75-75s33.648-75 75-75 75 33.648 75 75zm0 0"></path>
|
||||||
|
</svg>
|
||||||
|
Behance
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M352 0H64C28.704 0 0 28.704 0 64v320a16.02 16.02 0 009.216 14.496A16.232 16.232 0 0016 400c3.68 0 7.328-1.248 10.24-3.712L117.792 320H352c35.296 0 64-28.704 64-64V64c0-35.296-28.704-64-64-64z"></path>
|
||||||
|
<path d="M464 128h-16v128c0 52.928-43.072 96-96 96H129.376L128 353.152V400c0 26.464 21.536 48 48 48h234.368l75.616 60.512A16.158 16.158 0 00496 512c2.336 0 4.704-.544 6.944-1.6A15.968 15.968 0 00512 496V176c0-26.464-21.536-48-48-48z"></path>
|
||||||
|
</svg>
|
||||||
|
Social Forum
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name:"LeftSide",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
42
src/components/home/MainHeader.vue
Normal file
42
src/components/home/MainHeader.vue
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<template>
|
||||||
|
<div class="main-header">
|
||||||
|
<a class="menu-link-main" href="#">All Apps</a>
|
||||||
|
<div class="header-menu">
|
||||||
|
<a class="main-header-link is-active" href="#">Desktop</a>
|
||||||
|
<a class="main-header-link" href="#">Mobile</a>
|
||||||
|
<a class="main-header-link" href="#">Web</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import $ from 'jquery'
|
||||||
|
export default {
|
||||||
|
name:"MainHeader",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}},
|
||||||
|
mounted() {
|
||||||
|
this.toggleActive();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
toggleActive(){
|
||||||
|
$(function () {
|
||||||
|
$(".main-header-link").click(function () {
|
||||||
|
$(".main-header-link").removeClass("is-active");
|
||||||
|
$(this).addClass("is-active");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
27
src/components/hotNews/HotNews.vue
Normal file
27
src/components/hotNews/HotNews.vue
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
666
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "HotNews",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
methods: {}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
45
src/components/login/LoginDialog.vue
Normal file
45
src/components/login/LoginDialog.vue
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-dialog
|
||||||
|
title="登录"
|
||||||
|
:visible="loginDialogVisible"
|
||||||
|
width="25vw"
|
||||||
|
append-to-body
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:before-close="modalClose">
|
||||||
|
<div>
|
||||||
|
登录
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name:"LoginDialog",
|
||||||
|
props:{
|
||||||
|
loginDialogVisible:Boolean
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
modalClose() {
|
||||||
|
this.$emit('update:loginDialogVisible', false); // 直接修改父组件的属性
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
150
src/components/notFound/NotFound.vue
Normal file
150
src/components/notFound/NotFound.vue
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
<template>
|
||||||
|
<body translate="no">
|
||||||
|
<div id="page">
|
||||||
|
<div id="container">
|
||||||
|
<h1>:(</h1>
|
||||||
|
<h2>Your PC ran into a problem and needs to restart. We're just collecting some error info, and then we'll restart for
|
||||||
|
you.</h2>
|
||||||
|
<h2>
|
||||||
|
<span id="percentage">0</span>% complete</h2>
|
||||||
|
<div id="details">
|
||||||
|
<div id="qr">
|
||||||
|
<div id="image">
|
||||||
|
<img src="../../assets/img/qr.png" alt="QR Code">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="stopcode">
|
||||||
|
<h4>For more information about this issue and possible fixes, visit
|
||||||
|
<br>http://xontab.com/stopcode</h4>
|
||||||
|
<h5>If you call a support person, give them this info:
|
||||||
|
<br>Stop Code: 404 PAGE NOT FOUND</h5>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name:"NotFound",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
percentage: 0,
|
||||||
|
}},
|
||||||
|
mounted() {
|
||||||
|
this.processInterval();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
process(){
|
||||||
|
var percentageElement = document.getElementById("percentage");
|
||||||
|
this.percentage += parseInt(Math.random() * 10);
|
||||||
|
if (this.percentage > 100) {
|
||||||
|
this.percentage = 100;
|
||||||
|
}
|
||||||
|
percentageElement.innerText = this.percentage;
|
||||||
|
this.processInterval();
|
||||||
|
},
|
||||||
|
processInterval(){
|
||||||
|
setTimeout(this.process, Math.random() * (1000 - 500) + 500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
body {
|
||||||
|
font-family: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
|
||||||
|
background: #3973aa;
|
||||||
|
color: #fefeff;
|
||||||
|
height: 100vh;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#page {
|
||||||
|
display: table;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: -10px;
|
||||||
|
width: 70%;
|
||||||
|
font-size: 1.9vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
#container {
|
||||||
|
display: table-cell;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5 {
|
||||||
|
font-weight: normal;
|
||||||
|
padding: 0;
|
||||||
|
margin: 25px 0;
|
||||||
|
margin-top: 0;
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 6.5em;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
font-size: 1.4em;
|
||||||
|
line-height: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
line-height: 1.1em;
|
||||||
|
font-size: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#details {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#qr {
|
||||||
|
flex: 0 1 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#image {
|
||||||
|
background: white;
|
||||||
|
padding: 5px;
|
||||||
|
line-height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#image img {
|
||||||
|
width: 9.8em;
|
||||||
|
height: 9.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#stopcode {
|
||||||
|
padding-left: 10px;
|
||||||
|
flex: 1 1 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 840px) {
|
||||||
|
#page {
|
||||||
|
font-size: 140%;
|
||||||
|
width: 800px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
76
src/components/setting/SettingHeader.vue
Normal file
76
src/components/setting/SettingHeader.vue
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
<template>
|
||||||
|
<div class="header">
|
||||||
|
<div class="menu-circle"></div>
|
||||||
|
<div class="header-menu">
|
||||||
|
<!-- <router-link to="/home"><a class="menu-link is-active" >ALL</a></router-link>-->
|
||||||
|
<!-- <router-link to="/hotNews"><a class="menu-link notify">HotNews</a></router-link>-->
|
||||||
|
<!-- <router-link to="/navDetail"><a class="menu-link">Discover</a></router-link>-->
|
||||||
|
<!-- <a class="menu-link notify" href="#">Market</a>-->
|
||||||
|
</div>
|
||||||
|
<div class="search-bar">
|
||||||
|
<input type="text" placeholder="Search">
|
||||||
|
</div>
|
||||||
|
<div class="header-profile">
|
||||||
|
<div class="notification">
|
||||||
|
<span class="notification-number">3</span>
|
||||||
|
<svg viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-bell">
|
||||||
|
<path d="M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9M13.73 21a2 2 0 01-3.46 0"></path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M448.773 235.551A135.893 135.893 0 00451 211c0-74.443-60.557-135-135-135-47.52 0-91.567 25.313-115.766 65.537-32.666-10.59-66.182-6.049-93.794 12.979-27.612 19.013-44.092 49.116-45.425 82.031C24.716 253.788 0 290.497 0 331c0 7.031 1.703 13.887 3.006 20.537l.015.015C12.719 400.492 56.034 436 106 436h300c57.891 0 106-47.109 106-105 0-40.942-25.053-77.798-63.227-95.449z"></path>
|
||||||
|
</svg>
|
||||||
|
<img @click="openLoginDialog" class="profile-img" src="https://images.unsplash.com/photo-1600353068440-6361ef3a86e8?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1000&q=80" alt="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import $ from 'jquery'
|
||||||
|
export default {
|
||||||
|
name:"SettingHeader",
|
||||||
|
components:{
|
||||||
|
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loginDialogVisible:false,
|
||||||
|
}},
|
||||||
|
mounted() {
|
||||||
|
this.toggleActive();
|
||||||
|
// this.reacherBarFun();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
openLoginDialog(){
|
||||||
|
this.loginDialogVisible=true;
|
||||||
|
},
|
||||||
|
|
||||||
|
toggleActive(){
|
||||||
|
$(function () {
|
||||||
|
$(".menu-link").click(function () {
|
||||||
|
$(".menu-link").removeClass("is-active");
|
||||||
|
$(this).addClass("is-active");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// reacherBarFun(){
|
||||||
|
// $(".search-bar input").
|
||||||
|
// focus(function () {
|
||||||
|
// $(".header").addClass("wide");
|
||||||
|
// }).
|
||||||
|
// blur(function () {
|
||||||
|
// $(".header").removeClass("wide");
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
142
src/components/setting/SettingLeftSide.vue
Normal file
142
src/components/setting/SettingLeftSide.vue
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
<template>
|
||||||
|
<div class="left-side">
|
||||||
|
<div class="side-wrapper">
|
||||||
|
<div class="side-title">Apps</div>
|
||||||
|
<div class="side-menu">
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512">
|
||||||
|
<g xmlns="http://www.w3.org/2000/svg" fill="currentColor">
|
||||||
|
<path d="M0 0h128v128H0zm0 0M192 0h128v128H192zm0 0M384 0h128v128H384zm0 0M0 192h128v128H0zm0 0" data-original="#bfc9d1"></path>
|
||||||
|
</g>
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M192 192h128v128H192zm0 0" fill="currentColor" data-original="#82b1ff"></path>
|
||||||
|
<path xmlns="http://www.w3.org/2000/svg" d="M384 192h128v128H384zm0 0M0 384h128v128H0zm0 0M192 384h128v128H192zm0 0M384 384h128v128H384zm0 0" fill="currentColor" data-original="#bfc9d1"></path>
|
||||||
|
</svg>
|
||||||
|
All Apps
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 488.932 488.932" fill="currentColor">
|
||||||
|
<path d="M243.158 61.361v-57.6c0-3.2 4-4.9 6.7-2.9l118.4 87c2 1.5 2 4.4 0 5.9l-118.4 87c-2.7 2-6.7.2-6.7-2.9v-57.5c-87.8 1.4-158.1 76-152.1 165.4 5.1 76.8 67.7 139.1 144.5 144 81.4 5.2 150.6-53 163-129.9 2.3-14.3 14.7-24.7 29.2-24.7 17.9 0 31.8 15.9 29 33.5-17.4 109.7-118.5 192-235.7 178.9-98-11-176.7-89.4-187.8-187.4-14.7-128.2 84.9-237.4 209.9-238.8z"></path>
|
||||||
|
</svg>
|
||||||
|
Updates
|
||||||
|
<span class="notification-number updates">3</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="side-wrapper">
|
||||||
|
<div class="side-title">Categories</div>
|
||||||
|
<div class="side-menu">
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 488.455 488.455" fill="currentColor">
|
||||||
|
<path d="M287.396 216.317c23.845 23.845 23.845 62.505 0 86.35s-62.505 23.845-86.35 0-23.845-62.505 0-86.35 62.505-23.845 86.35 0"></path>
|
||||||
|
<path d="M427.397 91.581H385.21l-30.544-61.059H133.76l-30.515 61.089-42.127.075C27.533 91.746.193 119.115.164 152.715L0 396.86c0 33.675 27.384 61.074 61.059 61.074h366.338c33.675 0 61.059-27.384 61.059-61.059V152.639c-.001-33.674-27.385-61.058-61.059-61.058zM244.22 381.61c-67.335 0-122.118-54.783-122.118-122.118s54.783-122.118 122.118-122.118 122.118 54.783 122.118 122.118S311.555 381.61 244.22 381.61z"></path>
|
||||||
|
</svg>
|
||||||
|
Photography
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<circle cx="295.099" cy="327.254" r="110.96" transform="rotate(-45 295.062 327.332)"></circle>
|
||||||
|
<path d="M471.854 338.281V163.146H296.72v41.169a123.1 123.1 0 01121.339 122.939c0 3.717-.176 7.393-.5 11.027zM172.14 327.254a123.16 123.16 0 01100.59-120.915L195.082 73.786 40.146 338.281H172.64c-.325-3.634-.5-7.31-.5-11.027z"></path>
|
||||||
|
</svg>
|
||||||
|
Graphic Design
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 58 58" fill="currentColor">
|
||||||
|
<path d="M57 6H1a1 1 0 00-1 1v44a1 1 0 001 1h56a1 1 0 001-1V7a1 1 0 00-1-1zM10 50H2v-9h8v9zm0-11H2v-9h8v9zm0-11H2v-9h8v9zm0-11H2V8h8v9zm26.537 12.844l-11 7a1.007 1.007 0 01-1.018.033A1.001 1.001 0 0124 36V22a1.001 1.001 0 011.538-.844l11 7a1.003 1.003 0 01-.001 1.688zM56 50h-8v-9h8v9zm0-11h-8v-9h8v9zm0-11h-8v-9h8v9zm0-11h-8V8h8v9z"></path>
|
||||||
|
</svg>
|
||||||
|
Video
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M499.377 46.402c-8.014-8.006-18.662-12.485-29.985-12.613a41.13 41.13 0 00-.496-.003c-11.142 0-21.698 4.229-29.771 11.945L198.872 275.458c25.716 6.555 47.683 23.057 62.044 47.196a113.544 113.544 0 0110.453 23.179L500.06 106.661C507.759 98.604 512 88.031 512 76.89c0-11.507-4.478-22.33-12.623-30.488zM176.588 302.344a86.035 86.035 0 00-3.626-.076c-20.273 0-40.381 7.05-56.784 18.851-19.772 14.225-27.656 34.656-42.174 53.27C55.8 397.728 27.795 409.14 0 416.923c16.187 42.781 76.32 60.297 115.752 61.24 1.416.034 2.839.051 4.273.051 44.646 0 97.233-16.594 118.755-60.522 23.628-48.224-5.496-112.975-62.192-115.348z"></path>
|
||||||
|
</svg>
|
||||||
|
Illustrations
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M497 151H316c-8.401 0-15 6.599-15 15v300c0 8.401 6.599 15 15 15h181c8.401 0 15-6.599 15-15V166c0-8.401-6.599-15-15-15zm-76 270h-30c-8.401 0-15-6.599-15-15s6.599-15 15-15h30c8.401 0 15 6.599 15 15s-6.599 15-15 15zm0-180h-30c-8.401 0-15-6.599-15-15s6.599-15 15-15h30c8.401 0 15 6.599 15 15s-6.599 15-15 15z"></path>
|
||||||
|
<path d="M15 331h196v60h-75c-8.291 0-15 6.709-15 15s6.709 15 15 15h135v-30h-30v-60h30V166c0-24.814 20.186-45 45-45h135V46c0-8.284-6.716-15-15-15H15C6.716 31 0 37.716 0 46v270c0 8.284 6.716 15 15 15z"></path>
|
||||||
|
</svg>
|
||||||
|
UI/UX
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M0 331v112.295a14.996 14.996 0 007.559 13.023L106 512V391L0 331zM136 391v121l105-60V331zM271 331v121l105 60V391zM406 391v121l98.441-55.682A14.995 14.995 0 00512 443.296V331l-106 60zM391 241l-115.754 57.876L391 365.026l116.754-66.15zM262.709 1.583a15.006 15.006 0 00-13.418 0L140.246 57.876 256 124.026l115.754-66.151L262.709 1.583zM136 90v124.955l105 52.5V150zM121 241L4.246 298.876 121 365.026l115.754-66.15zM271 150v117.455l105-52.5V90z"></path>
|
||||||
|
</svg>
|
||||||
|
3D/AR
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="side-wrapper">
|
||||||
|
<div class="side-title">Fonts</div>
|
||||||
|
<div class="side-menu">
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 332 332" fill="currentColor">
|
||||||
|
<path d="M282.341 8.283C275.765 2.705 266.211 0 253.103 0c-18.951 0-36.359 5.634-51.756 16.743-14.972 10.794-29.274 28.637-42.482 53.028-4.358 7.993-7.428 11.041-8.973 12.179h-26.255c-10.84 0-19.626 8.786-19.626 19.626 0 8.989 6.077 16.486 14.323 18.809l-.05.165h.589c1.531.385 3.109.651 4.757.651h18.833l-32.688 128.001c-7.208 27.848-10.323 37.782-11.666 41.24-1.445 3.711-3.266 7.062-5.542 10.135-.42-5.39-2.637-10.143-6.508-13.854-4.264-4.079-10.109-6.136-17.364-6.136-8.227 0-15.08 2.433-20.37 7.229-5.416 4.93-8.283 11.193-8.283 18.134 0 5.157 1.701 12.712 9.828 19.348 6.139 4.97 14.845 7.382 26.621 7.382 17.096 0 32.541-4.568 45.891-13.577 13.112-8.845 24.612-22.489 34.166-40.522 9.391-17.678 18.696-45.124 28.427-83.9l18.598-73.479h30.016c10.841 0 19.625-8.785 19.625-19.625s-8.784-19.626-19.625-19.626h-19.628c6.34-21.62 14.175-37.948 23.443-48.578 2.284-2.695 5.246-5.692 8.412-7.678-1.543 3.392-2.325 6.767-2.325 10.055 0 6.164 2.409 11.714 6.909 16.03 4.484 4.336 10.167 6.54 16.888 6.54 7.085 0 13.373-2.667 18.17-7.716 4.76-5.005 7.185-11.633 7.185-19.703.017-9.079-3.554-16.899-10.302-22.618z"></path>
|
||||||
|
</svg>
|
||||||
|
Manage Fonts
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="side-wrapper">
|
||||||
|
<div class="side-title">Resource Links</div>
|
||||||
|
<div class="side-menu">
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M467 0H45C20.186 0 0 20.186 0 45v422c0 24.814 20.186 45 45 45h422c24.814 0 45-20.186 45-45V45c0-24.814-20.186-45-45-45zM181 241c41.353 0 75 33.647 75 75s-33.647 75-75 75-75-33.647-75-75c0-8.291 6.709-15 15-15s15 6.709 15 15c0 24.814 20.186 45 45 45s45-20.186 45-45-20.186-45-45-45c-41.353 0-75-33.647-75-75s33.647-75 75-75 75 33.647 75 75c0 8.291-6.709 15-15 15s-15-6.709-15-15c0-24.814-20.186-45-45-45s-45 20.186-45 45 20.186 45 45 45zm180 120h30c8.291 0 15 6.709 15 15s-6.709 15-15 15h-30c-24.814 0-45-20.186-45-45V211h-15c-8.291 0-15-6.709-15-15s6.709-15 15-15h15v-45c0-8.291 6.709-15 15-15s15 6.709 15 15v45h45c8.291 0 15 6.709 15 15s-6.709 15-15 15h-45v135c0 8.276 6.724 15 15 15z"></path>
|
||||||
|
</svg>
|
||||||
|
Stock
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 511.441 511.441" fill="currentColor">
|
||||||
|
<path d="M255.721 347.484L90.22 266.751v106.57l165.51 73.503 165.509-73.503V266.742z"></path>
|
||||||
|
<path d="M511.441 189.361L255.721 64.617 0 189.361l255.721 124.744 195.522-95.378v111.032h30V204.092z"></path>
|
||||||
|
</svg>
|
||||||
|
Tutorials
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M196 151h-75v90h75c24.814 0 45-20.186 45-45s-20.186-45-45-45z"></path>
|
||||||
|
<path d="M467 0H45C20.186 0 0 20.186 0 45v422c0 24.814 20.186 45 45 45h422c24.814 0 45-20.186 45-45V45c0-24.814-20.186-45-45-45zM196 271h-75v105c0 8.291-6.709 15-15 15s-15-6.709-15-15V136c0-8.291 6.709-15 15-15h90c41.353 0 75 33.647 75 75s-33.647 75-75 75zm210-60c8.291 0 15 6.709 15 15s-6.709 15-15 15h-45v135c0 8.291-6.709 15-15 15s-15-6.709-15-15V241h-15c-8.291 0-15-6.709-15-15s6.709-15 15-15h15v-45c0-24.814 20.186-45 45-45h30c8.291 0 15 6.709 15 15s-6.709 15-15 15h-30c-8.276 0-15 6.724-15 15v45h45z"></path>
|
||||||
|
</svg>
|
||||||
|
Portfolio
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M181 181h-60v60h60c16.54 0 30-13.46 30-30s-13.46-30-30-30zm0 0M181 271h-60v60h60c16.54 0 30-13.46 30-30s-13.46-30-30-30zm0 0M346 241c-19.555 0-36.238 12.54-42.438 30h84.875c-6.199-17.46-22.882-30-42.437-30zm0 0"></path>
|
||||||
|
<path d="M436 0H75C33.648 0 0 33.648 0 75v362c0 41.352 33.648 75 75 75h361c41.352 0 76-33.648 76-75V75c0-41.352-34.648-75-76-75zM286 151h120v30H286zm-45 150c0 33.09-26.91 60-60 60H91V151h90c33.09 0 60 26.91 60 60 0 18.008-8.133 33.996-20.73 45 12.597 11.004 20.73 26.992 20.73 45zm180 0H303.562c6.196 17.46 22.883 30 42.438 30 16.012 0 30.953-8.629 38.992-22.516l25.957 15.032C397.58 346.629 372.687 361 346 361c-41.352 0-75-33.648-75-75s33.648-75 75-75 75 33.648 75 75zm0 0"></path>
|
||||||
|
</svg>
|
||||||
|
Behance
|
||||||
|
</a>
|
||||||
|
<a href="#">
|
||||||
|
<svg viewBox="0 0 512 512" fill="currentColor">
|
||||||
|
<path d="M352 0H64C28.704 0 0 28.704 0 64v320a16.02 16.02 0 009.216 14.496A16.232 16.232 0 0016 400c3.68 0 7.328-1.248 10.24-3.712L117.792 320H352c35.296 0 64-28.704 64-64V64c0-35.296-28.704-64-64-64z"></path>
|
||||||
|
<path d="M464 128h-16v128c0 52.928-43.072 96-96 96H129.376L128 353.152V400c0 26.464 21.536 48 48 48h234.368l75.616 60.512A16.158 16.158 0 00496 512c2.336 0 4.704-.544 6.944-1.6A15.968 15.968 0 00512 496V176c0-26.464-21.536-48-48-48z"></path>
|
||||||
|
</svg>
|
||||||
|
Social Forum
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name:"SettingLeftSide",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
42
src/components/setting/SettingMainHeader.vue
Normal file
42
src/components/setting/SettingMainHeader.vue
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<template>
|
||||||
|
<div class="main-header">
|
||||||
|
<a class="menu-link-main" href="#">All Apps</a>
|
||||||
|
<div class="header-menu">
|
||||||
|
<a class="main-header-link is-active" href="#">Desktop</a>
|
||||||
|
<a class="main-header-link" href="#">Mobile</a>
|
||||||
|
<a class="main-header-link" href="#">Web</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import $ from 'jquery'
|
||||||
|
export default {
|
||||||
|
name:"SettingMainHeader",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}},
|
||||||
|
mounted() {
|
||||||
|
this.toggleActive();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
toggleActive(){
|
||||||
|
$(function () {
|
||||||
|
$(".main-header-link").click(function () {
|
||||||
|
$(".main-header-link").removeClass("is-active");
|
||||||
|
$(this).addClass("is-active");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
252
src/components/setting/SettingPage.vue
Normal file
252
src/components/setting/SettingPage.vue
Normal file
@ -0,0 +1,252 @@
|
|||||||
|
<template>
|
||||||
|
<div class="main-container">
|
||||||
|
<SettingMainHeader></SettingMainHeader>
|
||||||
|
<!-- <div class="content-wrapper">-->
|
||||||
|
<!-- <div class="content-wrapper-header">-->
|
||||||
|
<!-- <div class="content-wrapper-context">-->
|
||||||
|
<!-- <h3 class="img-content">-->
|
||||||
|
<!-- <svg viewBox="0 0 512 512">-->
|
||||||
|
<!-- <path d="M467 0H45C20.099 0 0 20.099 0 45v422c0 24.901 20.099 45 45 45h422c24.901 0 45-20.099 45-45V45c0-24.901-20.099-45-45-45z" fill="#d6355b" data-original="#ff468c"></path>-->
|
||||||
|
<!-- <path xmlns="http://www.w3.org/2000/svg" d="M512 45v422c0 24.901-20.099 45-45 45H256V0h211c24.901 0 45 20.099 45 45z" fill="#d6355b" data-original="#d72878"></path>-->
|
||||||
|
<!-- <path xmlns="http://www.w3.org/2000/svg" d="M467 30H45c-8.401 0-15 6.599-15 15v422c0 8.401 6.599 15 15 15h422c8.401 0 15-6.599 15-15V45c0-8.401-6.599-15-15-15z" fill="#2e000a" data-original="#700029"></path>-->
|
||||||
|
<!-- <path xmlns="http://www.w3.org/2000/svg" d="M482 45v422c0 8.401-6.599 15-15 15H256V30h211c8.401 0 15 6.599 15 15z" fill="#2e000a" data-original="#4d0e06"></path>-->
|
||||||
|
<!-- <path xmlns="http://www.w3.org/2000/svg" d="M181 391c-41.353 0-75-33.647-75-75 0-8.291 6.709-15 15-15s15 6.709 15 15c0 24.814 20.186 45 45 45s45-20.186 45-45-20.186-45-45-45c-41.353 0-75-33.647-75-75s33.647-75 75-75 75 33.647 75 75c0 8.291-6.709 15-15 15s-15-6.709-15-15c0-24.814-20.186-45-45-45s-45 20.186-45 45 20.186 45 45 45c41.353 0 75 33.647 75 75s-33.647 75-75 75z" fill="#d6355b" data-original="#ff468c"></path>-->
|
||||||
|
<!-- <path xmlns="http://www.w3.org/2000/svg" d="M391 361h-30c-8.276 0-15-6.724-15-15V211h45c8.291 0 15-6.709 15-15s-6.709-15-15-15h-45v-45c0-8.291-6.709-15-15-15s-15 6.709-15 15v45h-15c-8.291 0-15 6.709-15 15s6.709 15 15 15h15v135c0 24.814 20.186 45 45 45h30c8.291 0 15-6.709 15-15s-6.709-15-15-15z" fill="#d6355b" data-original="#d72878"></path>-->
|
||||||
|
<!-- </svg>-->
|
||||||
|
<!-- Adobe Stock-->
|
||||||
|
<!-- </h3>-->
|
||||||
|
<!-- <div class="content-text">Grab yourself 10 free images from Adobe Stock in a 30-day free trial plan and find perfect image, that will help you with your new project.</div>-->
|
||||||
|
<!-- <button class="content-button">Start free trial</button>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <img class="content-wrapper-img" src="https://assets.codepen.io/3364143/glass.png" alt="">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="content-section">-->
|
||||||
|
<!-- <div class="content-section-title">Installed</div>-->
|
||||||
|
<!-- <ul>-->
|
||||||
|
<!-- <li class="adobe-product">-->
|
||||||
|
<!-- <div class="products">-->
|
||||||
|
<!-- <svg viewBox="0 0 52 52" style="border:1px solid #3291b8">-->
|
||||||
|
<!-- <g xmlns="http://www.w3.org/2000/svg">-->
|
||||||
|
<!-- <path d="M40.824 52H11.176C5.003 52 0 46.997 0 40.824V11.176C0 5.003 5.003 0 11.176 0h29.649C46.997 0 52 5.003 52 11.176v29.649C52 46.997 46.997 52 40.824 52z" fill="#061e26" data-original="#393687"></path>-->
|
||||||
|
<!-- <path d="M12.16 39H9.28V11h9.64c2.613 0 4.553.813 5.82 2.44 1.266 1.626 1.9 3.76 1.9 6.399 0 .934-.027 1.74-.08 2.42-.054.681-.22 1.534-.5 2.561-.28 1.026-.66 1.866-1.14 2.52-.48.654-1.213 1.227-2.2 1.72-.987.494-2.16.74-3.52.74h-7.04V39zm0-12h6.68c.96 0 1.773-.187 2.44-.56.666-.374 1.153-.773 1.46-1.2.306-.427.546-1.04.72-1.84.173-.801.267-1.4.28-1.801.013-.399.02-.973.02-1.72 0-4.053-1.694-6.08-5.08-6.08h-6.52V27zM29.48 33.92l2.8-.12c.106.987.6 1.754 1.48 2.3.88.547 1.893.82 3.04.82s2.14-.26 2.98-.78c.84-.52 1.26-1.266 1.26-2.239s-.36-1.747-1.08-2.32c-.72-.573-1.6-1.026-2.64-1.36-1.04-.333-2.086-.686-3.14-1.06a7.36 7.36 0 01-2.78-1.76c-.987-.934-1.48-2.073-1.48-3.42s.54-2.601 1.62-3.761 2.833-1.739 5.26-1.739c.854 0 1.653.1 2.4.3.746.2 1.28.394 1.6.58l.48.279-.92 2.521c-.854-.666-1.974-1-3.36-1-1.387 0-2.42.26-3.1.78-.68.52-1.02 1.18-1.02 1.979 0 .88.426 1.574 1.28 2.08.853.507 1.813.934 2.88 1.28 1.066.347 2.126.733 3.18 1.16 1.053.427 1.946 1.094 2.68 2s1.1 2.106 1.1 3.6c0 1.494-.6 2.794-1.8 3.9-1.2 1.106-2.954 1.66-5.26 1.66-2.307 0-4.114-.547-5.42-1.64-1.307-1.093-1.987-2.44-2.04-4.04z" fill="#c1dbe6" data-original="#89d3ff"></path>-->
|
||||||
|
<!-- </g>-->
|
||||||
|
<!-- </svg>-->
|
||||||
|
<!-- Photoshop-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <span class="status">-->
|
||||||
|
<!-- <span class="status-circle green"></span>-->
|
||||||
|
<!-- Updated</span>-->
|
||||||
|
<!-- <div class="button-wrapper">-->
|
||||||
|
<!-- <button class="content-button status-button open">Open</button>-->
|
||||||
|
<!-- <div class="menu">-->
|
||||||
|
<!-- <button class="dropdown">-->
|
||||||
|
<!-- <ul>-->
|
||||||
|
<!-- <li><a href="#">Go to Discover</a></li>-->
|
||||||
|
<!-- <li><a href="#">Learn more</a></li>-->
|
||||||
|
<!-- <li><a href="#">Uninstall</a></li>-->
|
||||||
|
<!-- </ul>-->
|
||||||
|
<!-- </button>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </li>-->
|
||||||
|
<!-- <li class="adobe-product">-->
|
||||||
|
<!-- <div class="products">-->
|
||||||
|
<!-- <svg viewBox="0 0 52 52" style="border:1px solid #b65a0b">-->
|
||||||
|
<!-- <g xmlns="http://www.w3.org/2000/svg">-->
|
||||||
|
<!-- <path d="M40.824 52H11.176C5.003 52 0 46.997 0 40.824V11.176C0 5.003 5.003 0 11.176 0h29.649C46.997 0 52 5.003 52 11.176v29.649C52 46.997 46.997 52 40.824 52z" fill="#261400" data-original="#6d4c13"></path>-->
|
||||||
|
<!-- <path d="M30.68 39h-3.24l-2.76-9.04h-8.32L13.72 39H10.6l8.24-28h3.32l8.52 28zm-6.72-12l-3.48-11.36L17.12 27h6.84zM37.479 12.24c0 .453-.16.84-.48 1.16-.32.319-.7.479-1.14.479-.44 0-.827-.166-1.16-.5-.334-.333-.5-.713-.5-1.14s.166-.807.5-1.141c.333-.333.72-.5 1.16-.5.44 0 .82.16 1.14.48.321.322.48.709.48 1.162zM37.24 39h-2.88V18.96h2.88V39z" fill="#e6d2c0" data-original="#ffbd2e"></path>-->
|
||||||
|
<!-- </g>-->
|
||||||
|
<!-- </svg>-->
|
||||||
|
<!-- Illustrator-->
|
||||||
|
<!-- </div>-->
|
||||||
|
|
||||||
|
<!-- <span class="status">-->
|
||||||
|
<!-- <span class="status-circle"></span>-->
|
||||||
|
<!-- Update Available</span>-->
|
||||||
|
<!-- <div class="button-wrapper">-->
|
||||||
|
<!-- <button class="content-button status-button">Update this app</button>-->
|
||||||
|
<!-- <div class="pop-up">-->
|
||||||
|
<!-- <div class="pop-up__title">Update This App-->
|
||||||
|
<!-- <svg class="close" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">-->
|
||||||
|
<!-- <circle cx="12" cy="12" r="10"></circle>-->
|
||||||
|
<!-- <path d="M15 9l-6 6M9 9l6 6"></path>-->
|
||||||
|
<!-- </svg>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="pop-up__subtitle">Adjust your selections for advanced options as desired before continuing. <a href="#">Learn more</a></div>-->
|
||||||
|
<!-- <div class="checkbox-wrapper">-->
|
||||||
|
<!-- <input type="checkbox" id="check1" class="checkbox">-->
|
||||||
|
<!-- <label for="check1">Import previous settings and preferences</label>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="checkbox-wrapper">-->
|
||||||
|
<!-- <input type="checkbox" id="check2" class="checkbox">-->
|
||||||
|
<!-- <label for="check2">Remove old versions</label>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="content-button-wrapper">-->
|
||||||
|
<!-- <button class="content-button status-button open close">Cancel</button>-->
|
||||||
|
<!-- <button class="content-button status-button">Continue</button>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="menu">-->
|
||||||
|
<!-- <button class="dropdown">-->
|
||||||
|
<!-- <ul>-->
|
||||||
|
<!-- <li><a href="#">Go to Discover</a></li>-->
|
||||||
|
<!-- <li><a href="#">Learn more</a></li>-->
|
||||||
|
<!-- <li><a href="#">Uninstall</a></li>-->
|
||||||
|
<!-- </ul>-->
|
||||||
|
<!-- </button>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </li>-->
|
||||||
|
<!-- <li class="adobe-product">-->
|
||||||
|
<!-- <div class="products">-->
|
||||||
|
<!-- <svg viewBox="0 0 52 52" style="border: 1px solid #C75DEB">-->
|
||||||
|
<!-- <g xmlns="http://www.w3.org/2000/svg">-->
|
||||||
|
<!-- <path d="M40.824 52H11.176C5.003 52 0 46.997 0 40.824V11.176C0 5.003 5.003 0 11.176 0h29.649C46.997 0 52 5.003 52 11.176v29.649C52 46.997 46.997 52 40.824 52z" fill="#3a3375" data-original="#3a3375"></path>-->
|
||||||
|
<!-- <path d="M27.44 39H24.2l-2.76-9.04h-8.32L10.48 39H7.36l8.24-28h3.32l8.52 28zm-6.72-12l-3.48-11.36L13.88 27h6.84zM31.48 33.48c0 2.267 1.333 3.399 4 3.399 1.653 0 3.466-.546 5.44-1.64L42 37.6c-2.054 1.254-4.2 1.881-6.44 1.881-4.64 0-6.96-1.946-6.96-5.841v-8.2c0-2.16.673-3.841 2.02-5.04 1.346-1.2 3.126-1.801 5.34-1.801s3.94.594 5.18 1.78c1.24 1.187 1.86 2.834 1.86 4.94V30.8l-11.52.6v2.08zm8.6-5.24v-3.08c0-1.413-.44-2.42-1.32-3.021-.88-.6-1.907-.899-3.08-.899-1.174 0-2.167.359-2.98 1.08-.814.72-1.22 1.773-1.22 3.16v3.199l8.6-.439z" fill="#e4d1eb" data-original="#e7adfb"></path>-->
|
||||||
|
<!-- </g>-->
|
||||||
|
<!-- </svg>-->
|
||||||
|
<!-- After Effects-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <span class="status">-->
|
||||||
|
<!-- <span class="status-circle green"></span>-->
|
||||||
|
<!-- Updated</span>-->
|
||||||
|
<!-- <div class="button-wrapper">-->
|
||||||
|
<!-- <button class="content-button status-button open">Open</button>-->
|
||||||
|
<!-- <div class="menu">-->
|
||||||
|
<!-- <button class="dropdown">-->
|
||||||
|
<!-- <ul>-->
|
||||||
|
<!-- <li><a href="#">Go to Discover</a></li>-->
|
||||||
|
<!-- <li><a href="#">Learn more</a></li>-->
|
||||||
|
<!-- <li><a href="#">Uninstall</a></li>-->
|
||||||
|
<!-- </ul>-->
|
||||||
|
<!-- </button>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </li>-->
|
||||||
|
<!-- </ul>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="content-section">-->
|
||||||
|
<!-- <div class="content-section-title">Apps in your plan</div>-->
|
||||||
|
<!-- <div class="apps-card">-->
|
||||||
|
<!-- <div class="app-card">-->
|
||||||
|
<!-- <span>-->
|
||||||
|
<!-- <svg viewBox="0 0 512 512" style="border: 1px solid #a059a9">-->
|
||||||
|
<!-- <path xmlns="http://www.w3.org/2000/svg" d="M480 0H32C14.368 0 0 14.368 0 32v448c0 17.664 14.368 32 32 32h448c17.664 0 32-14.336 32-32V32c0-17.632-14.336-32-32-32z" fill="#210027" data-original="#7b1fa2"></path>-->
|
||||||
|
<!-- <g xmlns="http://www.w3.org/2000/svg">-->
|
||||||
|
<!-- <path d="M192 64h-80c-8.832 0-16 7.168-16 16v352c0 8.832 7.168 16 16 16s16-7.168 16-16V256h64c52.928 0 96-43.072 96-96s-43.072-96-96-96zm0 160h-64V96h64c35.296 0 64 28.704 64 64s-28.704 64-64 64zM400 256h-32c-18.08 0-34.592 6.24-48 16.384V272c0-8.864-7.168-16-16-16s-16 7.136-16 16v160c0 8.832 7.168 16 16 16s16-7.168 16-16v-96c0-26.464 21.536-48 48-48h32c8.832 0 16-7.168 16-16s-7.168-16-16-16z" fill="#f6e7fa" data-original="#e1bee7"></path>-->
|
||||||
|
<!-- </g>-->
|
||||||
|
<!-- </svg>-->
|
||||||
|
<!-- Premiere Pro-->
|
||||||
|
<!-- </span>-->
|
||||||
|
<!-- <div class="app-card__subtext">Edit, master and create fully proffesional videos</div>-->
|
||||||
|
<!-- <div class="app-card-buttons">-->
|
||||||
|
<!-- <button class="content-button status-button">Update</button>-->
|
||||||
|
<!-- <div class="menu"></div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="app-card">-->
|
||||||
|
<!-- <span>-->
|
||||||
|
<!-- <svg viewBox="0 0 52 52" style="border: 1px solid #c1316d">-->
|
||||||
|
<!-- <g xmlns="http://www.w3.org/2000/svg">-->
|
||||||
|
<!-- <path d="M40.824 52H11.176C5.003 52 0 46.997 0 40.824V11.176C0 5.003 5.003 0 11.176 0h29.649C46.997 0 52 5.003 52 11.176v29.649C52 46.997 46.997 52 40.824 52z" fill="#2f0015" data-original="#6f2b41"></path>-->
|
||||||
|
<!-- <path d="M18.08 39H15.2V13.72l-2.64-.08V11h5.52v28zM27.68 19.4c1.173-.507 2.593-.761 4.26-.761s3.073.374 4.22 1.12V11h2.88v28c-2.293.32-4.414.48-6.36.48-1.947 0-3.707-.4-5.28-1.2-2.08-1.066-3.12-2.92-3.12-5.561v-7.56c0-2.799 1.133-4.719 3.4-5.759zm8.48 3.12c-1.387-.746-2.907-1.119-4.56-1.119-1.574 0-2.714.406-3.42 1.22-.707.813-1.06 1.847-1.06 3.1v7.12c0 1.227.44 2.188 1.32 2.88.96.719 2.146 1.079 3.56 1.079 1.413 0 2.8-.106 4.16-.319V22.52z" fill="#e1c1cf" data-original="#ff70bd"></path>-->
|
||||||
|
<!-- </g>-->
|
||||||
|
<!-- </svg>-->
|
||||||
|
<!-- InDesign-->
|
||||||
|
<!-- </span>-->
|
||||||
|
<!-- <div class="app-card__subtext">Design and publish great projects & mockups</div>-->
|
||||||
|
<!-- <div class="app-card-buttons">-->
|
||||||
|
<!-- <button class="content-button status-button">Update</button>-->
|
||||||
|
<!-- <div class="menu"></div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="app-card">-->
|
||||||
|
<!-- <span>-->
|
||||||
|
<!-- <svg viewBox="0 0 52 52" style="border: 1px solid #C75DEB">-->
|
||||||
|
<!-- <g xmlns="http://www.w3.org/2000/svg">-->
|
||||||
|
<!-- <path d="M40.824 52H11.176C5.003 52 0 46.997 0 40.824V11.176C0 5.003 5.003 0 11.176 0h29.649C46.997 0 52 5.003 52 11.176v29.649C52 46.997 46.997 52 40.824 52z" fill="#3a3375" data-original="#3a3375"></path>-->
|
||||||
|
<!-- <path d="M27.44 39H24.2l-2.76-9.04h-8.32L10.48 39H7.36l8.24-28h3.32l8.52 28zm-6.72-12l-3.48-11.36L13.88 27h6.84zM31.48 33.48c0 2.267 1.333 3.399 4 3.399 1.653 0 3.466-.546 5.44-1.64L42 37.6c-2.054 1.254-4.2 1.881-6.44 1.881-4.64 0-6.96-1.946-6.96-5.841v-8.2c0-2.16.673-3.841 2.02-5.04 1.346-1.2 3.126-1.801 5.34-1.801s3.94.594 5.18 1.78c1.24 1.187 1.86 2.834 1.86 4.94V30.8l-11.52.6v2.08zm8.6-5.24v-3.08c0-1.413-.44-2.42-1.32-3.021-.88-.6-1.907-.899-3.08-.899-1.174 0-2.167.359-2.98 1.08-.814.72-1.22 1.773-1.22 3.16v3.199l8.6-.439z" fill="#e4d1eb" data-original="#e7adfb"></path>-->
|
||||||
|
<!-- </g>-->
|
||||||
|
<!-- </svg>-->
|
||||||
|
<!-- After Effects-->
|
||||||
|
<!-- </span>-->
|
||||||
|
<!-- <div class="app-card__subtext">Industry Standart motion graphics & visual effects</div>-->
|
||||||
|
<!-- <div class="app-card-buttons">-->
|
||||||
|
<!-- <button class="content-button status-button">Update</button>-->
|
||||||
|
<!-- <div class="menu"></div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// import $ from 'jquery'
|
||||||
|
import SettingMainHeader from "@/components/setting/SettingMainHeader.vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name:"SettingPage",
|
||||||
|
components:{
|
||||||
|
SettingMainHeader
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}},
|
||||||
|
mounted() {
|
||||||
|
// this.Fun1();
|
||||||
|
// this.Fun2();
|
||||||
|
// this.Fun3();
|
||||||
|
// this.Fun4();
|
||||||
|
// this.dropdownFun();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// Fun1(){
|
||||||
|
// $(document).click(function (e) {
|
||||||
|
// var container = $(".status-button");
|
||||||
|
// var dd = $(".dropdown");
|
||||||
|
// if (!container.is(e.target) && container.has(e.target).length === 0) {
|
||||||
|
// dd.removeClass("is-active");
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// Fun2(){
|
||||||
|
// $(".status-button:not(.open)").on("click", function () {
|
||||||
|
// $(".overlay-app").addClass("is-active");
|
||||||
|
// });
|
||||||
|
// $(".pop-up .close").click(function () {
|
||||||
|
// $(".overlay-app").removeClass("is-active");
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// Fun3(){
|
||||||
|
// $(".status-button:not(.open)").click(function () {
|
||||||
|
// $(".pop-up").addClass("visible");
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// Fun4(){
|
||||||
|
// $(".pop-up .close").click(function () {
|
||||||
|
// $(".pop-up").removeClass("visible");
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// dropdownFun(){
|
||||||
|
// const dropdowns = document.querySelectorAll(".dropdown");
|
||||||
|
// dropdowns.forEach(dropdown => {
|
||||||
|
// dropdown.addEventListener("click", e => {
|
||||||
|
// e.stopPropagation();
|
||||||
|
// dropdowns.forEach(c => c.classList.remove("is-active"));
|
||||||
|
// dropdown.classList.add("is-active");
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
24
src/main.js
Normal file
24
src/main.js
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import Vue from 'vue'
|
||||||
|
import App from './App.vue'
|
||||||
|
import router from './router'
|
||||||
|
import store from './store'
|
||||||
|
import axios from "axios";
|
||||||
|
import ElementUI from 'element-ui';
|
||||||
|
import 'element-ui/lib/theme-chalk/index.css';
|
||||||
|
Vue.prototype.axios = axios;
|
||||||
|
// home-style
|
||||||
|
import './assets/css/home-style.css'
|
||||||
|
const $ = require('jquery');
|
||||||
|
window.$ = $;
|
||||||
|
|
||||||
|
import * as echarts from 'echarts';//引入echarts
|
||||||
|
Vue.prototype.$echarts = echarts //引入组件
|
||||||
|
|
||||||
|
|
||||||
|
Vue.config.productionTip = false
|
||||||
|
Vue.use(ElementUI);
|
||||||
|
new Vue({
|
||||||
|
router,
|
||||||
|
store,
|
||||||
|
render: h => h(App)
|
||||||
|
}).$mount('#app')
|
80
src/router/index.js
Normal file
80
src/router/index.js
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
import Vue from 'vue'
|
||||||
|
import VueRouter from 'vue-router'
|
||||||
|
import index from '../views/Index.vue'
|
||||||
|
import home from "@/components/home/HomePage.vue";
|
||||||
|
import hotNews from "@/components/hotNews/HotNews.vue";
|
||||||
|
import navDetail from "@/components/detail/NavDetail.vue";
|
||||||
|
import notFound from "@/components/notFound/NotFound.vue";
|
||||||
|
import settings from "@/views/Settings.vue";
|
||||||
|
import settingsHome from "@/components/setting/SettingPage.vue";
|
||||||
|
const originalPush = VueRouter.prototype.push
|
||||||
|
VueRouter.prototype.push = function push(location) {
|
||||||
|
return originalPush.call(this, location).catch(err => err)
|
||||||
|
}
|
||||||
|
Vue.use(VueRouter)
|
||||||
|
|
||||||
|
const routes = [
|
||||||
|
{
|
||||||
|
path: '/',
|
||||||
|
redirect: '/index'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/index',
|
||||||
|
redirect: '/home',
|
||||||
|
name: 'index',
|
||||||
|
component: index,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: '/home',
|
||||||
|
name: 'home',
|
||||||
|
component: home
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/hotNews',
|
||||||
|
name: 'hotNews',
|
||||||
|
component: hotNews
|
||||||
|
},{
|
||||||
|
path: '/navDetail',
|
||||||
|
name: 'navDetail',
|
||||||
|
component: navDetail
|
||||||
|
}
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/settings',
|
||||||
|
redirect: '/admin',
|
||||||
|
name: 'settings',
|
||||||
|
component: settings,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: '/admin',
|
||||||
|
name: 'admin',
|
||||||
|
component: settingsHome
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
path: '/404',
|
||||||
|
name: 'NoPage404',
|
||||||
|
component: notFound,
|
||||||
|
hidden: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/:pathMatch(.*)',
|
||||||
|
redirect: '/404',
|
||||||
|
hidden: true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const router = new VueRouter({
|
||||||
|
mode: 'history',
|
||||||
|
routes
|
||||||
|
})
|
||||||
|
|
||||||
|
export default router
|
17
src/store/index.js
Normal file
17
src/store/index.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import Vue from 'vue'
|
||||||
|
import Vuex from 'vuex'
|
||||||
|
|
||||||
|
Vue.use(Vuex)
|
||||||
|
|
||||||
|
export default new Vuex.Store({
|
||||||
|
state: {
|
||||||
|
},
|
||||||
|
getters: {
|
||||||
|
},
|
||||||
|
mutations: {
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
},
|
||||||
|
modules: {
|
||||||
|
}
|
||||||
|
})
|
45
src/utils/http.js
Normal file
45
src/utils/http.js
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/**** http.js ****/
|
||||||
|
// 导入封装好的axios实例
|
||||||
|
import request from './request'
|
||||||
|
|
||||||
|
const http ={
|
||||||
|
/**
|
||||||
|
* methods: 请求
|
||||||
|
* @param url 请求地址
|
||||||
|
* @param params 请求参数
|
||||||
|
*/
|
||||||
|
get(url,params){
|
||||||
|
const config = {
|
||||||
|
method: 'get',
|
||||||
|
url:url
|
||||||
|
}
|
||||||
|
if(params) config.params = params
|
||||||
|
return request(config)
|
||||||
|
},
|
||||||
|
post(url,params){
|
||||||
|
const config = {
|
||||||
|
method: 'post',
|
||||||
|
url:url
|
||||||
|
}
|
||||||
|
if(params) config.data = params
|
||||||
|
return request(config)
|
||||||
|
},
|
||||||
|
put(url,params){
|
||||||
|
const config = {
|
||||||
|
method: 'put',
|
||||||
|
url:url
|
||||||
|
}
|
||||||
|
if(params) config.params = params
|
||||||
|
return request(config)
|
||||||
|
},
|
||||||
|
delete(url,params){
|
||||||
|
const config = {
|
||||||
|
method: 'delete',
|
||||||
|
url:url
|
||||||
|
}
|
||||||
|
if(params) config.params = params
|
||||||
|
return request(config)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//导出
|
||||||
|
export default http
|
96
src/utils/request.js
Normal file
96
src/utils/request.js
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
/**** request.js ****/
|
||||||
|
// 导入axios
|
||||||
|
import axios from 'axios'
|
||||||
|
// 使用element-ui Message做消息提醒
|
||||||
|
import { Message} from 'element-plus';
|
||||||
|
//1. 创建新的axios实例,
|
||||||
|
const service = axios.create({
|
||||||
|
// 公共接口--这里注意后面会讲
|
||||||
|
baseURL: 'http://localhost:8080',
|
||||||
|
// 超时时间 单位是ms,这里设置了3s的超时时间
|
||||||
|
timeout: 3 * 1000
|
||||||
|
})
|
||||||
|
// 2.请求拦截器
|
||||||
|
service.interceptors.request.use(config => {
|
||||||
|
//发请求前做的一些处理,数据转化,配置请求头,设置token,设置loading等,根据需求去添加
|
||||||
|
config.data = JSON.stringify(config.data); //数据转化,也可以使用qs转换
|
||||||
|
config.headers = {
|
||||||
|
'Content-Type':'application/json' //配置请求头
|
||||||
|
}
|
||||||
|
//如有需要:注意使用token的时候需要引入cookie方法或者用本地localStorage等方法,推荐js-cookie
|
||||||
|
//const token = getCookie('名称');//这里取token之前,你肯定需要先拿到token,存一下
|
||||||
|
//if(token){
|
||||||
|
//config.params = {'token':token} //如果要求携带在参数中
|
||||||
|
//config.headers.token= token; //如果要求携带在请求头中
|
||||||
|
//}
|
||||||
|
return config
|
||||||
|
}, error => {
|
||||||
|
Promise.reject(error)
|
||||||
|
})
|
||||||
|
|
||||||
|
// 3.响应拦截器
|
||||||
|
service.interceptors.response.use(response => {
|
||||||
|
//接收到响应数据并成功后的一些共有的处理,关闭loading等
|
||||||
|
|
||||||
|
return response
|
||||||
|
}, error => {
|
||||||
|
/***** 接收到异常响应的处理开始 *****/
|
||||||
|
if (error && error.response) {
|
||||||
|
// 1.公共错误处理
|
||||||
|
// 2.根据响应码具体处理
|
||||||
|
switch (error.response.status) {
|
||||||
|
case 400:
|
||||||
|
error.message = '错误请求'
|
||||||
|
break;
|
||||||
|
case 401:
|
||||||
|
error.message = '未授权,请重新登录'
|
||||||
|
break;
|
||||||
|
case 403:
|
||||||
|
error.message = '拒绝访问'
|
||||||
|
break;
|
||||||
|
case 404:
|
||||||
|
error.message = '请求错误,未找到该资源'
|
||||||
|
window.location.href = "/notFound"
|
||||||
|
break;
|
||||||
|
case 405:
|
||||||
|
error.message = '请求方法未允许'
|
||||||
|
break;
|
||||||
|
case 408:
|
||||||
|
error.message = '请求超时'
|
||||||
|
break;
|
||||||
|
case 500:
|
||||||
|
error.message = '服务器端出错'
|
||||||
|
break;
|
||||||
|
case 501:
|
||||||
|
error.message = '网络未实现'
|
||||||
|
break;
|
||||||
|
case 502:
|
||||||
|
error.message = '网络错误'
|
||||||
|
break;
|
||||||
|
case 503:
|
||||||
|
error.message = '服务不可用'
|
||||||
|
break;
|
||||||
|
case 504:
|
||||||
|
error.message = '网络超时'
|
||||||
|
break;
|
||||||
|
case 505:
|
||||||
|
error.message = 'http版本不支持该请求'
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
error.message = `连接错误${error.response.status}`
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 超时处理
|
||||||
|
if (JSON.stringify(error).includes('timeout')) {
|
||||||
|
Message.error('服务器响应超时,请刷新当前页')
|
||||||
|
}
|
||||||
|
error.message = '连接服务器失败'
|
||||||
|
}
|
||||||
|
|
||||||
|
Message.error(error.message)
|
||||||
|
/***** 处理结束 *****/
|
||||||
|
//如果不需要错误处理,以上的处理过程都可省略
|
||||||
|
return Promise.resolve(error.response)
|
||||||
|
})
|
||||||
|
//4.导入文件
|
||||||
|
export default service
|
62
src/views/Index.vue
Normal file
62
src/views/Index.vue
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<template>
|
||||||
|
<!-- <div class="home">-->
|
||||||
|
<!-- <HomePage></HomePage>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<body translate="no">
|
||||||
|
<div class="video-bg">
|
||||||
|
<video width="320" height="240" autoplay="" loop="" muted="" __idm_id__="1581057">
|
||||||
|
<source src="../assets/video/background.mp4" type="video/mp4">
|
||||||
|
Your browser does not support the video tag.
|
||||||
|
</video>
|
||||||
|
</div>
|
||||||
|
<div class="dark-light">
|
||||||
|
<svg viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" fill="none" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div class="app">
|
||||||
|
<HomeHeader></HomeHeader>
|
||||||
|
<!-- <router-view></router-view>-->
|
||||||
|
<div class="wrapper">
|
||||||
|
<LeftSide></LeftSide>
|
||||||
|
<router-view></router-view>
|
||||||
|
</div>
|
||||||
|
<div class="overlay-app"></div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// @ is an alias to /src
|
||||||
|
import HomeHeader from "@/components/home/HomeHeader.vue";
|
||||||
|
import LeftSide from "@/components/home/LeftSide.vue";
|
||||||
|
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'HomeView',
|
||||||
|
components: {
|
||||||
|
LeftSide,
|
||||||
|
HomeHeader,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.toggleDarkLight();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
methods:{
|
||||||
|
toggleDarkLight() {
|
||||||
|
const toggleButton = document.querySelector('.dark-light');
|
||||||
|
|
||||||
|
toggleButton.addEventListener('click', () => {
|
||||||
|
document.body.classList.toggle('light-mode');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
62
src/views/Settings.vue
Normal file
62
src/views/Settings.vue
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<template>
|
||||||
|
<!-- <div class="home">-->
|
||||||
|
<!-- <HomePage></HomePage>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<body translate="no">
|
||||||
|
<div class="video-bg">
|
||||||
|
<video width="320" height="240" autoplay="" loop="" muted="" __idm_id__="1581057">
|
||||||
|
<source src="../assets/video/background.mp4" type="video/mp4">
|
||||||
|
Your browser does not support the video tag.
|
||||||
|
</video>
|
||||||
|
</div>
|
||||||
|
<div class="dark-light">
|
||||||
|
<svg viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" fill="none" stroke-linecap="round"
|
||||||
|
stroke-linejoin="round">
|
||||||
|
<path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"></path>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div class="app">
|
||||||
|
<SettingHeader></SettingHeader>
|
||||||
|
<!-- <router-view></router-view>-->
|
||||||
|
<div class="wrapper">
|
||||||
|
<SettingLeftSide></SettingLeftSide>
|
||||||
|
<router-view></router-view>
|
||||||
|
</div>
|
||||||
|
<div class="overlay-app"></div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// @ is an alias to /src
|
||||||
|
import SettingHeader from "@/components/setting/SettingHeader.vue";
|
||||||
|
import SettingLeftSide from "@/components/setting/SettingLeftSide.vue";
|
||||||
|
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'SettingsView',
|
||||||
|
components: {
|
||||||
|
SettingLeftSide,
|
||||||
|
SettingHeader,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.toggleDarkLight();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
methods:{
|
||||||
|
toggleDarkLight() {
|
||||||
|
const toggleButton = document.querySelector('.dark-light');
|
||||||
|
|
||||||
|
toggleButton.addEventListener('click', () => {
|
||||||
|
document.body.classList.toggle('light-mode');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
44
vue.config.js
Normal file
44
vue.config.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
const { defineConfig } = require('@vue/cli-service')
|
||||||
|
module.exports = defineConfig({
|
||||||
|
transpileDependencies: true,
|
||||||
|
devServer: {
|
||||||
|
client: {
|
||||||
|
overlay: false // 编译错误时,取消全屏覆盖
|
||||||
|
},
|
||||||
|
proxy: {
|
||||||
|
|
||||||
|
'/api': {
|
||||||
|
//后端接口的baseurl
|
||||||
|
target: 'http://localhost:8082/helloGithub_war_exploded',
|
||||||
|
//是否允许跨域
|
||||||
|
changeOrigin: true,
|
||||||
|
// ws: true, //是否代理 websockets
|
||||||
|
// secure: true,
|
||||||
|
// 'secure': true,
|
||||||
|
headers: {
|
||||||
|
Connection: "kepp-alive"
|
||||||
|
},
|
||||||
|
pathRewrite: {
|
||||||
|
//这里的作用是使用去掉api
|
||||||
|
'^/api': ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'/image': {
|
||||||
|
//后端接口的baseurl
|
||||||
|
target: 'https://tucdn.wpon.cn/api/',
|
||||||
|
//是否允许跨域
|
||||||
|
changeOrigin: true,
|
||||||
|
// ws: true, //是否代理 websockets
|
||||||
|
// secure: true,
|
||||||
|
// 'secure': true,
|
||||||
|
headers: {
|
||||||
|
Connection: "kepp-alive"
|
||||||
|
},
|
||||||
|
pathRewrite: {
|
||||||
|
//这里的作用是使用去掉api
|
||||||
|
'^/image': ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
Loading…
Reference in New Issue
Block a user