Skip to content

Commit 1972046

Browse files
authored
Merge pull request #119 from segment-oj:add-avatar-component
[feature] Add avatar component
2 parents d18b232 + f37bc81 commit 1972046

File tree

3 files changed

+35
-13
lines changed

3 files changed

+35
-13
lines changed

src/components/page/navbar.vue

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,28 @@
1616
</el-menu-item>
1717
<el-menu-item index="/" class="webkit-box">
1818
<i class="el-icon-s-home" />
19-
<div class="lable"> Home</div>
19+
<div class="label"> Home</div>
2020
</el-menu-item>
2121
<el-menu-item index="/problem/list" class="webkit-box">
2222
<i class="el-icon-s-order" />
23-
<div class="lable"> Problem List</div>
23+
<div class="label"> Problem List</div>
2424
</el-menu-item>
2525
<el-menu-item index="/status/list" class="webkit-box">
2626
<i class="el-icon-s-marketing" />
27-
<div class="lable"> Status List</div>
27+
<div class="label"> Status List</div>
2828
</el-menu-item>
2929
<el-submenu index="1">
3030
<template slot="title">
3131
<i class="el-icon-s-help" />
32-
<span class="lable"> Apps</span>
32+
<span class="label"> Apps</span>
3333
</template>
3434
<el-menu-item index="/app/editor">
3535
Code Editor
3636
</el-menu-item>
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,14 +68,15 @@ export default {
6968
};
7069
},
7170
components: {
72-
UserLogout
71+
UserLogout,
72+
UserAvatar
7373
}
7474
};
7575
</script>
7676

7777
<style scoped>
7878
@media only screen and (max-width: 500px) {
79-
.lable {
79+
.label {
8080
display: none;
8181
}
8282
}

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>

0 commit comments

Comments
 (0)