├── app ├── favicon.ico ├── page.tsx ├── layout.tsx └── globals.css ├── public ├── vercel.svg ├── window.svg ├── file.svg ├── globe.svg ├── next.svg └── r │ └── cookie-consent.json ├── next.config.ts ├── postcss.config.mjs ├── lib └── utils.ts ├── .releaserc.json ├── components ├── theme-provider.tsx ├── star-count.tsx ├── footer.tsx ├── mode-toggle.tsx ├── ui │ ├── container.tsx │ ├── code-highlighter.tsx │ ├── tabs.tsx │ ├── button.tsx │ └── dropdown-menu.tsx ├── hero.tsx ├── navbar.tsx ├── demo.tsx ├── blocks │ └── cookie-consent.tsx └── cookies-preview.tsx ├── eslint.config.mjs ├── components.json ├── registry.json ├── .gitignore ├── tsconfig.json ├── CHANGELOG.md ├── .github └── workflows │ └── release.yml ├── package.json ├── README.md └── registry └── cookie-consent.tsx /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kaizenics/shadcn-cookies/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- 1 | import type { NextConfig } from "next"; 2 | 3 | const nextConfig: NextConfig = { 4 | /* config options here */ 5 | }; 6 | 7 | export default nextConfig; 8 | -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | '@tailwindcss/postcss': {}, 5 | }, 6 | }; 7 | 8 | export default config; 9 | -------------------------------------------------------------------------------- /lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { clsx, type ClassValue } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /.releaserc.json: -------------------------------------------------------------------------------- 1 | { 2 | "branches": ["main"], 3 | "plugins": [ 4 | "@semantic-release/commit-analyzer", 5 | "@semantic-release/release-notes-generator", 6 | "@semantic-release/changelog", 7 | "@semantic-release/git", 8 | "@semantic-release/github" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /components/theme-provider.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import { ThemeProvider as NextThemesProvider } from "next-themes" 5 | 6 | export function ThemeProvider({ 7 | children, 8 | ...props 9 | }: React.ComponentProps) { 10 | return {children} 11 | } 12 | -------------------------------------------------------------------------------- /public/window.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- 1 | import { Navbar } from "@/components/navbar"; 2 | import { Hero } from "@/components/hero"; 3 | import { CookiesPreview } from "@/components/cookies-preview"; 4 | import { Footer } from "@/components/footer"; 5 | 6 | export default function Home() { 7 | return ( 8 | <> 9 | 10 | 11 | 12 |