The Drakk3 Portfolio uses a hybrid component architecture that combines Astro components (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Drakk3/drakk3/llms.txt
Use this file to discover all available pages before exploring further.
.astro) for static content with React components (.tsx) for interactive features, all styled with shadcn/ui primitives and Tailwind CSS v4.
Component Directory Structure
All components live in thesrc/components/ directory:
Component Categories
Astro Components
Static, server-rendered sections (Navbar, Hero, About, Skills, Projects, Footer)
React Components
Interactive features requiring client-side state (Contact form)
shadcn/ui
Reusable UI primitives (Button, Input, Card, Badge, etc.)
Layout Component
The site uses a shared layout wrapper (src/layouts/Layout.astro) that provides the HTML structure and meta tags:
src/layouts/Layout.astro
- Accepts optional
titleprop (defaults to site name) - Imports global CSS (including Tailwind v4 config)
- Uses
<slot />for content injection
Component Composition Pattern
All components are composed together insrc/pages/index.astro using a single-page architecture:
src/pages/index.astro
Notice that
Contact is imported without the .tsx extension and uses the client:load directive to hydrate it on the client. This is the pattern for React components in Astro.Import Paths and @ Alias
The project uses the@ path alias to reference the src/ directory:
astro.config.mjs:
When to Use Each Component Type
- Astro Components
- React Components
- shadcn/ui
Use Astro components when:
- Content is static or server-rendered
- No client-side interactivity needed
- You want zero JavaScript in the browser
- Examples: marketing pages, blog posts, headers, footers
Styling Approach
All components use Tailwind CSS v4 utility classes:- Theme tokens defined in
src/styles/global.cssunder@theme { } - Dark-only design (no light mode)
- Primary color: white (
hsl(0 0% 100%)) on dark background - shadcn components use
cn()helper for class composition
Next Steps
Astro Components
Explore all Astro components with real code examples
React Components
Learn about the Contact form and React integration
shadcn/ui Primitives
Reference for all UI components and utilities