54 lines
1.8 KiB
Plaintext
54 lines
1.8 KiB
Plaintext
<view class="container">
|
|
<view class="card">
|
|
<input
|
|
class="search-input"
|
|
placeholder="搜索字体名称"
|
|
value="{{searchText}}"
|
|
bindinput="onSearchInput"
|
|
/>
|
|
|
|
<view class="toolbar row space-between">
|
|
<picker mode="selector" range="{{categories}}" value="{{categoryIndex}}" bindchange="onCategoryChange">
|
|
<view class="picker-btn">分类:{{categories[categoryIndex]}}</view>
|
|
</picker>
|
|
<button class="mini-btn" size="mini" bindtap="onToggleFavoriteOnly">
|
|
{{favoriteOnly ? '仅收藏中' : '全部字体'}}
|
|
</button>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="card list-card">
|
|
<view class="summary">共 {{filteredFonts.length}} 个字体</view>
|
|
<scroll-view class="font-list" scroll-y>
|
|
<view
|
|
wx:for="{{filteredFonts}}"
|
|
wx:key="id"
|
|
class="font-item {{item.id === selectedFontId ? 'selected' : ''}}"
|
|
bindtap="onSelectFont"
|
|
data-font-id="{{item.id}}"
|
|
>
|
|
<view class="font-info">
|
|
<view class="font-name">{{item.name}}</view>
|
|
<view class="font-meta">{{item.category}}</view>
|
|
</view>
|
|
<view class="actions row">
|
|
<view
|
|
class="star"
|
|
catchtap="onToggleFavorite"
|
|
data-font-id="{{item.id}}"
|
|
>
|
|
{{item.isFavorite ? '★' : '☆'}}
|
|
</view>
|
|
<view wx:if="{{item.id === selectedFontId}}" class="selected-tag">已选</view>
|
|
</view>
|
|
</view>
|
|
<view wx:if="{{!filteredFonts.length}}" class="empty">没有匹配字体</view>
|
|
</scroll-view>
|
|
</view>
|
|
|
|
<view class="footer row space-between">
|
|
<button class="btn-secondary" bindtap="onCancel">取消</button>
|
|
<button class="btn-primary" bindtap="onConfirm">使用该字体</button>
|
|
</view>
|
|
</view>
|