Website components
10 Website components for React, shadcn, Vue 3, Laravel Blade and HTML + Alpine.js: Blog index, Blog post, CookieConsent, FeatureStory, LegalPage, Marketing sections, Personal widgets, Profile page, Testimonials, TypingTerminal.
- Blog indexA blog landing page: featured post, search, category and tag filters, post cards with cover, date and reading time, and pagination.
- Blog postA post page: cover, byline, reading progress bar, sticky table of contents with scroll-spy, rich Markdown body with callouts and code, share, tags, author, previous and next, related posts and a comments slot.
- CookieConsentCookie consent banner and preferences dialog with Consent Mode categories. Reject and Accept carry equal weight, and it holds no tracking code.
- FeatureStoryOne feature told as copy plus a picture, side by side above 48rem of container width; alternate with reverse to build a product page.
- LegalPageA legal document page with a switcher between documents, the updated date, a draft notice, numbered sections with copyable anchors and a section rail.
- Marketing sectionsBuilding blocks for a product page. How it works steps, a feature grid, a closing call to action banner, credit packs, aurora and grid backgrounds, a hero with an app mockup and a scripted AI session that plays back. They sit beside the existing feature story, plan cards and testimonials.
- Personal widgetsSmall widgets for a personal site: availability badge, local clock with working-hours state, social links, now list, stats, skills and weather.
- Profile pageA two-column profile page: an identity column (avatar, name, handle, links, one action, bio, widgets) beside about, experience, skills, projects, writing and testimonials. The owner also sees their apps and account details.
- TestimonialsA public form for people to leave a testimonial with a rating and consent, and a display as masonry wall, equal grid or spotlight, with a menu for moderation.
- TypingTerminalA terminal that types commands and prints their output step by step, for hero sections and docs. Renders the full transcript first, for servers and reduced motion.
Translations
App strings for the Nasaq locale: TranslationsProvider and useT() give t(key, vars) over your dictionaries, with nested and namespaced keys, interpolation, CLDR plurals, locale fallback, a remembered choice and seedLocale for server defaults.
Blog index
A blog landing page: featured post, search, category and tag filters, post cards with cover, date and reading time, and pagination.