Skip to content

Commit ff9a2e8

Browse files
committed
[feature] add avatar compoent
1 parent 0d4bc54 commit ff9a2e8

File tree

5 files changed

+134
-8
lines changed

5 files changed

+134
-8
lines changed

src/components/page/navbar.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,7 @@
3737
</el-submenu>
3838
<el-submenu index="2" id="user">
3939
<template slot="title">
40-
<el-avatar shape="square">
41-
<img src="./../../assets/icon/SOJ-thick-white-background.png" />
42-
</el-avatar>
40+
<UserAvatar />
4341
</template>
4442
<div v-if="this.$store.state.user.authenticated">
4543
<el-menu-item :index="'/account/' + $store.state.user.userid">
@@ -60,6 +58,7 @@
6058

6159
<script>
6260
import UserLogout from './../user/logout.vue';
61+
import UserAvatar from './../user/avatar.vue';
6362
6463
export default {
6564
name: 'NavBar',
@@ -69,7 +68,8 @@ export default {
6968
};
7069
},
7170
components: {
72-
UserLogout
71+
UserLogout,
72+
UserAvatar
7373
}
7474
};
7575
</script>

src/components/user/avatar.vue

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<template>
2+
<el-avatar :shape="this.shape" :size="this.size">
3+
<img v-if="this.imgsrc" :src="this.imgsrc" alt="picture" />
4+
<img v-else src="./../../assets/icon/SOJ-thick-white-background.png">
5+
</el-avatar>
6+
</template>
7+
8+
<script>
9+
export default {
10+
name: 'UserAvatar',
11+
props: {
12+
imgsrc: {
13+
type: String,
14+
}, size: {
15+
type: Number,
16+
}, shape: {
17+
type: String,
18+
default: 'square'
19+
}
20+
}
21+
};
22+
</script>

src/components/user/content.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
<div id="user-content">
33
<div id="tool">
44
<el-card shadow="never">
5-
<el-avatar shape="square" :size="this.avatarWidth">
6-
<img src="./../../assets/icon/SOJ-thick-white-background.png" />
7-
</el-avatar>
5+
<UserAvatar shape="square" :size="this.avatarWidth" />
86
</el-card>
97
</div>
108

@@ -29,6 +27,7 @@ import apiurl from './../../apiurl';
2927
import userInfo from './information.vue';
3028
import userEdit from './edit.vue';
3129
import userSecure from './secure.vue';
30+
import UserAvatar from './avatar.vue';
3231
3332
export default {
3433
name: 'UserHomepage',
@@ -72,7 +71,8 @@ export default {
7271
components: {
7372
userInfo,
7473
userEdit,
75-
userSecure
74+
userSecure,
75+
UserAvatar
7676
}
7777
};
7878
</script>

src/dist/router.dev.js

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
"use strict";
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports["default"] = void 0;
7+
8+
var _vue = _interopRequireDefault(require("vue"));
9+
10+
var _vueRouter = _interopRequireDefault(require("vue-router"));
11+
12+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13+
14+
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
15+
16+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
17+
18+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19+
20+
_vue["default"].use(_vueRouter["default"]);
21+
22+
var router = new _vueRouter["default"]({
23+
mode: 'history',
24+
routes: [{
25+
path: '/',
26+
component: function component() {
27+
return Promise.resolve().then(function () {
28+
return _interopRequireWildcard(require('./components/home/page.vue'));
29+
});
30+
}
31+
}, {
32+
path: '/account/:id',
33+
component: function component() {
34+
return Promise.resolve().then(function () {
35+
return _interopRequireWildcard(require('./components/user/content.vue'));
36+
});
37+
}
38+
}, {
39+
path: '/account/:id/edit',
40+
component: function component() {
41+
return Promise.resolve().then(function () {
42+
return _interopRequireWildcard(require('./components/user/edit.vue'));
43+
});
44+
}
45+
}, {
46+
path: '/problem/list',
47+
component: function component() {
48+
return Promise.resolve().then(function () {
49+
return _interopRequireWildcard(require('./components/problem/list.vue'));
50+
});
51+
}
52+
}, {
53+
path: '/problem/:id',
54+
component: function component() {
55+
return Promise.resolve().then(function () {
56+
return _interopRequireWildcard(require('./components/problem/content.vue'));
57+
});
58+
}
59+
}, {
60+
path: '/problem/:id/edit',
61+
component: function component() {
62+
return Promise.resolve().then(function () {
63+
return _interopRequireWildcard(require('./components/problem/edit.vue'));
64+
});
65+
}
66+
}, {
67+
path: '/problem/:id/submit',
68+
component: function component() {
69+
return Promise.resolve().then(function () {
70+
return _interopRequireWildcard(require('./components/problem/submit.vue'));
71+
});
72+
}
73+
}, {
74+
path: '/status/list',
75+
component: function component() {
76+
return Promise.resolve().then(function () {
77+
return _interopRequireWildcard(require('./components/status/list.vue'));
78+
});
79+
}
80+
}, {
81+
path: '/status/:id',
82+
component: function component() {
83+
return Promise.resolve().then(function () {
84+
return _interopRequireWildcard(require('./components/status/content.vue'));
85+
});
86+
}
87+
}, {
88+
path: '/app/editor',
89+
component: function component() {
90+
return Promise.resolve().then(function () {
91+
return _interopRequireWildcard(require('./components/app/editor.vue'));
92+
});
93+
}
94+
}, {
95+
path: '*',
96+
component: function component() {
97+
return Promise.resolve().then(function () {
98+
return _interopRequireWildcard(require('./components/404.vue'));
99+
});
100+
}
101+
}]
102+
});
103+
var _default = router;
104+
exports["default"] = _default;
103 KB
Loading

0 commit comments

Comments
 (0)