mirror of
https://iceshrimp.dev/crimekillz/trashposs
synced 2024-11-24 09:49:05 +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}"
|
||||
monthX: "{month}"
|
||||
yearX: "{year}"
|
||||
pages: "Nutzer-Seiten"
|
||||
pages: "Journal"
|
||||
integration: "Integration"
|
||||
connectService: "Verbinden"
|
||||
disconnectService: "Trennen"
|
||||
@ -372,9 +372,9 @@ basicInfo: "Grundlegende Informationen"
|
||||
pinnedUsers: "Angeheftete Nutzer"
|
||||
pinnedUsersDescription: "Gib durch Leerzeichen getrennte Nutzer an, die an die \"\
|
||||
Erkunden\"-Seite angeheftet werden sollen."
|
||||
pinnedPages: "Angeheftete Nutzer-Seiten"
|
||||
pinnedPages: "Angeheftete Journal-Einträge"
|
||||
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."
|
||||
pinnedClipId: "ID des anzuheftenden Clips"
|
||||
pinnedNotes: "Angeheftete Beiträge"
|
||||
@ -582,7 +582,7 @@ scratchpadDescription: "Die Testumgebung bietet einen Bereich für AiScript-Expe
|
||||
überprüfen."
|
||||
output: "Ausgabe"
|
||||
script: "Skript"
|
||||
disablePagesScript: "AiScript auf Seiten deaktivieren"
|
||||
disablePagesScript: "AiScript in Journal-Einträgen deaktivieren"
|
||||
updateRemoteUser: "Nutzerinformationen aktualisieren"
|
||||
deleteAllFiles: "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"
|
||||
behavior: "Verhalten"
|
||||
sample: "Beispiel"
|
||||
abuseReports: "Meldungen"
|
||||
reportAbuse: "Melden"
|
||||
reportAbuseOf: "{name} melden"
|
||||
fillAbuseReportDescription: "Bitte gib zusätzliche Informationen zu dieser Meldung
|
||||
abuseReports: "Anzeigen"
|
||||
reportAbuse: "Anzeigen!"
|
||||
reportAbuseOf: "{name} anzeigen"
|
||||
fillAbuseReportDescription: "Bitte gib zusätzliche Informationen zu dieser Anzeige
|
||||
an. Falls es sich um einen ungewöhnlichen Beitrag handelt, gib bitte dessen URL
|
||||
an."
|
||||
abuseReported: "Deine Meldung wurde versendet. Vielen Dank."
|
||||
reporter: "Melder"
|
||||
reporteeOrigin: "Herkunft des Gemeldeten"
|
||||
reporterOrigin: "Herkunft des Meldenden"
|
||||
forwardReport: "Meldung auch an den mit-beteiligten Server weiterleiten"
|
||||
reporter: "Anzeiger"
|
||||
reporteeOrigin: "Herkunft des Angezeigten"
|
||||
reporterOrigin: "Herkunft des Anzeigers"
|
||||
forwardReport: "Anzeige auch an den mit-beteiligten Server weiterleiten"
|
||||
forwardReportIsAnonymous: "Anstelle deines Nutzerkontos wird ein anonymes Systemkonto
|
||||
als Hinweisgeber auf dem mit-beteiligten Server angezeigt."
|
||||
send: "Senden"
|
||||
abuseMarkAsResolved: "Meldung als gelöst markieren"
|
||||
abuseMarkAsResolved: "Anzeige als gelöst markieren"
|
||||
openInNewTab: "In neuem Tab öffnen"
|
||||
openInSideView: "In Seitenansicht öffnen"
|
||||
defaultNavigationBehaviour: "Standardnavigationsverhalten"
|
||||
@ -851,8 +851,8 @@ switch: "Wechseln"
|
||||
noMaintainerInformationWarning: "Betreiberinformationen sind nicht konfiguriert."
|
||||
noBotProtectionWarning: "Schutz vor Bots ist nicht konfiguriert."
|
||||
configure: "Konfigurieren"
|
||||
postToGallery: "Erstelle einen neuen Beitrag zur Bilder-Galerie"
|
||||
gallery: "Bilder-Galerie"
|
||||
postToGallery: "Poste einen neuen Reel"
|
||||
gallery: "Reels"
|
||||
recentPosts: "Neue Beiträge"
|
||||
popularPosts: "Beliebte Beiträge"
|
||||
shareWithNote: "Mit Beitrag teilen"
|
||||
@ -947,7 +947,7 @@ file: "Datei"
|
||||
recentNHours: "Die letzten {n} Stunden"
|
||||
recentNDays: "Die letzten {n} Tage"
|
||||
noEmailServerWarning: "Es ist kein Email-Server konfiguriert."
|
||||
thereIsUnresolvedAbuseReportWarning: "Es liegen ungelöste Meldungen vor."
|
||||
thereIsUnresolvedAbuseReportWarning: "Es liegen ungelöste Anzeigen vor."
|
||||
recommended: "Favoriten"
|
||||
check: "Kontrolle"
|
||||
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
|
||||
bitte den Server-Administrator, um dein Passwort zurücksetzen zu lassen."
|
||||
_gallery:
|
||||
my: "Meine Bilder-Galerie"
|
||||
liked: "Mit \"Gefällt mir\" markierte Beiträge"
|
||||
my: "Meine Reels"
|
||||
liked: "Mit \"Gefällt mir\" markierte Reels"
|
||||
like: "Gefällt mir"
|
||||
unlike: "\"Gefällt mir\" entfernen"
|
||||
_email:
|
||||
@ -1614,33 +1614,33 @@ _timelines:
|
||||
global: "Global-TL"
|
||||
recommended: Admin-Favoriten
|
||||
_pages:
|
||||
newPage: "Neue Seite erstellen"
|
||||
editPage: "Seite bearbeiten"
|
||||
newPage: "Journal-Eintrag erstellen"
|
||||
editPage: "Journal bearbeiten"
|
||||
readPage: "Quelltextansicht"
|
||||
created: "Seite erfolgreich erstellt"
|
||||
updated: "Seite erfolgreich aktualisiert"
|
||||
deleted: "Seite erfolgreich gelöscht"
|
||||
pageSetting: "Seiteneinstellungen"
|
||||
nameAlreadyExists: "Die angegebene Seiten-URL existiert bereits"
|
||||
invalidNameTitle: "Die angegebene Seiten-URL ist ungültig"
|
||||
invalidNameText: "Überprüfe, ob der Seitentitel nicht leer ist"
|
||||
editThisPage: "Diese Seite bearbeiten"
|
||||
created: "Journal-Eintrag erfolgreich erstellt"
|
||||
updated: "Journal-Eintrag erfolgreich aktualisiert"
|
||||
deleted: "Journal-Eintrag erfolgreich gelöscht"
|
||||
pageSetting: "Journal-Einstellungen"
|
||||
nameAlreadyExists: "Die angegebene Journal-URL existiert bereits"
|
||||
invalidNameTitle: "Die angegebene Journal-URL ist ungültig"
|
||||
invalidNameText: "Überprüfe, ob der Journaltitel nicht leer ist"
|
||||
editThisPage: "Dieses Journal bearbeiten"
|
||||
viewSource: "Quelltext anzeigen"
|
||||
viewPage: "Seite anschauen"
|
||||
viewPage: "Journal anschauen"
|
||||
like: "Gefällt mir"
|
||||
unlike: "\"Gefällt mir\" entfernen"
|
||||
my: "Meine Nutzer-Seiten"
|
||||
liked: "Nutzer-Seiten, die mir gefallen"
|
||||
my: "Mein Journal"
|
||||
liked: "Journals, die mir gefallen"
|
||||
featured: "Beliebt"
|
||||
inspector: "Inspektor"
|
||||
contents: "Inhalte"
|
||||
content: "Seitenblock"
|
||||
content: "Journalblock"
|
||||
variables: "Variablen"
|
||||
title: "Titel"
|
||||
url: "Nutzer-Seiten-URL"
|
||||
url: "Nutzer-Journal-URL"
|
||||
summary: "Zusammenfassung"
|
||||
alignCenter: "Zentrieren"
|
||||
hideTitleWhenPinned: "Nutzer-Seitentitel wenn angeheftet ausblenden"
|
||||
hideTitleWhenPinned: "Journaltitel wenn angeheftet ausblenden"
|
||||
font: "Schriftart"
|
||||
fontSerif: "Serif"
|
||||
fontSansSerif: "sans-serif"
|
||||
@ -1902,7 +1902,7 @@ _pages:
|
||||
stringArray: "Textliste"
|
||||
emptySlot: "Leerer Slot"
|
||||
enviromentVariables: "Umgebungsvariable"
|
||||
pageVariables: "Seitenelemente"
|
||||
pageVariables: "Journalelemente"
|
||||
argVariables: "Eingabeslots"
|
||||
_relayStatus:
|
||||
requesting: "Ausstehend"
|
||||
@ -2205,6 +2205,7 @@ youHaveUnreadAnnouncements: Du hast ungelesene Bekanntmachungen
|
||||
donationLink: Link zur Spendenseite
|
||||
neverShow: Nicht mehr anzeigen
|
||||
remindMeLater: Vielleicht später
|
||||
space: "Space"
|
||||
removeQuote: Zitat entfernen
|
||||
removeRecipient: Empfänger entfernen
|
||||
removeMember: Mitglied entfernen
|
||||
|
@ -375,7 +375,7 @@ today: "Today"
|
||||
dayX: "{day}"
|
||||
monthX: "{month}"
|
||||
yearX: "{year}"
|
||||
pages: "Pages"
|
||||
pages: "Journal"
|
||||
integration: "Integrations"
|
||||
connectService: "Connect"
|
||||
disconnectService: "Disconnect"
|
||||
@ -397,8 +397,8 @@ basicInfo: "Basic info"
|
||||
pinnedUsers: "Pinned users"
|
||||
pinnedUsersDescription: "List usernames separated by line breaks to be pinned in the
|
||||
\"Explore\" tab."
|
||||
pinnedPages: "Pinned Pages"
|
||||
pinnedPagesDescription: "Enter the paths of the Pages you want to pin to the top page
|
||||
pinnedPages: "Pinned Journal entries"
|
||||
pinnedPagesDescription: "Enter the paths of the Journal entries you want to pin to the top page
|
||||
of this server, separated by line breaks."
|
||||
pinnedClipId: "ID of the clip to pin"
|
||||
pinnedNotes: "Pinned posts"
|
||||
@ -608,7 +608,7 @@ scratchpadDescription: "The scratchpad provides an environment for AiScript expe
|
||||
it."
|
||||
output: "Output"
|
||||
script: "Script"
|
||||
disablePagesScript: "Disable AiScript on Pages"
|
||||
disablePagesScript: "Disable AiScript in Journal entries"
|
||||
expandOnNoteClick: "Open post on click"
|
||||
expandOnNoteClickDesc: "If disabled, you can still open posts in the right-click menu
|
||||
or by clicking the timestamp."
|
||||
@ -881,8 +881,8 @@ switch: "Switch"
|
||||
noMaintainerInformationWarning: "Maintainer information is not configured."
|
||||
noBotProtectionWarning: "Bot protection is not configured."
|
||||
configure: "Configure"
|
||||
postToGallery: "Create new gallery post"
|
||||
gallery: "Gallery"
|
||||
postToGallery: "Create new reel"
|
||||
gallery: "Reel"
|
||||
recentPosts: "Recent pages"
|
||||
popularPosts: "Popular pages"
|
||||
shareWithNote: "Share with post"
|
||||
@ -1142,6 +1142,7 @@ biteBack: "Chomp back"
|
||||
bittenBack: "Chomped back"
|
||||
bitYou: "chomped you"
|
||||
bitYouBack: "chomped you back"
|
||||
space: "Space"
|
||||
achievements: "Achievements"
|
||||
_achievements:
|
||||
earnedAt: "Earn date and time"
|
||||
@ -1407,8 +1408,8 @@ _forgotPassword:
|
||||
contactAdmin: "This server does not support using email addresses, please contact
|
||||
the server administrator to reset your password instead."
|
||||
_gallery:
|
||||
my: "My Gallery"
|
||||
liked: "Liked Posts"
|
||||
my: "My Reels"
|
||||
liked: "Liked Reels"
|
||||
like: "Like"
|
||||
unlike: "Remove like"
|
||||
_email:
|
||||
@ -2007,33 +2008,33 @@ _timelines:
|
||||
social: "Social"
|
||||
global: "Global"
|
||||
_pages:
|
||||
newPage: "Create a new Page"
|
||||
editPage: "Edit this Page"
|
||||
readPage: "Viewing this Page's source"
|
||||
created: "Page successfully created"
|
||||
updated: "Page successfully edited"
|
||||
deleted: "Page successfully deleted"
|
||||
pageSetting: "Page settings"
|
||||
nameAlreadyExists: "The specified Page URL already exists"
|
||||
invalidNameTitle: "The specified Page URL is invalid"
|
||||
invalidNameText: "Make sure the Page title is not empty"
|
||||
editThisPage: "Edit this Page"
|
||||
newPage: "Create a Journal entry"
|
||||
editPage: "Edit this Journal entry"
|
||||
readPage: "Viewing this Journal's source"
|
||||
created: "Journal entry successfully created"
|
||||
updated: "Journal entry successfully edited"
|
||||
deleted: "Journal entry successfully deleted"
|
||||
pageSetting: "Journal settings"
|
||||
nameAlreadyExists: "The specified Journal URL already exists"
|
||||
invalidNameTitle: "The specified Journal URL is invalid"
|
||||
invalidNameText: "Make sure the Journal title is not empty"
|
||||
editThisPage: "Edit this Journal entry"
|
||||
viewSource: "View source"
|
||||
viewPage: "View your Pages"
|
||||
viewPage: "View your Journal"
|
||||
like: "Like"
|
||||
unlike: "Remove like"
|
||||
my: "My Pages"
|
||||
liked: "Liked Pages"
|
||||
my: "My Journal"
|
||||
liked: "Liked Journals"
|
||||
featured: "Popular"
|
||||
inspector: "Inspector"
|
||||
contents: "Content"
|
||||
content: "Page block"
|
||||
content: "Journal block"
|
||||
variables: "Variables"
|
||||
title: "Title"
|
||||
url: "Page URL"
|
||||
summary: "Page summary"
|
||||
url: "Journal URL"
|
||||
summary: "Journal summary"
|
||||
alignCenter: "Center elements"
|
||||
hideTitleWhenPinned: "Hide Page title when pinned to profile"
|
||||
hideTitleWhenPinned: "Hide Journal title when pinned to profile"
|
||||
font: "Font"
|
||||
fontSerif: "Serif"
|
||||
fontSansSerif: "Sans Serif"
|
||||
@ -2294,7 +2295,7 @@ _pages:
|
||||
stringArray: "Text list"
|
||||
emptySlot: "Empty slot"
|
||||
enviromentVariables: "Environment variables"
|
||||
pageVariables: "Page variables"
|
||||
pageVariables: "Journal variables"
|
||||
argVariables: "Input slots"
|
||||
_relayStatus:
|
||||
requesting: "Pending"
|
||||
|
@ -793,8 +793,8 @@ switch: "切り替え"
|
||||
noMaintainerInformationWarning: "管理者情報が設定されていません。"
|
||||
noBotProtectionWarning: "Botプロテクションが設定されていません。"
|
||||
configure: "設定する"
|
||||
postToGallery: "ギャラリーへ投稿"
|
||||
gallery: "ギャラリー"
|
||||
postToGallery: "新しい Reel を作成する"
|
||||
gallery: "Reel"
|
||||
recentPosts: "最近の投稿"
|
||||
popularPosts: "人気の投稿"
|
||||
shareWithNote: "投稿で共有"
|
||||
@ -988,6 +988,7 @@ showWithSparkles: "タイトルをキラキラさせる"
|
||||
youHaveUnreadAnnouncements: "未読のお知らせがあります"
|
||||
neverShow: "今後表示しない"
|
||||
remindMeLater: "また後で"
|
||||
space: "スペース"
|
||||
achievements: "実績"
|
||||
|
||||
_achievements:
|
||||
@ -1242,8 +1243,8 @@ _forgotPassword:
|
||||
ifNoEmail: "メールアドレスを登録していない場合は、管理者までお問い合わせください。"
|
||||
contactAdmin: "このインスタンスではメールアドレスの登録がサポートされていないため、パスワードリセットを行う場合は管理者までお問い合わせください。"
|
||||
_gallery:
|
||||
my: "自分の投稿"
|
||||
liked: "いいねした投稿"
|
||||
my: "私の Reels"
|
||||
liked: "好きな Reel"
|
||||
like: "いいね!"
|
||||
unlike: "いいね解除"
|
||||
_email:
|
||||
|
@ -37,7 +37,7 @@
|
||||
import { userName } from "@/filters/user";
|
||||
import { ui } from "@/config";
|
||||
|
||||
defineProps<{
|
||||
const props = defineProps<{
|
||||
page: any;
|
||||
}>();
|
||||
</script>
|
||||
|
@ -71,6 +71,12 @@ export const navbarItemDef = reactive({
|
||||
show: computed(() => $i != null),
|
||||
to: "/my/achievements",
|
||||
},
|
||||
space: {
|
||||
title: "space",
|
||||
icon: "ph-rocket-launch ph-bold ph-lg",
|
||||
show: computed(() => $i != null),
|
||||
to: "/my/space",
|
||||
},
|
||||
ui: {
|
||||
title: "switchUi",
|
||||
icon: "ph-layout ph-bold ph-lg",
|
||||
|
@ -127,7 +127,7 @@ async function del() {
|
||||
await os.apiWithDialog("gallery/posts/delete", {
|
||||
postId: props.postId,
|
||||
});
|
||||
router.push("/gallery");
|
||||
router.push("/my/space");
|
||||
}
|
||||
|
||||
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"
|
||||
:actions="headerActions"
|
||||
:tabs="headerTabs"
|
||||
:display-back-button="true"
|
||||
/></template>
|
||||
<MkSpacer :content-max="700">
|
||||
<div class="jqqmcavi">
|
||||
|
@ -655,6 +655,11 @@ export const routes = [
|
||||
component: page(() => import("./pages/my-antennas/edit.vue")),
|
||||
loginRequired: true,
|
||||
},
|
||||
{
|
||||
path: "/my/space",
|
||||
component: page(() => import("./pages/my-space/index.vue")),
|
||||
loginRequired: true,
|
||||
},
|
||||
{
|
||||
path: "/news",
|
||||
component: page(() => import("./pages/news.vue")),
|
||||
|
@ -17,7 +17,7 @@ const menuOptions = [
|
||||
"news",
|
||||
"discover",
|
||||
"-",
|
||||
"achievements",
|
||||
"space",
|
||||
"drive"
|
||||
];
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user