feat(ui): adopt Tailwind v4 design system and archive change
- Add tailwindcss v4 + @tailwindcss/vite to mall, shop-admin, admin - Add @vmall/shared/theme.css tokens with html[data-accent] presets - Add @vmall/ui kit (VBtn/VBadge/VField/VInput/VCard/VPanel/VTable/VPage, VAccentSwatch, useAccent) as a Nuxt module - Convert all three apps to kit + utilities; delete ui.css/mall.css and every <style scoped>; consoles get accent presets, mall locked to red - Fix VCard boolean prop default (padding) and PDP/store stale useAsyncData keys on param navigation - Archive adopt-tailwind-design-system; new frontend-ui capability spec
This commit is contained in:
@@ -32,12 +32,12 @@ onMounted(() => void load());
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<section class="mpanel coupons-panel">
|
||||
<h1 class="mpanel-title">{{ t("user.couponsTitle") }}</h1>
|
||||
<p v-if="error" class="error-message">{{ error }}</p>
|
||||
<div v-else-if="loading" class="loading-state">{{ t("common.loading") }}</div>
|
||||
<VCard class="min-h-[560px]">
|
||||
<h1 class="mb-4 text-xl font-bold text-text">{{ t("user.couponsTitle") }}</h1>
|
||||
<p v-if="error" class="mb-4 border border-danger/30 bg-danger/10 px-3.5 py-2.5 text-danger">{{ error }}</p>
|
||||
<div v-else-if="loading" class="py-10 text-muted">{{ t("common.loading") }}</div>
|
||||
<UiEmptyState v-else-if="coupons.length === 0" :text="t('user.noCoupons')" />
|
||||
<table v-else class="mtable">
|
||||
<VTable v-else>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ t("user.couponTitle") }}</th>
|
||||
@@ -56,23 +56,7 @@ onMounted(() => void load());
|
||||
<td>{{ statusLabels[coupon.status] ?? coupon.status }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</VTable>
|
||||
</VCard>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.coupons-panel {
|
||||
min-height: 560px;
|
||||
}
|
||||
.error-message {
|
||||
margin: 0 0 16px;
|
||||
padding: 10px 14px;
|
||||
color: #b42318;
|
||||
background: #fff1f0;
|
||||
border: 1px solid #ffd6d2;
|
||||
}
|
||||
.loading-state {
|
||||
padding: 40px 0;
|
||||
color: var(--mall-muted);
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user