summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2025-04-27 10:46:55 +0900
committerGitHub <noreply@github.com>2025-04-27 10:46:55 +0900
commit6a69e4180b2506aa94983a7e2f1d6dafc2214b07 (patch)
tree4712545e7c6b77d52e73a9ce403e910a43482b27
parentenhance(frontend): 通知ページをスワイプで切り替えられるよ... (diff)
downloadsharkey-6a69e4180b2506aa94983a7e2f1d6dafc2214b07.tar.gz
sharkey-6a69e4180b2506aa94983a7e2f1d6dafc2214b07.tar.bz2
sharkey-6a69e4180b2506aa94983a7e2f1d6dafc2214b07.zip
fix(frontend): PageWithHeaderからPageHeaderに全Propsが伝わっていなかった問題を修正 (#15858)
-rw-r--r--packages/frontend/src/components/global/MkPageHeader.vue27
-rw-r--r--packages/frontend/src/components/global/PageWithHeader.vue21
2 files changed, 25 insertions, 23 deletions
diff --git a/packages/frontend/src/components/global/MkPageHeader.vue b/packages/frontend/src/components/global/MkPageHeader.vue
index dc0b52b141..542c3d8d12 100644
--- a/packages/frontend/src/components/global/MkPageHeader.vue
+++ b/packages/frontend/src/components/global/MkPageHeader.vue
@@ -40,19 +40,12 @@ SPDX-License-Identifier: AGPL-3.0-only
</div>
</template>
-<script lang="ts" setup>
-import { onMounted, onUnmounted, ref, inject, useTemplateRef, computed } from 'vue';
-import { scrollToTop } from '@@/js/scroll.js';
-import XTabs from './MkPageHeader.tabs.vue';
-import type { Tab } from './MkPageHeader.tabs.vue';
+<script lang="ts">
import type { PageHeaderItem } from '@/types/page-header.js';
import type { PageMetadata } from '@/page.js';
-import { globalEvents } from '@/events.js';
-import { openAccountMenu as openAccountMenu_ } from '@/accounts.js';
-import { $i } from '@/i.js';
-import { DI } from '@/di.js';
+import type { Tab } from './MkPageHeader.tabs.vue';
-const props = withDefaults(defineProps<{
+export type PageHeaderProps = {
overridePageMetadata?: PageMetadata;
tabs?: Tab[];
tab?: string;
@@ -60,7 +53,19 @@ const props = withDefaults(defineProps<{
thin?: boolean;
hideTitle?: boolean;
displayMyAvatar?: boolean;
-}>(), {
+};
+</script>
+
+<script lang="ts" setup>
+import { onMounted, onUnmounted, ref, inject, useTemplateRef, computed } from 'vue';
+import { scrollToTop } from '@@/js/scroll.js';
+import XTabs from './MkPageHeader.tabs.vue';
+import { globalEvents } from '@/events.js';
+import { openAccountMenu as openAccountMenu_ } from '@/accounts.js';
+import { $i } from '@/i.js';
+import { DI } from '@/di.js';
+
+const props = withDefaults(defineProps<PageHeaderProps>(), {
tabs: () => ([] as Tab[]),
});
diff --git a/packages/frontend/src/components/global/PageWithHeader.vue b/packages/frontend/src/components/global/PageWithHeader.vue
index 99f8df0780..4d26f8031b 100644
--- a/packages/frontend/src/components/global/PageWithHeader.vue
+++ b/packages/frontend/src/components/global/PageWithHeader.vue
@@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template>
<div ref="rootEl" :class="[$style.root, reversed ? '_pageScrollableReversed' : '_pageScrollable']">
<MkStickyContainer>
- <template #header><MkPageHeader v-model:tab="tab" :actions="actions" :tabs="tabs"/></template>
+ <template #header><MkPageHeader v-model:tab="tab" v-bind="pageHeaderProps"/></template>
<div :class="$style.body">
<slot></slot>
</div>
@@ -16,21 +16,18 @@ SPDX-License-Identifier: AGPL-3.0-only
</template>
<script lang="ts" setup>
-import { useTemplateRef } from 'vue';
+import { computed, useTemplateRef } from 'vue';
import { scrollInContainer } from '@@/js/scroll.js';
-import type { PageHeaderItem } from '@/types/page-header.js';
-import type { Tab } from './MkPageHeader.tabs.vue';
+import type { PageHeaderProps } from './MkPageHeader.vue';
import { useScrollPositionKeeper } from '@/use/use-scroll-position-keeper.js';
-const props = withDefaults(defineProps<{
- tabs?: Tab[];
- actions?: PageHeaderItem[] | null;
- thin?: boolean;
- hideTitle?: boolean;
- displayMyAvatar?: boolean;
+const props = defineProps<PageHeaderProps & {
reversed?: boolean;
-}>(), {
- tabs: () => ([] as Tab[]),
+}>();
+
+const pageHeaderProps = computed(() => {
+ const { reversed, ...rest } = props;
+ return rest;
});
const tab = defineModel<string>('tab');