mirror of
				https://github.com/walkxcode/dashboard-icons.git
				synced 2025-10-27 13:39:03 +08:00 
			
		
		
		
	
		
			
	
	
		
			89 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			89 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | # Dashboard Icons Web App
 | ||
|  | 
 | ||
|  | A web application to browse, search, and download icons from the [Dashboard Icons](https://github.com/homarr-labs/dashboard-icons) collection. | ||
|  | 
 | ||
|  | ## Features
 | ||
|  | 
 | ||
|  | - Browse through a curated collection of beautiful dashboard icons | ||
|  | - Search icons by name, aliases, or categories | ||
|  | - View icon details including author, formats, and variants | ||
|  | - Download icons in different formats (SVG, PNG, WebP) | ||
|  | - Copy icon URLs directly to your clipboard | ||
|  | - Responsive design that works on mobile, tablet, and desktop | ||
|  | - Dark mode support | ||
|  | 
 | ||
|  | ## Tech Stack
 | ||
|  | 
 | ||
|  | - **Next.js 15** - React framework with App Router | ||
|  | - **TypeScript v5** - Type-safe JavaScript | ||
|  | - **Tailwind CSS** - Utility-first CSS framework | ||
|  | - **Shadcn UI** - Reusable components built with Radix UI and Tailwind | ||
|  | 
 | ||
|  | ## Project Structure
 | ||
|  | 
 | ||
|  | ``` | ||
|  | src/ | ||
|  | ├── app/                      # Next.js App Router | ||
|  | │   ├── api/                  # API routes | ||
|  | │   │   └── icons/            # Icons browsing and detail pages | ||
|  | │   │       ├── [icon]/       # Dynamic icon detail page | ||
|  | │   │       │   ├── components/   # Icon-specific components | ||
|  | │   │       │   ├── error.tsx     # Error handling | ||
|  | │   │       │   ├── loading.tsx   # Loading state | ||
|  | │   │       │   └── page.tsx      # Icon detail page | ||
|  | │   │       ├── components/       # Icons page components | ||
|  | │   │       ├── loading.tsx       # Loading state | ||
|  | │   │       └── page.tsx          # Icons browse page | ||
|  | │   ├── globals.css           # Global styles | ||
|  | │   ├── layout.tsx            # Root layout | ||
|  | │   ├── page.tsx              # Homepage | ||
|  | │   └── theme-provider.tsx    # Theme provider component | ||
|  | ├── components/               # Shared components | ||
|  | │   ├── ui/                   # UI components (from shadcn/ui) | ||
|  | │   ├── header.tsx            # App header | ||
|  | │   └── theme-switcher.tsx    # Theme switcher | ||
|  | ├── lib/                      # Utility functions | ||
|  | │   ├── api.ts                # API utilities | ||
|  | │   └── utils.ts              # General utilities | ||
|  | └── types/                    # TypeScript type definitions | ||
|  |     ├── icons.ts              # Icon-related types | ||
|  |     └── index.ts              # Type exports | ||
|  | ``` | ||
|  | 
 | ||
|  | ## Development
 | ||
|  | 
 | ||
|  | ### Prerequisites
 | ||
|  | 
 | ||
|  | - Node.js 18+  | ||
|  | - pnpm | ||
|  | 
 | ||
|  | ### Installation
 | ||
|  | 
 | ||
|  | 1. Clone the repository | ||
|  | 2. Install dependencies: | ||
|  |    ```bash | ||
|  |    pnpm install | ||
|  |    ``` | ||
|  | 3. Create a `.env` file with the following variables: | ||
|  |    ``` | ||
|  |    GITHUB_TOKEN=your_github_token | ||
|  |    ``` | ||
|  | 4. Start the development server: | ||
|  |    ```bash | ||
|  |    pnpm dev | ||
|  |    ``` | ||
|  | 
 | ||
|  | ### Build
 | ||
|  | 
 | ||
|  | ```bash | ||
|  | pnpm build | ||
|  | ``` | ||
|  | 
 | ||
|  | ### Deployment
 | ||
|  | 
 | ||
|  | The application is optimized for deployment on Vercel. | ||
|  | 
 | ||
|  | ## Contributing
 | ||
|  | 
 | ||
|  | Contributions are welcome! Please feel free to submit a Pull Request. |