How vsgh-india/vsgh-website works
VSGH is a Next.js corporate website presenting company, materials, technology, applications, research, sustainability, insights, careers, and contact information. A visitor enters through routed pages; page data is resolved from local content with a Sanity content path available, then rendered through domain views and shared presentation components. The repository also includes preview and revalidation endpoints, plus indexing and SEO behavior. Sanity is described in the README as not yet wired to a VSGH project, so its runtime connection is shown as unverified. Some domain implementations are represented by their exact content or route paths because their source was not sampled.
Main entry points: app Domain pages · resolve.ts Content resolver · page.tsx Home page · insights Insights pages
Components 23
Website experience
- Home page
src/app/page.tsx - Domain pages
src/app - Insights pages
src/app/insights - Contact page
src/app/contact/page.tsx - Site layout
src/app/layout.tsx - Home sections
src/components/home
Content and rendering
- Capability view
src/components/domain/capability-page-view.tsx - About view
src/components/about/about-page-view.tsx - Article view
src/components/domain/insight-article-view.tsx - Page builder
src/components/cms/page-builder.tsx - Domain content
src/content - Content resolver
src/content/resolve.ts
CMS and preview
- Sanity fetch
src/sanity/fetch.ts - Sanity schemas
src/sanity/schema - Preview session
src/sanity/preview-session.ts - Preview endpoints
src/app/api/draft/route.ts - Revalidation endpoint
src/app/api/revalidate/route.ts - Revalidation logic
src/sanity/revalidate.ts
Web platform
- SEO metadata
src/lib/seo.ts - Indexing policy
src/lib/indexing.ts - Security controls
src/lib/security-headers.ts
Other components
- Visitor
- Sanity CMS
Connections 24
- Visitor → Home page: opens
src/app/page.tsx - Visitor → Domain pages: opens
- Visitor → Insights pages: opens
- Visitor → Contact page: opens
src/app/contact/page.tsx - Home page → Home sections: renders
src/app/page.tsx - Domain pages → Domain content: uses fallbacks
src/app/applications/advanced-industrial/page.tsx - Domain pages → Capability view: routes through
- Domain pages → About view: routes through
- Domain pages → Content resolver: resolves content
src/app/contact/page.tsx - Insights pages → Content resolver: resolves articles
src/app/insights/[slug]/page.tsx - Insights pages → Article view: renders
src/app/insights/[slug]/page.tsx - Contact page → Content resolver: resolves content
src/app/contact/page.tsx - Content resolver → Domain content: uses fallback content
src/content/resolve.ts - Content resolver → Sanity fetch: may fetch
src/content/resolve.ts - Sanity fetch → Sanity CMS: queries
README.md - Sanity schemas → Sanity CMS: defines content for
README.md - Capability view → Page builder: renders blocks
src/components/domain/capability-page-view.tsx - Domain pages → Preview session: checks session
src/app/contact/page.tsx - Preview endpoints → Preview session: sets preview mode
src/app/api/draft/route.ts - Revalidation endpoint → Revalidation logic: invokes
src/app/api/revalidate/route.ts - Revalidation logic → Security controls: checks security policy
src/sanity/revalidate.ts - Home page → SEO metadata: sets metadata
src/app/page.tsx - SEO metadata → Indexing policy: gets robots metadata
src/lib/seo.ts - Contact page → SEO metadata: sets metadata
src/app/contact/page.tsx