feat: Establish design system with Tailwind, CSS variables, and core UI components, and introduce discovery page.
This commit is contained in:
parent
a7de3aca72
commit
f6cb4e4f81
2 changed files with 35 additions and 7 deletions
|
|
@ -1113,3 +1113,23 @@ ul {
|
|||
color: var(--text-secondary);
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
/* ===========================
|
||||
Checkbox Visibility Enhancement
|
||||
=========================== */
|
||||
.checkbox-visible .q-checkbox__bg {
|
||||
border: 2px solid #475569 !important; /* slate-600 - dark border for visibility */
|
||||
}
|
||||
|
||||
.checkbox-visible .q-checkbox__svg {
|
||||
color: #ffffff !important; /* white checkmark */
|
||||
}
|
||||
|
||||
.checkbox-visible.q-checkbox--truthy .q-checkbox__bg {
|
||||
background-color: #3b82f6 !important; /* primary blue when checked */
|
||||
border-color: #3b82f6 !important;
|
||||
}
|
||||
|
||||
.checkbox-visible.q-checkbox--dense .q-checkbox__bg {
|
||||
border-width: 2px !important;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -229,15 +229,17 @@ const { currentUser } = useAuth();
|
|||
|
||||
<!-- LEFT SIDEBAR: Category Filter -->
|
||||
<div class="w-full lg:w-64 flex-shrink-0 sticky top-24">
|
||||
<div class="bg-white dark:bg-slate-800 rounded-2xl shadow-sm border border-slate-200 dark:border-slate-700 overflow-hidden">
|
||||
<div class="bg-white rounded-2xl shadow-sm border border-slate-200 overflow-hidden">
|
||||
<q-expansion-item
|
||||
expand-separator
|
||||
:label="`หมวดหมู่ (${selectedCategoryIds.length})`"
|
||||
class="font-bold text-slate-800 dark:text-white"
|
||||
header-class="bg-white dark:bg-slate-800"
|
||||
class="font-bold text-slate-900"
|
||||
header-class="bg-white"
|
||||
text-color="slate-900"
|
||||
:header-style="{ color: '#0f172a' }"
|
||||
default-opened
|
||||
>
|
||||
<q-list class="bg-white dark:bg-slate-800 border-t border-slate-100 dark:border-slate-700">
|
||||
<q-list class="bg-white border-t border-slate-200">
|
||||
<q-item
|
||||
v-for="cat in (showAllCategories ? categories : categories.slice(0, 4))"
|
||||
:key="cat.id"
|
||||
|
|
@ -247,10 +249,16 @@ const { currentUser } = useAuth();
|
|||
dense
|
||||
>
|
||||
<q-item-section avatar>
|
||||
<q-checkbox v-model="selectedCategoryIds" :val="cat.id" color="primary" dense />
|
||||
<q-checkbox
|
||||
v-model="selectedCategoryIds"
|
||||
:val="cat.id"
|
||||
color="primary"
|
||||
dense
|
||||
class="checkbox-visible"
|
||||
/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label class="text-sm font-medium text-slate-700 dark:text-slate-300">{{ getLocalizedText(cat.name) }}</q-item-label>
|
||||
<q-item-label class="text-sm font-medium text-slate-900">{{ getLocalizedText(cat.name) }}</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
|
||||
|
|
@ -260,7 +268,7 @@ const { currentUser } = useAuth();
|
|||
clickable
|
||||
v-ripple
|
||||
@click="showAllCategories = !showAllCategories"
|
||||
class="text-blue-600 dark:text-blue-400 font-bold text-sm"
|
||||
class="text-blue-600 font-bold text-sm"
|
||||
>
|
||||
<q-item-section>
|
||||
<div class="flex items-center gap-1">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue