UNPKG

blog-system-ui

Version:

Blog UI copier (shadcn-style) with features, admin, Supabase hooks.

80 lines (73 loc) 2.93 kB
import { Filter, Folder, Plus } from 'lucide-react'; import Modal, { OpenModal, ViewModal } from '../../components/Modal'; import CreateCategory from './CreateCategory'; import CategoriesList from './CategoriesList'; function CategoriesPage() { return ( <div className="p-6"> <div className="grid grid-cols-[max-content_auto] grid-rows-2 items-start justify-between gap-x-10"> <h1 className="text-3xl font-bold">Categories</h1> <p className="text-slate-500"> Organize your content with categories </p> <Modal> <OpenModal name="create-categories"> <button className="col-start-2 row-start-1 inline-flex items-center gap-3 rounded-sm bg-purple-500 px-5 py-2.5 text-sm font-medium text-white"> <Plus strokeWidth={2.5} className="text-inherit" size="1.2em" />{' '} New Category </button> </OpenModal> <ViewModal title="New Category" name="create-categories"> <CreateCategory /> </ViewModal> </Modal> </div> <div className="flex flex-wrap items-start gap-4"> <div className="min-w-[13rem] flex-1 rounded-md border border-slate-300 bg-white p-6"> <p className="text-3xl font-medium">5</p> <p className="text-light text-sm text-slate-500"> Total Categories </p> </div> <div className="min-w-[13rem] flex-1 rounded-md border border-slate-300 bg-white p-6"> <p className="text-3xl font-medium">5</p> <p className="text-light text-sm text-slate-500"> Active Categories </p> </div> <div className="min-w-[13rem] flex-1 rounded-md border border-slate-300 bg-white p-6"> <p className="text-3xl font-medium">5</p> <p className="text-light text-sm text-slate-500"> Total Posts </p> </div> <div className="min-w-[13rem] flex-1 rounded-md border border-slate-300 bg-white p-6"> <p className="text-3xl font-medium">5</p> <p className="text-light text-sm text-slate-500"> Avg Posts/Category </p> </div> </div> <div className="mt-6 space-y-4 rounded-sm border border-slate-300 bg-white p-6"> <h2 className="text-2xl font-medium">Manage Posts</h2> <div className="flex justify-between gap-5 sm:justify-baseline"> <input type="text" placeholder="Search post.." className="w-[23rem] min-w-[15rem] rounded-sm border border-slate-300 px-3 py-2 text-sm focus:ring focus:ring-purple-600 focus:ring-offset-1 focus:outline-none" /> <button className="inline-flex items-center gap-3 rounded border border-slate-300 px-4 py-2 text-sm font-medium text-slate-600 focus:ring focus:ring-purple-600 focus:ring-offset-1"> <Filter className="text-inherit" size="1.1em" /> Filter </button> </div> <CategoriesList /> </div> </div> ); } export default CategoriesPage;