refactor: use separate component for birthday dates
Some checks failed
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/lint-foundkey-js Pipeline was successful
ci/woodpecker/push/lint-client Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/pr/lint-foundkey-js Pipeline was successful
ci/woodpecker/pr/lint-backend Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/lint-client Pipeline failed
ci/woodpecker/pr/test Pipeline failed
Some checks failed
ci/woodpecker/push/lint-backend Pipeline was successful
ci/woodpecker/push/lint-foundkey-js Pipeline was successful
ci/woodpecker/push/lint-client Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/pr/lint-foundkey-js Pipeline was successful
ci/woodpecker/pr/lint-backend Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/lint-client Pipeline failed
ci/woodpecker/pr/test Pipeline failed
Resolves: #90
This commit is contained in:
parent
af8de58c84
commit
b66ae3847b
23 changed files with 41 additions and 1 deletions
|
@ -254,6 +254,7 @@ remoteUserCaution: "هذه المعلومات قد لا تكون مكتملة ب
|
||||||
activity: "النشاط"
|
activity: "النشاط"
|
||||||
images: "الصور"
|
images: "الصور"
|
||||||
birthday: "تاريخ الميلاد"
|
birthday: "تاريخ الميلاد"
|
||||||
|
yearsOld: "{age} سنة"
|
||||||
registeredDate: "انضم في"
|
registeredDate: "انضم في"
|
||||||
location: "الموقع الجغرافي"
|
location: "الموقع الجغرافي"
|
||||||
theme: "المظهر"
|
theme: "المظهر"
|
||||||
|
|
|
@ -258,6 +258,7 @@ remoteUserCaution: "এই ব্যাবহারকারী রিমোট
|
||||||
activity: "কার্যকলাপ"
|
activity: "কার্যকলাপ"
|
||||||
images: "ছবি"
|
images: "ছবি"
|
||||||
birthday: "জন্মদিন"
|
birthday: "জন্মদিন"
|
||||||
|
yearsOld: "{age} বছর"
|
||||||
registeredDate: "যোগদানের তারিখ"
|
registeredDate: "যোগদানের তারিখ"
|
||||||
location: "অবস্থান"
|
location: "অবস্থান"
|
||||||
theme: "থিম"
|
theme: "থিম"
|
||||||
|
|
|
@ -241,6 +241,7 @@ remoteUserCaution: "Tyto informace nemusí být aktuální jelikož uživatel je
|
||||||
activity: "Aktivita"
|
activity: "Aktivita"
|
||||||
images: "Obrázky"
|
images: "Obrázky"
|
||||||
birthday: "Datum narození"
|
birthday: "Datum narození"
|
||||||
|
yearsOld: "{age} let"
|
||||||
registeredDate: "Datum registrace"
|
registeredDate: "Datum registrace"
|
||||||
location: "Lokace"
|
location: "Lokace"
|
||||||
theme: "Vzhled"
|
theme: "Vzhled"
|
||||||
|
|
|
@ -259,6 +259,7 @@ remoteUserCaution: "Diese Informationen sind möglicherweise unvollständig, da
|
||||||
activity: "Aktivität"
|
activity: "Aktivität"
|
||||||
images: "Bilder"
|
images: "Bilder"
|
||||||
birthday: "Geburtstag"
|
birthday: "Geburtstag"
|
||||||
|
yearsOld: "{age} Jahre alt"
|
||||||
registeredDate: "Registrationsdatum"
|
registeredDate: "Registrationsdatum"
|
||||||
location: "Ort"
|
location: "Ort"
|
||||||
theme: "Farbschema"
|
theme: "Farbschema"
|
||||||
|
|
|
@ -259,6 +259,7 @@ remoteUserCaution: "As this user is from a remote instance, the shown informatio
|
||||||
activity: "Activity"
|
activity: "Activity"
|
||||||
images: "Images"
|
images: "Images"
|
||||||
birthday: "Birthday"
|
birthday: "Birthday"
|
||||||
|
yearsOld: "{age} years old"
|
||||||
registeredDate: "Joined on"
|
registeredDate: "Joined on"
|
||||||
location: "Location"
|
location: "Location"
|
||||||
theme: "Themes"
|
theme: "Themes"
|
||||||
|
|
|
@ -258,6 +258,7 @@ remoteUserCaution: "Para el usuario remoto, la información está incompleta"
|
||||||
activity: "Actividad"
|
activity: "Actividad"
|
||||||
images: "Imágenes"
|
images: "Imágenes"
|
||||||
birthday: "Fecha de nacimiento"
|
birthday: "Fecha de nacimiento"
|
||||||
|
yearsOld: "{age} años"
|
||||||
registeredDate: "Fecha de registro"
|
registeredDate: "Fecha de registro"
|
||||||
location: "Lugar"
|
location: "Lugar"
|
||||||
theme: "Tema"
|
theme: "Tema"
|
||||||
|
|
|
@ -256,6 +256,7 @@ remoteUserCaution: "Les informations de ce compte risqueraient d’être incompl
|
||||||
activity: "Activité"
|
activity: "Activité"
|
||||||
images: "Images"
|
images: "Images"
|
||||||
birthday: "Date de naissance"
|
birthday: "Date de naissance"
|
||||||
|
yearsOld: "{age} ans"
|
||||||
registeredDate: "Inscrit le"
|
registeredDate: "Inscrit le"
|
||||||
location: "Localisation"
|
location: "Localisation"
|
||||||
theme: "Thème"
|
theme: "Thème"
|
||||||
|
|
|
@ -258,6 +258,7 @@ remoteUserCaution: "Informasi ini mungkin tidak mutakhir, karena pengguna ini be
|
||||||
activity: "Aktivitas"
|
activity: "Aktivitas"
|
||||||
images: "Gambar"
|
images: "Gambar"
|
||||||
birthday: "Tanggal lahir"
|
birthday: "Tanggal lahir"
|
||||||
|
yearsOld: "{age} tahun"
|
||||||
registeredDate: "Bergabung pada"
|
registeredDate: "Bergabung pada"
|
||||||
location: "Lokasi"
|
location: "Lokasi"
|
||||||
theme: "Tema"
|
theme: "Tema"
|
||||||
|
|
|
@ -254,6 +254,7 @@ remoteUserCaution: "Può darsi che le informazioni siano incomplete perché ques
|
||||||
activity: "Attività"
|
activity: "Attività"
|
||||||
images: "Immagini"
|
images: "Immagini"
|
||||||
birthday: "Compleanno"
|
birthday: "Compleanno"
|
||||||
|
yearsOld: "{age}Anni"
|
||||||
registeredDate: "Iscrizione a.."
|
registeredDate: "Iscrizione a.."
|
||||||
location: "Posizione"
|
location: "Posizione"
|
||||||
theme: "Tema"
|
theme: "Tema"
|
||||||
|
|
|
@ -259,6 +259,7 @@ remoteUserCaution: "リモートユーザーのため、情報が不完全です
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
images: "画像"
|
images: "画像"
|
||||||
birthday: "誕生日"
|
birthday: "誕生日"
|
||||||
|
yearsOld: "{age}歳"
|
||||||
registeredDate: "登録日"
|
registeredDate: "登録日"
|
||||||
location: "場所"
|
location: "場所"
|
||||||
theme: "テーマ"
|
theme: "テーマ"
|
||||||
|
|
|
@ -258,6 +258,7 @@ remoteUserCaution: "リモートユーザーやから、足りひん情報ある
|
||||||
activity: "アクティビティ"
|
activity: "アクティビティ"
|
||||||
images: "画像"
|
images: "画像"
|
||||||
birthday: "生まれた日"
|
birthday: "生まれた日"
|
||||||
|
yearsOld: "{age}歳"
|
||||||
registeredDate: "始めた日"
|
registeredDate: "始めた日"
|
||||||
location: "場所"
|
location: "場所"
|
||||||
theme: "テーマ"
|
theme: "テーマ"
|
||||||
|
|
|
@ -258,6 +258,7 @@ remoteUserCaution: "리모트 유저이기 때문에, 정보가 정확하지 않
|
||||||
activity: "활동"
|
activity: "활동"
|
||||||
images: "이미지"
|
images: "이미지"
|
||||||
birthday: "생일"
|
birthday: "생일"
|
||||||
|
yearsOld: "{age}세"
|
||||||
registeredDate: "등록일"
|
registeredDate: "등록일"
|
||||||
location: "장소"
|
location: "장소"
|
||||||
theme: "테마"
|
theme: "테마"
|
||||||
|
|
|
@ -244,6 +244,7 @@ remoteUserCaution: "Aangezien deze gebruiker van een externe server afkomstig is
|
||||||
activity: "Activiteit"
|
activity: "Activiteit"
|
||||||
images: "Afbeeldingen"
|
images: "Afbeeldingen"
|
||||||
birthday: "Geboortedatum"
|
birthday: "Geboortedatum"
|
||||||
|
yearsOld: "{age} jaar"
|
||||||
registeredDate: "Inschrijvingsdatum"
|
registeredDate: "Inschrijvingsdatum"
|
||||||
location: "Locatie"
|
location: "Locatie"
|
||||||
theme: "Thema's"
|
theme: "Thema's"
|
||||||
|
|
|
@ -253,6 +253,7 @@ remoteUserCaution: "Te informacje mogą nie być aktualne, ponieważ użytkownik
|
||||||
activity: "Aktywność"
|
activity: "Aktywność"
|
||||||
images: "Zdjęcia"
|
images: "Zdjęcia"
|
||||||
birthday: "Data urodzenia"
|
birthday: "Data urodzenia"
|
||||||
|
yearsOld: "{age} lat"
|
||||||
registeredDate: "Zarejestrowano"
|
registeredDate: "Zarejestrowano"
|
||||||
location: "Lokalizacja"
|
location: "Lokalizacja"
|
||||||
theme: "Motywy"
|
theme: "Motywy"
|
||||||
|
|
|
@ -258,6 +258,7 @@ remoteUserCaution: "Deoarece acest utilizator este dintr-o instanță externă,
|
||||||
activity: "Activitate"
|
activity: "Activitate"
|
||||||
images: "Imagini"
|
images: "Imagini"
|
||||||
birthday: "Zi de naștere"
|
birthday: "Zi de naștere"
|
||||||
|
yearsOld: "{age} ani"
|
||||||
registeredDate: "Data înregistrării"
|
registeredDate: "Data înregistrării"
|
||||||
location: "Locație"
|
location: "Locație"
|
||||||
theme: "Teme"
|
theme: "Teme"
|
||||||
|
|
|
@ -258,6 +258,7 @@ remoteUserCaution: "Это пользователь с другого сайта
|
||||||
activity: "Активность"
|
activity: "Активность"
|
||||||
images: "Изображения"
|
images: "Изображения"
|
||||||
birthday: "День рождения"
|
birthday: "День рождения"
|
||||||
|
yearsOld: "Возраст: {age}"
|
||||||
registeredDate: "Дата регистрации"
|
registeredDate: "Дата регистрации"
|
||||||
location: "Местоположение"
|
location: "Местоположение"
|
||||||
theme: "Тема"
|
theme: "Тема"
|
||||||
|
|
|
@ -258,6 +258,7 @@ remoteUserCaution: "Tieto informácie nemusia byť aktuálne, keďže používat
|
||||||
activity: "Aktivita"
|
activity: "Aktivita"
|
||||||
images: "Obrázky"
|
images: "Obrázky"
|
||||||
birthday: "Dátum narodenia"
|
birthday: "Dátum narodenia"
|
||||||
|
yearsOld: "{age} rokov"
|
||||||
registeredDate: "Dátum registrácie"
|
registeredDate: "Dátum registrácie"
|
||||||
location: "Lokalita"
|
location: "Lokalita"
|
||||||
theme: "Téma"
|
theme: "Téma"
|
||||||
|
|
|
@ -258,6 +258,7 @@ remoteUserCaution: "Інформація може бути неповною, о
|
||||||
activity: "Активність"
|
activity: "Активність"
|
||||||
images: "Зображення"
|
images: "Зображення"
|
||||||
birthday: "День народження"
|
birthday: "День народження"
|
||||||
|
yearsOld: "{age} років"
|
||||||
registeredDate: "Приєднався(лась)"
|
registeredDate: "Приєднався(лась)"
|
||||||
location: "Локація"
|
location: "Локація"
|
||||||
theme: "Тема"
|
theme: "Тема"
|
||||||
|
|
|
@ -258,6 +258,7 @@ remoteUserCaution: "Vì người dùng này ở máy chủ khác, thông tin hi
|
||||||
activity: "Hoạt động"
|
activity: "Hoạt động"
|
||||||
images: "Hình ảnh"
|
images: "Hình ảnh"
|
||||||
birthday: "Sinh nhật"
|
birthday: "Sinh nhật"
|
||||||
|
yearsOld: "{age} tuổi"
|
||||||
registeredDate: "Tham gia"
|
registeredDate: "Tham gia"
|
||||||
location: "Đến từ"
|
location: "Đến từ"
|
||||||
theme: "Chủ đề"
|
theme: "Chủ đề"
|
||||||
|
|
|
@ -258,6 +258,7 @@ remoteUserCaution: "由于此用户来自其它实例,显示的信息可能不
|
||||||
activity: "活动"
|
activity: "活动"
|
||||||
images: "图片"
|
images: "图片"
|
||||||
birthday: "生日"
|
birthday: "生日"
|
||||||
|
yearsOld: "{age}岁"
|
||||||
registeredDate: "注册于"
|
registeredDate: "注册于"
|
||||||
location: "位置"
|
location: "位置"
|
||||||
theme: "主题"
|
theme: "主题"
|
||||||
|
|
|
@ -258,6 +258,7 @@ remoteUserCaution: "由於該使用者來自遠端實例,因此資訊可能非
|
||||||
activity: "動態"
|
activity: "動態"
|
||||||
images: "圖片"
|
images: "圖片"
|
||||||
birthday: "生日"
|
birthday: "生日"
|
||||||
|
yearsOld: "{age}歲"
|
||||||
registeredDate: "註冊日期"
|
registeredDate: "註冊日期"
|
||||||
location: "位置"
|
location: "位置"
|
||||||
theme: "外觀主題"
|
theme: "外觀主題"
|
||||||
|
|
18
packages/client/src/components/birthday-date.vue
Normal file
18
packages/client/src/components/birthday-date.vue
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<template>
|
||||||
|
<MkTime format="date" mode="absolute" :time="birthday" :utc="true"/> ({{ $t('yearsOld', { age }) }})
|
||||||
|
</template>
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import MkTime from '@/components/global/time.vue';
|
||||||
|
|
||||||
|
const props = defineProps<{
|
||||||
|
birthday: Date | string;
|
||||||
|
}>();
|
||||||
|
|
||||||
|
const age = $computed(() => {
|
||||||
|
const now = new Date();
|
||||||
|
const birthday = (typeof props.birthday === 'string') ? new Date(props.birthday) : props.birthday;
|
||||||
|
|
||||||
|
return Math.floor((now.getTime() - birthday.getTime()) / 1000 / 31536000);
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
|
@ -51,7 +51,7 @@
|
||||||
</dl>
|
</dl>
|
||||||
<dl v-if="user.birthday" class="field">
|
<dl v-if="user.birthday" class="field">
|
||||||
<dt class="name"><i class="fas fa-birthday-cake fa-fw"></i> {{ i18n.ts.birthday }}</dt>
|
<dt class="name"><i class="fas fa-birthday-cake fa-fw"></i> {{ i18n.ts.birthday }}</dt>
|
||||||
<dd class="value"><MkTime format="date" mode="detail" :time="user.birthday" :utc="true"/></dd>
|
<dd class="value"><MkBirthdayDate :birthday="user.birthday"/></dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="field">
|
<dl class="field">
|
||||||
<dt class="name"><i class="fas fa-calendar-alt fa-fw"></i> {{ i18n.ts.registeredDate }}</dt>
|
<dt class="name"><i class="fas fa-calendar-alt fa-fw"></i> {{ i18n.ts.registeredDate }}</dt>
|
||||||
|
@ -112,6 +112,7 @@ import { defineAsyncComponent, onMounted, onUnmounted } from 'vue';
|
||||||
import * as misskey from 'foundkey-js';
|
import * as misskey from 'foundkey-js';
|
||||||
import XUserTimeline from './index.timeline.vue';
|
import XUserTimeline from './index.timeline.vue';
|
||||||
import XNote from '@/components/note.vue';
|
import XNote from '@/components/note.vue';
|
||||||
|
import MkBirthdayDate from '@/components/birthday-date.vue';
|
||||||
import MkFollowButton from '@/components/follow-button.vue';
|
import MkFollowButton from '@/components/follow-button.vue';
|
||||||
import MkRemoteCaution from '@/components/remote-caution.vue';
|
import MkRemoteCaution from '@/components/remote-caution.vue';
|
||||||
import MkInfo from '@/components/ui/info.vue';
|
import MkInfo from '@/components/ui/info.vue';
|
||||||
|
|
Loading…
Reference in a new issue