summaryrefslogtreecommitdiff
path: root/packages/client/src/components/MkPageWindow.vue
diff options
context:
space:
mode:
Diffstat (limited to 'packages/client/src/components/MkPageWindow.vue')
-rw-r--r--packages/client/src/components/MkPageWindow.vue140
1 files changed, 0 insertions, 140 deletions
diff --git a/packages/client/src/components/MkPageWindow.vue b/packages/client/src/components/MkPageWindow.vue
deleted file mode 100644
index 29d45558a7..0000000000
--- a/packages/client/src/components/MkPageWindow.vue
+++ /dev/null
@@ -1,140 +0,0 @@
-<template>
-<XWindow
- ref="windowEl"
- :initial-width="500"
- :initial-height="500"
- :can-resize="true"
- :close-button="true"
- :buttons-left="buttonsLeft"
- :buttons-right="buttonsRight"
- :contextmenu="contextmenu"
- @closed="$emit('closed')"
->
- <template #header>
- <template v-if="pageMetadata?.value">
- <i v-if="pageMetadata.value.icon" class="icon" :class="pageMetadata.value.icon" style="margin-right: 0.5em;"></i>
- <span>{{ pageMetadata.value.title }}</span>
- </template>
- </template>
-
- <div class="yrolvcoq" :style="{ background: pageMetadata?.value?.bg }">
- <RouterView :router="router"/>
- </div>
-</XWindow>
-</template>
-
-<script lang="ts" setup>
-import { ComputedRef, inject, provide } from 'vue';
-import RouterView from '@/components/global/RouterView.vue';
-import XWindow from '@/components/MkWindow.vue';
-import { popout as _popout } from '@/scripts/popout';
-import copyToClipboard from '@/scripts/copy-to-clipboard';
-import { url } from '@/config';
-import * as os from '@/os';
-import { mainRouter, routes } from '@/router';
-import { Router } from '@/nirax';
-import { i18n } from '@/i18n';
-import { PageMetadata, provideMetadataReceiver, setPageMetadata } from '@/scripts/page-metadata';
-
-const props = defineProps<{
- initialPath: string;
-}>();
-
-defineEmits<{
- (ev: 'closed'): void;
-}>();
-
-const router = new Router(routes, props.initialPath);
-
-let pageMetadata = $ref<null | ComputedRef<PageMetadata>>();
-let windowEl = $ref<InstanceType<typeof XWindow>>();
-const history = $ref<{ path: string; key: any; }[]>([{
- path: router.getCurrentPath(),
- key: router.getCurrentKey(),
-}]);
-const buttonsLeft = $computed(() => {
- const buttons = [];
-
- if (history.length > 1) {
- buttons.push({
- icon: 'ti ti-arrow-left',
- onClick: back,
- });
- }
-
- return buttons;
-});
-const buttonsRight = $computed(() => {
- const buttons = [{
- icon: 'ti ti-player-eject',
- title: i18n.ts.showInPage,
- onClick: expand,
- }];
-
- return buttons;
-});
-
-router.addListener('push', ctx => {
- history.push({ path: ctx.path, key: ctx.key });
-});
-
-provide('router', router);
-provideMetadataReceiver((info) => {
- pageMetadata = info;
-});
-provide('shouldOmitHeaderTitle', true);
-provide('shouldHeaderThin', true);
-
-const contextmenu = $computed(() => ([{
- icon: 'ti ti-player-eject',
- text: i18n.ts.showInPage,
- action: expand,
-}, {
- icon: 'ti ti-window-maximize',
- text: i18n.ts.popout,
- action: popout,
-}, {
- icon: 'ti ti-external-link',
- text: i18n.ts.openInNewTab,
- action: () => {
- window.open(url + router.getCurrentPath(), '_blank');
- windowEl.close();
- },
-}, {
- icon: 'ti ti-link',
- text: i18n.ts.copyLink,
- action: () => {
- copyToClipboard(url + router.getCurrentPath());
- },
-}]));
-
-function back() {
- history.pop();
- router.replace(history[history.length - 1].path, history[history.length - 1].key);
-}
-
-function close() {
- windowEl.close();
-}
-
-function expand() {
- mainRouter.push(router.getCurrentPath(), 'forcePage');
- windowEl.close();
-}
-
-function popout() {
- _popout(router.getCurrentPath(), windowEl.$el);
- windowEl.close();
-}
-
-defineExpose({
- close,
-});
-</script>
-
-<style lang="scss" scoped>
-.yrolvcoq {
- min-height: 100%;
- background: var(--bg);
-}
-</style>