feat: 落地 Warm Kitchen Ledger 原型,宽屏左导航 + 双栏布局

新增 ledger.css 设计令牌与桌面端布局,AppRail 左导航、PageHead 桌面页头、ResultsColumn 常驻结果栏;做菜/菜谱/发现/我的/设置/帮助/关于各页做桌面窄屏双形态适配,窄屏仍走原有底部标签栏与弹层交互。
This commit is contained in:
toor
2026-10-22 03:30:56 +08:00
committed by trae-solo-agent
parent 7049eb02a8
commit 7408591fac
18 changed files with 3604 additions and 383 deletions
+35 -2
View File
@@ -78,7 +78,12 @@ watchDebounced(
</ion-toolbar>
</ion-header>
<ion-content ref="contentRef" :fullscreen="true" :style="{ '--padding-bottom': `${panelInset + 16}px` }">
<ion-content
ref="contentRef"
class="cook-content"
:fullscreen="true"
:style="{ '--cook-panel-inset': `${panelInset}px` }"
>
<ion-header collapse="condense">
<ion-toolbar>
<ion-title size="large">
@@ -87,10 +92,38 @@ watchDebounced(
</ion-toolbar>
</ion-header>
<ChooseFood :flight-target="flightTarget" />
<div class="ledger-page ledger-cook-page">
<PageHead title="今天做点什么" subtitle="选好食材,看看能做什么">
<button type="button" class="ledger-btn is-ghost is-sm" :disabled="!hasSelection" @click="reset">
清空
</button>
</PageHead>
<div class="ledger-cook-split">
<div class="ledger-cook-side">
<ChooseFood :flight-target="flightTarget" />
</div>
<div class="ledger-desktop-block">
<ResultsColumn @detail="openDetail" />
</div>
</div>
</div>
</ion-content>
<ResultsPanel ref="panelRef" v-model:inset="panelInset" :active="active" @scroll-top="scrollTop" @detail="openDetail" />
<RecipeDetailSheet v-model:open="detailOpen" :recipe="detail?.recipe" :match="detail?.match" />
</ion-page>
</template>
<style scoped>
.cook-content {
--padding-bottom: calc(var(--cook-panel-inset, 0px) + 16px);
}
@media (min-width: 1024px) {
.cook-content {
--padding-bottom: 48px;
}
}
</style>