Merge branch 'develop' of codeberg.org:calckey/calckey into develop
This commit is contained in:
commit
102b57424e
|
@ -2157,3 +2157,6 @@ xl: XL
|
||||||
donationLink: Enllaç a la pàgina de donacions
|
donationLink: Enllaç a la pàgina de donacions
|
||||||
neverShow: No tornis a mostrar
|
neverShow: No tornis a mostrar
|
||||||
remindMeLater: Potser després
|
remindMeLater: Potser després
|
||||||
|
removeMember: Elimina el membre
|
||||||
|
removeQuote: Elimina la cita
|
||||||
|
removeRecipient: Elimina el destinatari
|
||||||
|
|
|
@ -105,7 +105,7 @@ privacy: "Privacy"
|
||||||
makeFollowManuallyApprove: "Follow requests require approval"
|
makeFollowManuallyApprove: "Follow requests require approval"
|
||||||
defaultNoteVisibility: "Default visibility"
|
defaultNoteVisibility: "Default visibility"
|
||||||
follow: "Follow"
|
follow: "Follow"
|
||||||
followRequest: "Follow"
|
followRequest: "Follow Request"
|
||||||
followRequests: "Follow requests"
|
followRequests: "Follow requests"
|
||||||
unfollow: "Unfollow"
|
unfollow: "Unfollow"
|
||||||
followRequestPending: "Follow request pending"
|
followRequestPending: "Follow request pending"
|
||||||
|
|
|
@ -1 +1,17 @@
|
||||||
{}
|
_lang_: Inglés
|
||||||
|
introMisskey: Benvida! Calckey é unha plataforma de medios sociais de código aberto,
|
||||||
|
descentralizada e gratuíta para sempre!🚀
|
||||||
|
monthAndDay: '{day}/{month}'
|
||||||
|
notifications: Notificacións
|
||||||
|
password: Contrasinal
|
||||||
|
forgotPassword: Esquecín o contrasinal
|
||||||
|
gotIt: Vale!
|
||||||
|
cancel: Cancelar
|
||||||
|
noThankYou: Non, grazas
|
||||||
|
headlineMisskey: Plataforma de medios sociais de código aberto e descentralizada,
|
||||||
|
gratuíta para sempre!🚀
|
||||||
|
search: Buscar
|
||||||
|
searchPlaceholder: Buscar en Calckey
|
||||||
|
username: Identificador
|
||||||
|
fetchingAsApObject: Descargando desde o Fediverso
|
||||||
|
ok: OK
|
||||||
|
|
|
@ -1,2 +1,83 @@
|
||||||
---
|
|
||||||
_lang_: "Norsk Bokmål"
|
_lang_: "Norsk Bokmål"
|
||||||
|
search: Søk
|
||||||
|
monthAndDay: '{day}/{month}'
|
||||||
|
fetchingAsApObject: Henter fra fediverset
|
||||||
|
ok: OK
|
||||||
|
gotIt: Jeg forstår!
|
||||||
|
profile: Profil
|
||||||
|
timeline: Tidslinje
|
||||||
|
save: Lagre
|
||||||
|
addToList: Legg til liste
|
||||||
|
searchPlaceholder: Søk Calckey
|
||||||
|
username: Brukernavn
|
||||||
|
password: Passord
|
||||||
|
notifications: Meldinger
|
||||||
|
forgotPassword: Glemt passord
|
||||||
|
cancel: Avbryt
|
||||||
|
noNotes: Ingen poster
|
||||||
|
instance: Server
|
||||||
|
settings: Innstillinger
|
||||||
|
noAccountDescription: Denne brukeren har ikke fylt ut bio'en sin ennå.
|
||||||
|
login: Logg inn
|
||||||
|
loggingIn: Logger inn
|
||||||
|
signup: Oppretter bruker
|
||||||
|
uploading: Laster opp..
|
||||||
|
enterUsername: Skriv inn brukernavn
|
||||||
|
noNotifications: Ingen meldinger
|
||||||
|
users: Brukere
|
||||||
|
addUser: Legg til en bruker
|
||||||
|
favorite: Legg til i bokmerker
|
||||||
|
cantFavorite: Kunne ikke legges til i bokmerker.
|
||||||
|
pin: Fest til profilen
|
||||||
|
copyContent: Kopier innhold
|
||||||
|
deleteAndEdit: Slett og rediger
|
||||||
|
sendMessage: Send en melding
|
||||||
|
copyUsername: Kopier brukernavn
|
||||||
|
reply: Svar
|
||||||
|
loadMore: Last mer
|
||||||
|
showLess: Lukk
|
||||||
|
receiveFollowRequest: Følgeforespørsel mottatt
|
||||||
|
directNotes: Direktemelding
|
||||||
|
importAndExport: Importer/eksporter data
|
||||||
|
importRequested: Du har bedt om en importering. Dette vil ta litt tid.
|
||||||
|
lists: Lister
|
||||||
|
listsDesc: Lister lar deg lage tidslinjer med utvalgte brukere. De kan hentes frem
|
||||||
|
fra tidslinje-siden.
|
||||||
|
deleted: Slettet
|
||||||
|
editNote: Rediger notat
|
||||||
|
followsYou: Følger deg
|
||||||
|
createList: Lag liste
|
||||||
|
newer: nyere
|
||||||
|
older: eldre
|
||||||
|
download: Last ned
|
||||||
|
unfollowConfirm: Er du sikker på at du ikke lenger vil følge {name}?
|
||||||
|
noLists: Du har ingen lister
|
||||||
|
following: Følger
|
||||||
|
files: Filer
|
||||||
|
note: Post
|
||||||
|
notes: Poster
|
||||||
|
followers: Følgere
|
||||||
|
otherSettings: Andre innstillinger
|
||||||
|
addInstance: Legg til en server
|
||||||
|
alreadyFavorited: Allerede lagt til i bokmerker.
|
||||||
|
delete: Slett
|
||||||
|
openInWindow: Åpne i vindu
|
||||||
|
basicSettings: Grunnleggende innstillinger
|
||||||
|
headlineMisskey: En desentralisert sosialt media-plattform, basert på åpen kildekode,
|
||||||
|
som alltid vil være gratis! 🚀
|
||||||
|
introMisskey: Velkommen! Calckey er en desentralisert sosialt media-plattform, basert
|
||||||
|
på åpen kildekode, som alltid vil være gratis! 🚀
|
||||||
|
exportRequested: Du har bedt om en eksportering. Dette vil ta litt tid. Den vil bli
|
||||||
|
lagt til på disken din når den er ferdig.
|
||||||
|
noThankYou: Nei takk
|
||||||
|
favorites: Bokmerker
|
||||||
|
unfavorite: Fjern fra bokmerker
|
||||||
|
favorited: Lagt til i bokmerker.
|
||||||
|
copyLink: Kopier lenke
|
||||||
|
searchUser: Søk etter en bruker
|
||||||
|
jumpToPrevious: Gå til foregående
|
||||||
|
showMore: Vis mer
|
||||||
|
followRequestAccepted: Følgeforespørsel godtatt
|
||||||
|
import: Importer
|
||||||
|
export: Eksporter
|
||||||
|
logout: Logger ut
|
||||||
|
|
|
@ -85,3 +85,28 @@ noLists: Você não possui nenhuma lista
|
||||||
following: Seguindo
|
following: Seguindo
|
||||||
followers: Seguidores
|
followers: Seguidores
|
||||||
followsYou: Segue você
|
followsYou: Segue você
|
||||||
|
fetchingAsApObject: Buscando do Fediverse
|
||||||
|
timeline: Linha do tempo
|
||||||
|
favorite: Adicionar aos marcadores
|
||||||
|
favorites: Marcadores
|
||||||
|
unfavorite: Remover dos marcadores
|
||||||
|
favorited: Adicionado aos marcadores.
|
||||||
|
alreadyFavorited: Já foi adicionado aos marcadores.
|
||||||
|
download: Download
|
||||||
|
pageLoadError: Ocorreu um erro ao carregar a página.
|
||||||
|
pageLoadErrorDescription: Isso normalmente é causado por erros de rede ou pelo cache
|
||||||
|
do navegador. Tente limpar o cache e, depois de esperar um pouquinho, tente novamente.
|
||||||
|
serverIsDead: Esse servidos não está respondendo. Por favor espere um pouco e tente
|
||||||
|
novamente.
|
||||||
|
youShouldUpgradeClient: Para visualizar essa página, favor reiniciar para atualizar
|
||||||
|
seu cliente.
|
||||||
|
enterListName: Insira um nome para a lista
|
||||||
|
privacy: Privacidade
|
||||||
|
defaultNoteVisibility: Visibilidade padrão
|
||||||
|
makeFollowManuallyApprove: Pedidos de seguimento precisam de aprovação
|
||||||
|
follow: Seguir
|
||||||
|
followRequest: Seguir
|
||||||
|
followRequests: Pedidos de seguimento
|
||||||
|
unfollow: Parar de seguir
|
||||||
|
followRequestPending: Pedido de seguimento pendente
|
||||||
|
enterEmoji: Insira um emoji
|
||||||
|
|
|
@ -453,6 +453,7 @@ export const UserRepository = db.getRepository(User).extend({
|
||||||
isAdmin: user.isAdmin || falsy,
|
isAdmin: user.isAdmin || falsy,
|
||||||
isModerator: user.isModerator || falsy,
|
isModerator: user.isModerator || falsy,
|
||||||
isBot: user.isBot || falsy,
|
isBot: user.isBot || falsy,
|
||||||
|
isLocked: user.isLocked,
|
||||||
isCat: user.isCat || falsy,
|
isCat: user.isCat || falsy,
|
||||||
speakAsCat: user.speakAsCat || falsy,
|
speakAsCat: user.speakAsCat || falsy,
|
||||||
instance: user.host
|
instance: user.host
|
||||||
|
@ -497,7 +498,6 @@ export const UserRepository = db.getRepository(User).extend({
|
||||||
: null,
|
: null,
|
||||||
bannerBlurhash: user.banner?.blurhash || null,
|
bannerBlurhash: user.banner?.blurhash || null,
|
||||||
bannerColor: null, // 後方互換性のため
|
bannerColor: null, // 後方互換性のため
|
||||||
isLocked: user.isLocked,
|
|
||||||
isSilenced: user.isSilenced || falsy,
|
isSilenced: user.isSilenced || falsy,
|
||||||
isSuspended: user.isSuspended || falsy,
|
isSuspended: user.isSuspended || falsy,
|
||||||
description: profile!.description,
|
description: profile!.description,
|
||||||
|
|
|
@ -1,13 +1,16 @@
|
||||||
<template>
|
<template>
|
||||||
<div v-size="{ max: [500] }" class="ssazuxis">
|
<section class="ssazuxis">
|
||||||
<header
|
<header
|
||||||
class="_button"
|
class="_button"
|
||||||
:style="{ background: bg }"
|
|
||||||
@click="showBody = !showBody"
|
@click="showBody = !showBody"
|
||||||
>
|
>
|
||||||
<div class="title"><slot name="header"></slot></div>
|
<div class="title"><slot name="header"></slot></div>
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
<button class="_button">
|
<button
|
||||||
|
class="_button"
|
||||||
|
:aria-expanded="showBody"
|
||||||
|
:aria-controls="bodyId"
|
||||||
|
>
|
||||||
<template v-if="showBody"
|
<template v-if="showBody"
|
||||||
><i class="ph-caret-up ph-bold ph-lg"></i
|
><i class="ph-caret-up ph-bold ph-lg"></i
|
||||||
></template>
|
></template>
|
||||||
|
@ -23,16 +26,16 @@
|
||||||
@leave="leave"
|
@leave="leave"
|
||||||
@after-leave="afterLeave"
|
@after-leave="afterLeave"
|
||||||
>
|
>
|
||||||
<div v-show="showBody">
|
<div v-show="showBody" :id="bodyId">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
</transition>
|
</transition>
|
||||||
</div>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent } from "vue";
|
import { defineComponent } from "vue";
|
||||||
import tinycolor from "tinycolor2";
|
import { getUniqueId } from "@/os";
|
||||||
|
|
||||||
const localStoragePrefix = "ui:folder:";
|
const localStoragePrefix = "ui:folder:";
|
||||||
|
|
||||||
|
@ -51,7 +54,7 @@ export default defineComponent({
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
bg: null,
|
bodyId: getUniqueId(),
|
||||||
showBody:
|
showBody:
|
||||||
this.persistKey &&
|
this.persistKey &&
|
||||||
localStorage.getItem(localStoragePrefix + this.persistKey)
|
localStorage.getItem(localStoragePrefix + this.persistKey)
|
||||||
|
@ -71,27 +74,6 @@ export default defineComponent({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
|
||||||
function getParentBg(el: Element | null): string {
|
|
||||||
if (el == null || el.tagName === "BODY") return "var(--bg)";
|
|
||||||
const bg = el.style.background || el.style.backgroundColor;
|
|
||||||
if (bg) {
|
|
||||||
return bg;
|
|
||||||
} else {
|
|
||||||
return getParentBg(el.parentElement);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const rawBg = getParentBg(this.$el);
|
|
||||||
const bg = tinycolor(
|
|
||||||
rawBg.startsWith("var(")
|
|
||||||
? getComputedStyle(document.documentElement).getPropertyValue(
|
|
||||||
rawBg.slice(4, -1),
|
|
||||||
)
|
|
||||||
: rawBg,
|
|
||||||
);
|
|
||||||
bg.setAlpha(0.85);
|
|
||||||
this.bg = bg.toRgbString();
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
toggleContent(show: boolean) {
|
toggleContent(show: boolean) {
|
||||||
this.showBody = show;
|
this.showBody = show;
|
||||||
|
@ -161,6 +143,15 @@ export default defineComponent({
|
||||||
transparent
|
transparent
|
||||||
);
|
);
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
background: var(--bg);
|
||||||
|
opacity: 0.85;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
> .title {
|
> .title {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 12px 16px 12px 0;
|
padding: 12px 16px 12px 0;
|
||||||
|
@ -185,13 +176,5 @@ export default defineComponent({
|
||||||
padding: 12px 0 12px 16px;
|
padding: 12px 0 12px 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.max-width_500px {
|
|
||||||
> header {
|
|
||||||
> .title {
|
|
||||||
padding: 8px 10px 8px 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="!isFollowing && user.isLocked">
|
<template v-else-if="!isFollowing && user.isLocked">
|
||||||
<span>{{ (state = i18n.ts.followRequest) }}</span
|
<span>{{ (state = i18n.ts.followRequest) }}</span
|
||||||
><i class="ph-plus ph-bold ph-lg"></i>
|
><i class="ph-lock-open ph-bold ph-lg"></i>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="!isFollowing && !user.isLocked">
|
<template v-else-if="!isFollowing && !user.isLocked">
|
||||||
<span>{{ (state = i18n.ts.follow) }}</span
|
<span>{{ (state = i18n.ts.follow) }}</span
|
||||||
|
|
|
@ -33,7 +33,12 @@
|
||||||
detailedView
|
detailedView
|
||||||
></MkNote>
|
></MkNote>
|
||||||
|
|
||||||
<MkTab v-model="tab" :style="'underline'" @update:modelValue="loadTab">
|
<MkTab
|
||||||
|
v-model="tab"
|
||||||
|
style="white-space: nowrap"
|
||||||
|
:style="'underline'"
|
||||||
|
@update:modelValue="loadTab"
|
||||||
|
>
|
||||||
<option value="replies">
|
<option value="replies">
|
||||||
<!-- <i class="ph-arrow-u-up-left ph-bold ph-lg"></i> -->
|
<!-- <i class="ph-arrow-u-up-left ph-bold ph-lg"></i> -->
|
||||||
<span v-if="note.repliesCount > 0" class="count">{{
|
<span v-if="note.repliesCount > 0" class="count">{{
|
||||||
|
|
|
@ -93,7 +93,7 @@ const props = defineProps<{
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
let isLong = $ref(
|
let isLong = $ref(
|
||||||
props.detailed &&
|
props.detailed && props.user.description &&
|
||||||
(props.user.description.split("\n").length > 9 ||
|
(props.user.description.split("\n").length > 9 ||
|
||||||
props.user.description.length > 400),
|
props.user.description.length > 400),
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue