aboutsummaryrefslogtreecommitdiff
path: root/src/components/user_profile
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/user_profile')
-rw-r--r--src/components/user_profile/user_profile.js11
-rw-r--r--src/components/user_profile/user_profile.vue20
2 files changed, 27 insertions, 4 deletions
diff --git a/src/components/user_profile/user_profile.js b/src/components/user_profile/user_profile.js
index 08adaeab..acb612ed 100644
--- a/src/components/user_profile/user_profile.js
+++ b/src/components/user_profile/user_profile.js
@@ -7,13 +7,16 @@ import TabSwitcher from 'src/components/tab_switcher/tab_switcher.jsx'
import RichContent from 'src/components/rich_content/rich_content.jsx'
import List from '../list/list.vue'
import withLoadMore from '../../hocs/with_load_more/with_load_more'
+import localeService from 'src/services/locale/locale.service.js'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
- faCircleNotch
+ faCircleNotch,
+ faBirthdayCake
} from '@fortawesome/free-solid-svg-icons'
library.add(
- faCircleNotch
+ faCircleNotch,
+ faBirthdayCake
)
const FollowerList = withLoadMore({
@@ -76,6 +79,10 @@ const UserProfile = {
},
followersTabVisible () {
return this.isUs || !this.user.hide_followers
+ },
+ formattedBirthday () {
+ const browserLocale = localeService.internalToBrowserLocale(this.$i18n.locale)
+ return this.user.birthday && new Date(Date.parse(this.user.birthday)).toLocaleDateString(browserLocale, { timeZone: 'UTC', day: 'numeric', month: 'long', year: 'numeric' })
}
},
methods: {
diff --git a/src/components/user_profile/user_profile.vue b/src/components/user_profile/user_profile.vue
index d5e8d230..c63a303c 100644
--- a/src/components/user_profile/user_profile.vue
+++ b/src/components/user_profile/user_profile.vue
@@ -12,6 +12,16 @@
rounded="top"
:has-note-editor="true"
/>
+ <span
+ v-if="!!user.birthday"
+ class="user-birthday"
+ >
+ <FAIcon
+ class="fa-old-padding"
+ icon="birthday-cake"
+ />
+ {{ $t('user_card.birthday', { birthday: formattedBirthday }) }}
+ </span>
<div
v-if="user.fields_html && user.fields_html.length > 0"
class="user-profile-fields"
@@ -140,7 +150,7 @@
<script src="./user_profile.js"></script>
<style lang="scss">
-@import '../../_variables.scss';
+@import "../../variables";
.user-profile {
flex: 2;
@@ -149,6 +159,10 @@
// No sticky header on user profile
--currentPanelStack: 1;
+ .user-birthday {
+ margin: 0 0.75em 0.5em;
+ }
+
.user-profile-fields {
margin: 0 0.5em;
@@ -186,7 +200,8 @@
margin: 0 0 0 0.25em;
}
- .user-profile-field-name, .user-profile-field-value {
+ .user-profile-field-name,
+ .user-profile-field-value {
line-height: 1.3;
text-overflow: ellipsis;
white-space: nowrap;
@@ -204,6 +219,7 @@
padding: 2em;
}
}
+
.user-profile-placeholder {
.panel-body {
display: flex;