Skip to content

abishek2429/Portfolio

Repository files navigation

Portfolio

This project now includes a React + TypeScript + Tailwind setup with shadcn-style paths and the requested UI components.

Integrated Component Files

  • components/ui/liquid-glass-button.tsx
  • lib/utils.ts
  • src/SpaceExplorer.tsx

Project Support Status

  • TypeScript: configured
  • Tailwind CSS: configured
  • shadcn-style structure: configured
  • Component default folder: components/ui
  • Styles default path (this project): src/index.css

Why components/ui Matters

If your project does not use components/ui, create it.

Benefits:

  • Matches shadcn CLI defaults and community conventions
  • Keeps imports consistent, for example @/components/ui/button
  • Centralizes reusable UI primitives for simpler maintenance
  • Reduces refactor churn when adding future shadcn components

Dependencies Used

Required:

  • @radix-ui/react-slot
  • class-variance-authority

Also used by this integration:

  • react
  • react-dom
  • lucide-react
  • clsx
  • tailwind-merge

Install and Run

Node.js is required. In this environment, npm was not available, so dependency installation could not be executed automatically.

Run these commands locally from project root:

npm install
npm run dev

If You Need to Initialize with shadcn CLI

If starting from scratch in another repo:

npx create-next-app@latest my-app --typescript --tailwind --eslint --app --src-dir --import-alias "@/*"
cd my-app
npx shadcn@latest init
npm install @radix-ui/react-slot class-variance-authority

Default paths in a typical shadcn + Next setup:

  • Components: components/ui
  • Global styles: src/app/globals.css (or app/globals.css)

Component Analysis

  1. Structure and dependencies
  • LiquidButton uses Slot, cva, and cn.
  • SpaceExplorer now renders the mission-control and solar-system portfolio experience.
  1. Arguments and state
  • LiquidButton supports variant, size, className, and native button props.
  1. Context providers/hooks
  • No external providers are required.
  • Hooks used: useState.
  1. Integration questions answered for this implementation
  • Props/data passed: static hero copy and button text for now.
  • State management: local component state only; no global state required.
  • Assets: one known Unsplash hero image is included.
  • Responsive behavior: classes support mobile through desktop.
  • Placement: wired as the main page render through src/App.tsx.

About

This is to build and deploy my portfolio website.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors