feat(courses): add type, search, and pricing filters to org landing page
- Add Types section to the Filter sidebar with all 4 course types - Add full-text search input centered in the hero (title + description) - Add Pricing section (Free / Paid) based on course cost - Compact hero prop across all 10 themes to halve vertical padding - Children snippet support in all hero themes for the search input - All filters are URL-driven (?types=, ?search=, ?tags=, ?pricing=) - Full-stack: validation schema, DB queries, service, API route, server load, UI
This commit is contained in:
@@ -19,6 +19,9 @@ export type TGetOrganizations = z.infer<typeof ZGetOrganizations>;
|
||||
export const ZGetCoursesBySiteName = z.object({
|
||||
siteName: z.string().min(1),
|
||||
tags: z.string().optional(),
|
||||
types: z.string().optional(),
|
||||
search: z.string().trim().optional(),
|
||||
pricing: z.enum(['free', 'paid']).optional(),
|
||||
page: z.coerce.number().int().min(1).optional(),
|
||||
limit: z.coerce.number().int().min(1).max(100).optional()
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user