Files
order_site/apps/frontend-vue/src/components/admin/AdminPageHeader.vue
T
2026-07-07 19:55:18 +08:00

54 lines
902 B
Vue

<script setup lang="ts">
defineProps<{
title: string
description?: string
}>()
</script>
<template>
<div class="page-header">
<div>
<h1>{{ title }}</h1>
<p v-if="description">{{ description }}</p>
</div>
<div v-if="$slots.extra" class="header-extra">
<slot name="extra" />
</div>
</div>
</template>
<style scoped>
.page-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: var(--space-3);
}
.page-header h1 {
margin: 0;
font-size: var(--text-3xl);
color: var(--text-primary);
}
.page-header p {
margin: var(--space-2) 0 0;
color: var(--text-secondary);
}
.header-extra {
display: flex;
gap: var(--space-2);
flex-shrink: 0;
align-items: center;
color: var(--text-secondary);
font-size: var(--text-sm);
}
@media (max-width: 900px) {
.page-header {
flex-direction: column;
}
}
</style>