50 lines
1.8 KiB
Plaintext
50 lines
1.8 KiB
Plaintext
|
|
<view class="container">
|
|||
|
|
<!-- 顶部标题 -->
|
|||
|
|
<view class="header">
|
|||
|
|
<view class="back-btn" bindtap="onBack">←</view>
|
|||
|
|
<view class="header-title">心动名单</view>
|
|||
|
|
<view class="header-spacer"></view>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
<!-- 收藏列表 -->
|
|||
|
|
<scroll-view scroll-y class="favorites-scroll" wx:if="{{favorites.length > 0}}">
|
|||
|
|
<view class="favorites-grid">
|
|||
|
|
<view
|
|||
|
|
class="favorite-item"
|
|||
|
|
wx:for="{{favorites}}"
|
|||
|
|
wx:key="name"
|
|||
|
|
bindtap="onItemTap"
|
|||
|
|
data-index="{{index}}"
|
|||
|
|
>
|
|||
|
|
<view class="name">{{item.name}}</view>
|
|||
|
|
<view class="origin">{{item.origin}}</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</scroll-view>
|
|||
|
|
|
|||
|
|
<!-- 空状态 -->
|
|||
|
|
<view class="empty-state" wx:if="{{favorites.length === 0}}">
|
|||
|
|
<view class="empty-icon">素</view>
|
|||
|
|
<text class="empty-text">锦囊空空,静待灵感</text>
|
|||
|
|
<text class="empty-subtext">在见素中右滑收藏心动的名字</text>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
<!-- 半屏弹窗 - 详情展示 -->
|
|||
|
|
<view class="detail-modal {{showDetail ? 'visible' : ''}}" bindtap="closeDetail">
|
|||
|
|
<view class="detail-content" catchtap="preventBubble">
|
|||
|
|
<view class="detail-close" bindtap="closeDetail">×</view>
|
|||
|
|
<view class="detail-name">{{selectedItem.name}}</view>
|
|||
|
|
<view class="detail-origin">{{selectedItem.origin}}</view>
|
|||
|
|
<view class="detail-desc">{{selectedItem.description}}</view>
|
|||
|
|
<view class="detail-meta">
|
|||
|
|
<text class="detail-tone">声韵:{{selectedItem.tone}}</text>
|
|||
|
|
<text class="detail-score">见素评分:{{selectedItem.score}}</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="detail-actions">
|
|||
|
|
<view class="detail-btn share-btn" bindtap="onShare">分享</view>
|
|||
|
|
<view class="detail-btn remove-btn" bindtap="onRemove">移除</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|