mirror of
https://iceshrimp.dev/crimekillz/trashposs
synced 2024-11-21 16:33:48 +01:00
"My Space" Unified Achievements, Reels and Journal
This commit is contained in:
parent
41f539ad93
commit
aeef0feb99
@ -351,7 +351,7 @@ today: "Heute"
|
|||||||
dayX: "{day}"
|
dayX: "{day}"
|
||||||
monthX: "{month}"
|
monthX: "{month}"
|
||||||
yearX: "{year}"
|
yearX: "{year}"
|
||||||
pages: "Nutzer-Seiten"
|
pages: "Journal"
|
||||||
integration: "Integration"
|
integration: "Integration"
|
||||||
connectService: "Verbinden"
|
connectService: "Verbinden"
|
||||||
disconnectService: "Trennen"
|
disconnectService: "Trennen"
|
||||||
@ -372,9 +372,9 @@ basicInfo: "Grundlegende Informationen"
|
|||||||
pinnedUsers: "Angeheftete Nutzer"
|
pinnedUsers: "Angeheftete Nutzer"
|
||||||
pinnedUsersDescription: "Gib durch Leerzeichen getrennte Nutzer an, die an die \"\
|
pinnedUsersDescription: "Gib durch Leerzeichen getrennte Nutzer an, die an die \"\
|
||||||
Erkunden\"-Seite angeheftet werden sollen."
|
Erkunden\"-Seite angeheftet werden sollen."
|
||||||
pinnedPages: "Angeheftete Nutzer-Seiten"
|
pinnedPages: "Angeheftete Journal-Einträge"
|
||||||
pinnedPagesDescription: "Geben Sie die Dateipfade, getrennt durch Zeilenumbrüche,
|
pinnedPagesDescription: "Geben Sie die Dateipfade, getrennt durch Zeilenumbrüche,
|
||||||
derjenigen Seiten ein, die Sie an die obere Seitenbegrenzung des Servers anpinnen
|
derjenigen Journal-Einträge ein, die Sie an die obere Seitenbegrenzung des Servers anpinnen
|
||||||
möchten."
|
möchten."
|
||||||
pinnedClipId: "ID des anzuheftenden Clips"
|
pinnedClipId: "ID des anzuheftenden Clips"
|
||||||
pinnedNotes: "Angeheftete Beiträge"
|
pinnedNotes: "Angeheftete Beiträge"
|
||||||
@ -582,7 +582,7 @@ scratchpadDescription: "Die Testumgebung bietet einen Bereich für AiScript-Expe
|
|||||||
überprüfen."
|
überprüfen."
|
||||||
output: "Ausgabe"
|
output: "Ausgabe"
|
||||||
script: "Skript"
|
script: "Skript"
|
||||||
disablePagesScript: "AiScript auf Seiten deaktivieren"
|
disablePagesScript: "AiScript in Journal-Einträgen deaktivieren"
|
||||||
updateRemoteUser: "Nutzerinformationen aktualisieren"
|
updateRemoteUser: "Nutzerinformationen aktualisieren"
|
||||||
deleteAllFiles: "Alle Dateien löschen"
|
deleteAllFiles: "Alle Dateien löschen"
|
||||||
deleteAllFilesConfirm: "Möchtest du wirklich alle Dateien löschen?"
|
deleteAllFilesConfirm: "Möchtest du wirklich alle Dateien löschen?"
|
||||||
@ -686,21 +686,21 @@ setMultipleBySeparatingWithSpace: "Trenne Elemente durch ein Leerzeichen um mehr
|
|||||||
fileIdOrUrl: "Datei-ID oder URL"
|
fileIdOrUrl: "Datei-ID oder URL"
|
||||||
behavior: "Verhalten"
|
behavior: "Verhalten"
|
||||||
sample: "Beispiel"
|
sample: "Beispiel"
|
||||||
abuseReports: "Meldungen"
|
abuseReports: "Anzeigen"
|
||||||
reportAbuse: "Melden"
|
reportAbuse: "Anzeigen!"
|
||||||
reportAbuseOf: "{name} melden"
|
reportAbuseOf: "{name} anzeigen"
|
||||||
fillAbuseReportDescription: "Bitte gib zusätzliche Informationen zu dieser Meldung
|
fillAbuseReportDescription: "Bitte gib zusätzliche Informationen zu dieser Anzeige
|
||||||
an. Falls es sich um einen ungewöhnlichen Beitrag handelt, gib bitte dessen URL
|
an. Falls es sich um einen ungewöhnlichen Beitrag handelt, gib bitte dessen URL
|
||||||
an."
|
an."
|
||||||
abuseReported: "Deine Meldung wurde versendet. Vielen Dank."
|
abuseReported: "Deine Meldung wurde versendet. Vielen Dank."
|
||||||
reporter: "Melder"
|
reporter: "Anzeiger"
|
||||||
reporteeOrigin: "Herkunft des Gemeldeten"
|
reporteeOrigin: "Herkunft des Angezeigten"
|
||||||
reporterOrigin: "Herkunft des Meldenden"
|
reporterOrigin: "Herkunft des Anzeigers"
|
||||||
forwardReport: "Meldung auch an den mit-beteiligten Server weiterleiten"
|
forwardReport: "Anzeige auch an den mit-beteiligten Server weiterleiten"
|
||||||
forwardReportIsAnonymous: "Anstelle deines Nutzerkontos wird ein anonymes Systemkonto
|
forwardReportIsAnonymous: "Anstelle deines Nutzerkontos wird ein anonymes Systemkonto
|
||||||
als Hinweisgeber auf dem mit-beteiligten Server angezeigt."
|
als Hinweisgeber auf dem mit-beteiligten Server angezeigt."
|
||||||
send: "Senden"
|
send: "Senden"
|
||||||
abuseMarkAsResolved: "Meldung als gelöst markieren"
|
abuseMarkAsResolved: "Anzeige als gelöst markieren"
|
||||||
openInNewTab: "In neuem Tab öffnen"
|
openInNewTab: "In neuem Tab öffnen"
|
||||||
openInSideView: "In Seitenansicht öffnen"
|
openInSideView: "In Seitenansicht öffnen"
|
||||||
defaultNavigationBehaviour: "Standardnavigationsverhalten"
|
defaultNavigationBehaviour: "Standardnavigationsverhalten"
|
||||||
@ -851,8 +851,8 @@ switch: "Wechseln"
|
|||||||
noMaintainerInformationWarning: "Betreiberinformationen sind nicht konfiguriert."
|
noMaintainerInformationWarning: "Betreiberinformationen sind nicht konfiguriert."
|
||||||
noBotProtectionWarning: "Schutz vor Bots ist nicht konfiguriert."
|
noBotProtectionWarning: "Schutz vor Bots ist nicht konfiguriert."
|
||||||
configure: "Konfigurieren"
|
configure: "Konfigurieren"
|
||||||
postToGallery: "Erstelle einen neuen Beitrag zur Bilder-Galerie"
|
postToGallery: "Poste einen neuen Reel"
|
||||||
gallery: "Bilder-Galerie"
|
gallery: "Reels"
|
||||||
recentPosts: "Neue Beiträge"
|
recentPosts: "Neue Beiträge"
|
||||||
popularPosts: "Beliebte Beiträge"
|
popularPosts: "Beliebte Beiträge"
|
||||||
shareWithNote: "Mit Beitrag teilen"
|
shareWithNote: "Mit Beitrag teilen"
|
||||||
@ -947,7 +947,7 @@ file: "Datei"
|
|||||||
recentNHours: "Die letzten {n} Stunden"
|
recentNHours: "Die letzten {n} Stunden"
|
||||||
recentNDays: "Die letzten {n} Tage"
|
recentNDays: "Die letzten {n} Tage"
|
||||||
noEmailServerWarning: "Es ist kein Email-Server konfiguriert."
|
noEmailServerWarning: "Es ist kein Email-Server konfiguriert."
|
||||||
thereIsUnresolvedAbuseReportWarning: "Es liegen ungelöste Meldungen vor."
|
thereIsUnresolvedAbuseReportWarning: "Es liegen ungelöste Anzeigen vor."
|
||||||
recommended: "Favoriten"
|
recommended: "Favoriten"
|
||||||
check: "Kontrolle"
|
check: "Kontrolle"
|
||||||
driveCapOverrideLabel: "Die Cloud-Drive-Kapazität dieses Nutzers verändern"
|
driveCapOverrideLabel: "Die Cloud-Drive-Kapazität dieses Nutzers verändern"
|
||||||
@ -1052,8 +1052,8 @@ _forgotPassword:
|
|||||||
contactAdmin: "Dieser Server unterstützt keine Verwendung von Email-Adressen. Kontaktiere
|
contactAdmin: "Dieser Server unterstützt keine Verwendung von Email-Adressen. Kontaktiere
|
||||||
bitte den Server-Administrator, um dein Passwort zurücksetzen zu lassen."
|
bitte den Server-Administrator, um dein Passwort zurücksetzen zu lassen."
|
||||||
_gallery:
|
_gallery:
|
||||||
my: "Meine Bilder-Galerie"
|
my: "Meine Reels"
|
||||||
liked: "Mit \"Gefällt mir\" markierte Beiträge"
|
liked: "Mit \"Gefällt mir\" markierte Reels"
|
||||||
like: "Gefällt mir"
|
like: "Gefällt mir"
|
||||||
unlike: "\"Gefällt mir\" entfernen"
|
unlike: "\"Gefällt mir\" entfernen"
|
||||||
_email:
|
_email:
|
||||||
@ -1614,33 +1614,33 @@ _timelines:
|
|||||||
global: "Global-TL"
|
global: "Global-TL"
|
||||||
recommended: Admin-Favoriten
|
recommended: Admin-Favoriten
|
||||||
_pages:
|
_pages:
|
||||||
newPage: "Neue Seite erstellen"
|
newPage: "Journal-Eintrag erstellen"
|
||||||
editPage: "Seite bearbeiten"
|
editPage: "Journal bearbeiten"
|
||||||
readPage: "Quelltextansicht"
|
readPage: "Quelltextansicht"
|
||||||
created: "Seite erfolgreich erstellt"
|
created: "Journal-Eintrag erfolgreich erstellt"
|
||||||
updated: "Seite erfolgreich aktualisiert"
|
updated: "Journal-Eintrag erfolgreich aktualisiert"
|
||||||
deleted: "Seite erfolgreich gelöscht"
|
deleted: "Journal-Eintrag erfolgreich gelöscht"
|
||||||
pageSetting: "Seiteneinstellungen"
|
pageSetting: "Journal-Einstellungen"
|
||||||
nameAlreadyExists: "Die angegebene Seiten-URL existiert bereits"
|
nameAlreadyExists: "Die angegebene Journal-URL existiert bereits"
|
||||||
invalidNameTitle: "Die angegebene Seiten-URL ist ungültig"
|
invalidNameTitle: "Die angegebene Journal-URL ist ungültig"
|
||||||
invalidNameText: "Überprüfe, ob der Seitentitel nicht leer ist"
|
invalidNameText: "Überprüfe, ob der Journaltitel nicht leer ist"
|
||||||
editThisPage: "Diese Seite bearbeiten"
|
editThisPage: "Dieses Journal bearbeiten"
|
||||||
viewSource: "Quelltext anzeigen"
|
viewSource: "Quelltext anzeigen"
|
||||||
viewPage: "Seite anschauen"
|
viewPage: "Journal anschauen"
|
||||||
like: "Gefällt mir"
|
like: "Gefällt mir"
|
||||||
unlike: "\"Gefällt mir\" entfernen"
|
unlike: "\"Gefällt mir\" entfernen"
|
||||||
my: "Meine Nutzer-Seiten"
|
my: "Mein Journal"
|
||||||
liked: "Nutzer-Seiten, die mir gefallen"
|
liked: "Journals, die mir gefallen"
|
||||||
featured: "Beliebt"
|
featured: "Beliebt"
|
||||||
inspector: "Inspektor"
|
inspector: "Inspektor"
|
||||||
contents: "Inhalte"
|
contents: "Inhalte"
|
||||||
content: "Seitenblock"
|
content: "Journalblock"
|
||||||
variables: "Variablen"
|
variables: "Variablen"
|
||||||
title: "Titel"
|
title: "Titel"
|
||||||
url: "Nutzer-Seiten-URL"
|
url: "Nutzer-Journal-URL"
|
||||||
summary: "Zusammenfassung"
|
summary: "Zusammenfassung"
|
||||||
alignCenter: "Zentrieren"
|
alignCenter: "Zentrieren"
|
||||||
hideTitleWhenPinned: "Nutzer-Seitentitel wenn angeheftet ausblenden"
|
hideTitleWhenPinned: "Journaltitel wenn angeheftet ausblenden"
|
||||||
font: "Schriftart"
|
font: "Schriftart"
|
||||||
fontSerif: "Serif"
|
fontSerif: "Serif"
|
||||||
fontSansSerif: "sans-serif"
|
fontSansSerif: "sans-serif"
|
||||||
@ -1902,7 +1902,7 @@ _pages:
|
|||||||
stringArray: "Textliste"
|
stringArray: "Textliste"
|
||||||
emptySlot: "Leerer Slot"
|
emptySlot: "Leerer Slot"
|
||||||
enviromentVariables: "Umgebungsvariable"
|
enviromentVariables: "Umgebungsvariable"
|
||||||
pageVariables: "Seitenelemente"
|
pageVariables: "Journalelemente"
|
||||||
argVariables: "Eingabeslots"
|
argVariables: "Eingabeslots"
|
||||||
_relayStatus:
|
_relayStatus:
|
||||||
requesting: "Ausstehend"
|
requesting: "Ausstehend"
|
||||||
@ -2205,6 +2205,7 @@ youHaveUnreadAnnouncements: Du hast ungelesene Bekanntmachungen
|
|||||||
donationLink: Link zur Spendenseite
|
donationLink: Link zur Spendenseite
|
||||||
neverShow: Nicht mehr anzeigen
|
neverShow: Nicht mehr anzeigen
|
||||||
remindMeLater: Vielleicht später
|
remindMeLater: Vielleicht später
|
||||||
|
space: "Space"
|
||||||
removeQuote: Zitat entfernen
|
removeQuote: Zitat entfernen
|
||||||
removeRecipient: Empfänger entfernen
|
removeRecipient: Empfänger entfernen
|
||||||
removeMember: Mitglied entfernen
|
removeMember: Mitglied entfernen
|
||||||
|
@ -375,7 +375,7 @@ today: "Today"
|
|||||||
dayX: "{day}"
|
dayX: "{day}"
|
||||||
monthX: "{month}"
|
monthX: "{month}"
|
||||||
yearX: "{year}"
|
yearX: "{year}"
|
||||||
pages: "Pages"
|
pages: "Journal"
|
||||||
integration: "Integrations"
|
integration: "Integrations"
|
||||||
connectService: "Connect"
|
connectService: "Connect"
|
||||||
disconnectService: "Disconnect"
|
disconnectService: "Disconnect"
|
||||||
@ -397,8 +397,8 @@ basicInfo: "Basic info"
|
|||||||
pinnedUsers: "Pinned users"
|
pinnedUsers: "Pinned users"
|
||||||
pinnedUsersDescription: "List usernames separated by line breaks to be pinned in the
|
pinnedUsersDescription: "List usernames separated by line breaks to be pinned in the
|
||||||
\"Explore\" tab."
|
\"Explore\" tab."
|
||||||
pinnedPages: "Pinned Pages"
|
pinnedPages: "Pinned Journal entries"
|
||||||
pinnedPagesDescription: "Enter the paths of the Pages you want to pin to the top page
|
pinnedPagesDescription: "Enter the paths of the Journal entries you want to pin to the top page
|
||||||
of this server, separated by line breaks."
|
of this server, separated by line breaks."
|
||||||
pinnedClipId: "ID of the clip to pin"
|
pinnedClipId: "ID of the clip to pin"
|
||||||
pinnedNotes: "Pinned posts"
|
pinnedNotes: "Pinned posts"
|
||||||
@ -608,7 +608,7 @@ scratchpadDescription: "The scratchpad provides an environment for AiScript expe
|
|||||||
it."
|
it."
|
||||||
output: "Output"
|
output: "Output"
|
||||||
script: "Script"
|
script: "Script"
|
||||||
disablePagesScript: "Disable AiScript on Pages"
|
disablePagesScript: "Disable AiScript in Journal entries"
|
||||||
expandOnNoteClick: "Open post on click"
|
expandOnNoteClick: "Open post on click"
|
||||||
expandOnNoteClickDesc: "If disabled, you can still open posts in the right-click menu
|
expandOnNoteClickDesc: "If disabled, you can still open posts in the right-click menu
|
||||||
or by clicking the timestamp."
|
or by clicking the timestamp."
|
||||||
@ -881,8 +881,8 @@ switch: "Switch"
|
|||||||
noMaintainerInformationWarning: "Maintainer information is not configured."
|
noMaintainerInformationWarning: "Maintainer information is not configured."
|
||||||
noBotProtectionWarning: "Bot protection is not configured."
|
noBotProtectionWarning: "Bot protection is not configured."
|
||||||
configure: "Configure"
|
configure: "Configure"
|
||||||
postToGallery: "Create new gallery post"
|
postToGallery: "Create new reel"
|
||||||
gallery: "Gallery"
|
gallery: "Reel"
|
||||||
recentPosts: "Recent pages"
|
recentPosts: "Recent pages"
|
||||||
popularPosts: "Popular pages"
|
popularPosts: "Popular pages"
|
||||||
shareWithNote: "Share with post"
|
shareWithNote: "Share with post"
|
||||||
@ -1142,6 +1142,7 @@ biteBack: "Chomp back"
|
|||||||
bittenBack: "Chomped back"
|
bittenBack: "Chomped back"
|
||||||
bitYou: "chomped you"
|
bitYou: "chomped you"
|
||||||
bitYouBack: "chomped you back"
|
bitYouBack: "chomped you back"
|
||||||
|
space: "Space"
|
||||||
achievements: "Achievements"
|
achievements: "Achievements"
|
||||||
_achievements:
|
_achievements:
|
||||||
earnedAt: "Earn date and time"
|
earnedAt: "Earn date and time"
|
||||||
@ -1407,8 +1408,8 @@ _forgotPassword:
|
|||||||
contactAdmin: "This server does not support using email addresses, please contact
|
contactAdmin: "This server does not support using email addresses, please contact
|
||||||
the server administrator to reset your password instead."
|
the server administrator to reset your password instead."
|
||||||
_gallery:
|
_gallery:
|
||||||
my: "My Gallery"
|
my: "My Reels"
|
||||||
liked: "Liked Posts"
|
liked: "Liked Reels"
|
||||||
like: "Like"
|
like: "Like"
|
||||||
unlike: "Remove like"
|
unlike: "Remove like"
|
||||||
_email:
|
_email:
|
||||||
@ -2007,33 +2008,33 @@ _timelines:
|
|||||||
social: "Social"
|
social: "Social"
|
||||||
global: "Global"
|
global: "Global"
|
||||||
_pages:
|
_pages:
|
||||||
newPage: "Create a new Page"
|
newPage: "Create a Journal entry"
|
||||||
editPage: "Edit this Page"
|
editPage: "Edit this Journal entry"
|
||||||
readPage: "Viewing this Page's source"
|
readPage: "Viewing this Journal's source"
|
||||||
created: "Page successfully created"
|
created: "Journal entry successfully created"
|
||||||
updated: "Page successfully edited"
|
updated: "Journal entry successfully edited"
|
||||||
deleted: "Page successfully deleted"
|
deleted: "Journal entry successfully deleted"
|
||||||
pageSetting: "Page settings"
|
pageSetting: "Journal settings"
|
||||||
nameAlreadyExists: "The specified Page URL already exists"
|
nameAlreadyExists: "The specified Journal URL already exists"
|
||||||
invalidNameTitle: "The specified Page URL is invalid"
|
invalidNameTitle: "The specified Journal URL is invalid"
|
||||||
invalidNameText: "Make sure the Page title is not empty"
|
invalidNameText: "Make sure the Journal title is not empty"
|
||||||
editThisPage: "Edit this Page"
|
editThisPage: "Edit this Journal entry"
|
||||||
viewSource: "View source"
|
viewSource: "View source"
|
||||||
viewPage: "View your Pages"
|
viewPage: "View your Journal"
|
||||||
like: "Like"
|
like: "Like"
|
||||||
unlike: "Remove like"
|
unlike: "Remove like"
|
||||||
my: "My Pages"
|
my: "My Journal"
|
||||||
liked: "Liked Pages"
|
liked: "Liked Journals"
|
||||||
featured: "Popular"
|
featured: "Popular"
|
||||||
inspector: "Inspector"
|
inspector: "Inspector"
|
||||||
contents: "Content"
|
contents: "Content"
|
||||||
content: "Page block"
|
content: "Journal block"
|
||||||
variables: "Variables"
|
variables: "Variables"
|
||||||
title: "Title"
|
title: "Title"
|
||||||
url: "Page URL"
|
url: "Journal URL"
|
||||||
summary: "Page summary"
|
summary: "Journal summary"
|
||||||
alignCenter: "Center elements"
|
alignCenter: "Center elements"
|
||||||
hideTitleWhenPinned: "Hide Page title when pinned to profile"
|
hideTitleWhenPinned: "Hide Journal title when pinned to profile"
|
||||||
font: "Font"
|
font: "Font"
|
||||||
fontSerif: "Serif"
|
fontSerif: "Serif"
|
||||||
fontSansSerif: "Sans Serif"
|
fontSansSerif: "Sans Serif"
|
||||||
@ -2294,7 +2295,7 @@ _pages:
|
|||||||
stringArray: "Text list"
|
stringArray: "Text list"
|
||||||
emptySlot: "Empty slot"
|
emptySlot: "Empty slot"
|
||||||
enviromentVariables: "Environment variables"
|
enviromentVariables: "Environment variables"
|
||||||
pageVariables: "Page variables"
|
pageVariables: "Journal variables"
|
||||||
argVariables: "Input slots"
|
argVariables: "Input slots"
|
||||||
_relayStatus:
|
_relayStatus:
|
||||||
requesting: "Pending"
|
requesting: "Pending"
|
||||||
|
@ -793,8 +793,8 @@ switch: "切り替え"
|
|||||||
noMaintainerInformationWarning: "管理者情報が設定されていません。"
|
noMaintainerInformationWarning: "管理者情報が設定されていません。"
|
||||||
noBotProtectionWarning: "Botプロテクションが設定されていません。"
|
noBotProtectionWarning: "Botプロテクションが設定されていません。"
|
||||||
configure: "設定する"
|
configure: "設定する"
|
||||||
postToGallery: "ギャラリーへ投稿"
|
postToGallery: "新しい Reel を作成する"
|
||||||
gallery: "ギャラリー"
|
gallery: "Reel"
|
||||||
recentPosts: "最近の投稿"
|
recentPosts: "最近の投稿"
|
||||||
popularPosts: "人気の投稿"
|
popularPosts: "人気の投稿"
|
||||||
shareWithNote: "投稿で共有"
|
shareWithNote: "投稿で共有"
|
||||||
@ -988,6 +988,7 @@ showWithSparkles: "タイトルをキラキラさせる"
|
|||||||
youHaveUnreadAnnouncements: "未読のお知らせがあります"
|
youHaveUnreadAnnouncements: "未読のお知らせがあります"
|
||||||
neverShow: "今後表示しない"
|
neverShow: "今後表示しない"
|
||||||
remindMeLater: "また後で"
|
remindMeLater: "また後で"
|
||||||
|
space: "スペース"
|
||||||
achievements: "実績"
|
achievements: "実績"
|
||||||
|
|
||||||
_achievements:
|
_achievements:
|
||||||
@ -1242,8 +1243,8 @@ _forgotPassword:
|
|||||||
ifNoEmail: "メールアドレスを登録していない場合は、管理者までお問い合わせください。"
|
ifNoEmail: "メールアドレスを登録していない場合は、管理者までお問い合わせください。"
|
||||||
contactAdmin: "このインスタンスではメールアドレスの登録がサポートされていないため、パスワードリセットを行う場合は管理者までお問い合わせください。"
|
contactAdmin: "このインスタンスではメールアドレスの登録がサポートされていないため、パスワードリセットを行う場合は管理者までお問い合わせください。"
|
||||||
_gallery:
|
_gallery:
|
||||||
my: "自分の投稿"
|
my: "私の Reels"
|
||||||
liked: "いいねした投稿"
|
liked: "好きな Reel"
|
||||||
like: "いいね!"
|
like: "いいね!"
|
||||||
unlike: "いいね解除"
|
unlike: "いいね解除"
|
||||||
_email:
|
_email:
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
import { userName } from "@/filters/user";
|
import { userName } from "@/filters/user";
|
||||||
import { ui } from "@/config";
|
import { ui } from "@/config";
|
||||||
|
|
||||||
defineProps<{
|
const props = defineProps<{
|
||||||
page: any;
|
page: any;
|
||||||
}>();
|
}>();
|
||||||
</script>
|
</script>
|
||||||
|
@ -71,6 +71,12 @@ export const navbarItemDef = reactive({
|
|||||||
show: computed(() => $i != null),
|
show: computed(() => $i != null),
|
||||||
to: "/my/achievements",
|
to: "/my/achievements",
|
||||||
},
|
},
|
||||||
|
space: {
|
||||||
|
title: "space",
|
||||||
|
icon: "ph-rocket-launch ph-bold ph-lg",
|
||||||
|
show: computed(() => $i != null),
|
||||||
|
to: "/my/space",
|
||||||
|
},
|
||||||
ui: {
|
ui: {
|
||||||
title: "switchUi",
|
title: "switchUi",
|
||||||
icon: "ph-layout ph-bold ph-lg",
|
icon: "ph-layout ph-bold ph-lg",
|
||||||
|
@ -127,7 +127,7 @@ async function del() {
|
|||||||
await os.apiWithDialog("gallery/posts/delete", {
|
await os.apiWithDialog("gallery/posts/delete", {
|
||||||
postId: props.postId,
|
postId: props.postId,
|
||||||
});
|
});
|
||||||
router.push("/gallery");
|
router.push("/my/space");
|
||||||
}
|
}
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
|
180
packages/client/src/pages/my-space/index.vue
Normal file
180
packages/client/src/pages/my-space/index.vue
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
<template>
|
||||||
|
<MkStickyContainer>
|
||||||
|
<template #header>
|
||||||
|
<MkPageHeader
|
||||||
|
v-model:tab="tab"
|
||||||
|
:actions="headerActions"
|
||||||
|
:tabs="headerTabs" />
|
||||||
|
</template>
|
||||||
|
<div>
|
||||||
|
<MkSpacer :content-max="1200">
|
||||||
|
<swiper
|
||||||
|
:round-lengths="true"
|
||||||
|
:touch-angle="25"
|
||||||
|
:threshold="10"
|
||||||
|
:centeredSlides="true"
|
||||||
|
:modules="[Virtual]"
|
||||||
|
:space-between="20"
|
||||||
|
:virtual="true"
|
||||||
|
:allow-touch-move="
|
||||||
|
defaultStore.state.swipeOnMobile &&
|
||||||
|
(deviceKind !== 'desktop' ||
|
||||||
|
defaultStore.state.swipeOnDesktop)
|
||||||
|
"
|
||||||
|
@swiper="setSwiperRef"
|
||||||
|
@slide-change="onSlideChange"
|
||||||
|
>
|
||||||
|
<swiper-slide>
|
||||||
|
<div class="_content yweeujhr achievements">
|
||||||
|
<XAchievements v-if="tab === 'achievements'" :user="$i"/>
|
||||||
|
</div>
|
||||||
|
</swiper-slide>
|
||||||
|
<swiper-slide>
|
||||||
|
<div class="_content yweeujhr reels">
|
||||||
|
<div class="buttoncontainer">
|
||||||
|
<MkButton class="new primary" @click="createReel()"
|
||||||
|
><i class="ph-plus ph-bold ph-lg"></i>
|
||||||
|
{{ i18n.ts.postToGallery }}</MkButton
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<XGallery v-if="tab === 'reels'" :user="$i" />
|
||||||
|
</div>
|
||||||
|
</swiper-slide>
|
||||||
|
<swiper-slide>
|
||||||
|
<div class="_content yweeujhr journal">
|
||||||
|
<div class="buttoncontainer">
|
||||||
|
<MkButton class="new primary" @click="createJournal()"
|
||||||
|
><i class="ph-plus ph-bold ph-lg"></i>
|
||||||
|
{{ i18n.ts._pages.newPage }}</MkButton
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<XPages v-if="tab === 'journal'" :user="$i" />
|
||||||
|
</div>
|
||||||
|
</swiper-slide>
|
||||||
|
</swiper>
|
||||||
|
</MkSpacer>
|
||||||
|
</div>
|
||||||
|
</MkStickyContainer>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { defineAsyncComponent, ref, onMounted, onActivated, watch } from 'vue';
|
||||||
|
import { Virtual } from "swiper/modules";
|
||||||
|
import { Swiper, SwiperSlide } from "swiper/vue";
|
||||||
|
import MkButton from "@/components/MkButton.vue";
|
||||||
|
import { useRouter } from "@/router";
|
||||||
|
import { i18n } from '@/i18n';
|
||||||
|
import { definePageMetadata } from '@/scripts/page-metadata';
|
||||||
|
import { $i } from "@/account";
|
||||||
|
import { deviceKind } from "@/scripts/device-kind";
|
||||||
|
import { defaultStore } from "@/store";
|
||||||
|
import "swiper/scss";
|
||||||
|
import "swiper/scss/virtual";
|
||||||
|
|
||||||
|
definePageMetadata({
|
||||||
|
title: i18n.ts.space,
|
||||||
|
icon: 'ph-rocket-launch ph-bold ph-lg',
|
||||||
|
});
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
|
const XAchievements = defineAsyncComponent(() => import('../user/achievements.vue'));
|
||||||
|
const XPages = defineAsyncComponent(() => import("../user/pages.vue"));
|
||||||
|
const XGallery = defineAsyncComponent(() => import("../user/gallery.vue"));
|
||||||
|
|
||||||
|
const tabs = ["achievements", "reels", "journal"];
|
||||||
|
let tab = $ref(tabs[0]);
|
||||||
|
watch($$(tab), () => syncSlide(tabs.indexOf(tab)));
|
||||||
|
|
||||||
|
const MOBILE_THRESHOLD = 500;
|
||||||
|
const isMobile = ref(
|
||||||
|
deviceKind === "smartphone" || window.innerWidth <= MOBILE_THRESHOLD,
|
||||||
|
);
|
||||||
|
window.addEventListener("resize", () => {
|
||||||
|
isMobile.value =
|
||||||
|
deviceKind === "smartphone" || window.innerWidth <= MOBILE_THRESHOLD;
|
||||||
|
});
|
||||||
|
|
||||||
|
const headerActions = $computed(() => []);
|
||||||
|
|
||||||
|
const headerTabs = $computed(() => [
|
||||||
|
{
|
||||||
|
key: "achievements",
|
||||||
|
title: i18n.ts.achievements,
|
||||||
|
icon: "ph-medal-military ph-bold ph-lg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "reels",
|
||||||
|
title: i18n.ts._gallery.my,
|
||||||
|
icon: "ph-film-strip ph-bold ph-lg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "journal",
|
||||||
|
title: i18n.ts._pages.my,
|
||||||
|
icon: "ph-file-text ph-bold ph-lg",
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
let swiperRef = null;
|
||||||
|
|
||||||
|
function setSwiperRef(swiper) {
|
||||||
|
swiperRef = swiper;
|
||||||
|
syncSlide(tabs.indexOf(tab));
|
||||||
|
}
|
||||||
|
|
||||||
|
function onSlideChange() {
|
||||||
|
tab = tabs[swiperRef.activeIndex];
|
||||||
|
}
|
||||||
|
|
||||||
|
function syncSlide(index) {
|
||||||
|
swiperRef.slideTo(index);
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
syncSlide(tabs.indexOf(swiperRef.activeIndex));
|
||||||
|
});
|
||||||
|
|
||||||
|
onActivated(() => {
|
||||||
|
syncSlide(tabs.indexOf(tab));
|
||||||
|
});
|
||||||
|
|
||||||
|
function createJournal() {
|
||||||
|
router.push("/pages/new");
|
||||||
|
}
|
||||||
|
|
||||||
|
function createReel() {
|
||||||
|
router.push("/gallery/new");
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.yweeujhr {
|
||||||
|
> .buttoncontainer {
|
||||||
|
display: grid;
|
||||||
|
justify-content: center;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.my .ckltabjg:first-child {
|
||||||
|
margin-top: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ckltabjg:not(:last-child) {
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 500px) {
|
||||||
|
.ckltabjg:not(:last-child) {
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.vfpdbgtk {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
|
||||||
|
grid-gap: 12px;
|
||||||
|
margin: 0 var(--margin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -5,6 +5,7 @@
|
|||||||
v-model:tab="tab"
|
v-model:tab="tab"
|
||||||
:actions="headerActions"
|
:actions="headerActions"
|
||||||
:tabs="headerTabs"
|
:tabs="headerTabs"
|
||||||
|
:display-back-button="true"
|
||||||
/></template>
|
/></template>
|
||||||
<MkSpacer :content-max="700">
|
<MkSpacer :content-max="700">
|
||||||
<div class="jqqmcavi">
|
<div class="jqqmcavi">
|
||||||
|
@ -655,6 +655,11 @@ export const routes = [
|
|||||||
component: page(() => import("./pages/my-antennas/edit.vue")),
|
component: page(() => import("./pages/my-antennas/edit.vue")),
|
||||||
loginRequired: true,
|
loginRequired: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/my/space",
|
||||||
|
component: page(() => import("./pages/my-space/index.vue")),
|
||||||
|
loginRequired: true,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/news",
|
path: "/news",
|
||||||
component: page(() => import("./pages/news.vue")),
|
component: page(() => import("./pages/news.vue")),
|
||||||
|
@ -17,7 +17,7 @@ const menuOptions = [
|
|||||||
"news",
|
"news",
|
||||||
"discover",
|
"discover",
|
||||||
"-",
|
"-",
|
||||||
"achievements",
|
"space",
|
||||||
"drive"
|
"drive"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user