├── README.md ├── app ├── favicon.ico ├── (root) │ ├── layout.tsx │ ├── (home) │ │ ├── loading.tsx │ │ └── page.tsx │ ├── privacy │ │ └── page.tsx │ └── terms │ │ └── page.tsx ├── studio │ └── [[...index]] │ │ └── page.tsx ├── layout.tsx └── globals.css ├── public ├── logo.png ├── jsm_resources_banner.webp ├── arrow_white.svg ├── hamburger-menu.svg ├── vercel.svg ├── downloads.svg ├── arrow-blue.svg ├── magnifying-glass.svg ├── next.svg ├── arrow_trail.svg └── jsm_resources_banner.svg ├── .env.example ├── postcss.config.js ├── next.config.mjs ├── lib └── utils.ts ├── sanity ├── schemas │ ├── index.ts │ ├── resource-playlist.schema.ts │ └── resource.schema.ts ├── lib │ ├── client.ts │ └── image.ts ├── env.ts ├── actions.ts └── utils.ts ├── components ├── ui │ ├── skeleton.tsx │ ├── input.tsx │ ├── button.tsx │ ├── card.tsx │ └── dropdown-menu.tsx ├── Footer.tsx ├── Header.tsx ├── Filters.tsx ├── SearchForm.tsx ├── ResourceCard.tsx └── Navbar.tsx ├── sanity.cli.ts ├── components.json ├── .gitignore ├── tsconfig.json ├── sanity.config.ts ├── package.json └── tailwind.config.ts /README.md: -------------------------------------------------------------------------------- 1 | veena mam pdf 2 | -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/V-Notes/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/V-Notes/HEAD/public/logo.png -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_SANITY_PROJECT_ID="" 2 | NEXT_PUBLIC_SANITY_DATASET="" 3 | NEXT_PUBLIC_SANITY_TOKEN="" -------------------------------------------------------------------------------- /public/jsm_resources_banner.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/V-Notes/HEAD/public/jsm_resources_banner.webp -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | images:{ 4 | domains: ['cdn.sanity.io'] 5 | } 6 | }; 7 | 8 | export default nextConfig; 9 | -------------------------------------------------------------------------------- /lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { type ClassValue, clsx } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /sanity/schemas/index.ts: -------------------------------------------------------------------------------- 1 | import resource from './resource.schema'; 2 | import resourcePlaylist from './resource-playlist.schema'; 3 | 4 | const schemas = [resource, resourcePlaylist]; 5 | 6 | export default schemas; -------------------------------------------------------------------------------- /components/ui/skeleton.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "@/lib/utils" 2 | 3 | function Skeleton({ 4 | className, 5 | ...props 6 | }: React.HTMLAttributes) { 7 | return ( 8 |
12 | ) 13 | } 14 | 15 | export { Skeleton } 16 | -------------------------------------------------------------------------------- /app/(root)/layout.tsx: -------------------------------------------------------------------------------- 1 | import Footer from '@/components/Footer' 2 | import Navbar from '@/components/Navbar' 3 | import React from 'react' 4 | 5 | const layout = ({ children}: {children: React.ReactNode}) => { 6 | return ( 7 | <> 8 | 9 | {children} 10 |