96 lines
2.3 KiB
Markdown
96 lines
2.3 KiB
Markdown
# Delta Force Firearm Modification Codes
|
|
|
|
Delta Force Firearm Modification Codes is a lightweight web app for browsing and filtering firearm modification codes for Delta Force.
|
|
|
|
The site is built with Vite, React, TypeScript, Tailwind CSS, and React Router. It presents a searchable code library with filtering by weapon, mode, and tag, and includes quick copy support for each modification code.
|
|
|
|
## Features
|
|
|
|
- Browse a curated list of firearm modification codes.
|
|
- Filter results by weapon, mode, and tag.
|
|
- Copy modification codes directly from the interface.
|
|
- Render large lists efficiently with window virtualisation.
|
|
- Deploy as a static site.
|
|
|
|
## Tech Stack
|
|
|
|
- Vite
|
|
- React 19
|
|
- TypeScript
|
|
- Tailwind CSS 4
|
|
- React Router 7
|
|
- @tanstack/react-virtual
|
|
- Day.js
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
|
|
- Node.js 20 or later is recommended.
|
|
- pnpm is required for dependency management and scripts.
|
|
|
|
### Install dependencies
|
|
|
|
```bash
|
|
pnpm install
|
|
```
|
|
|
|
### Start the development server
|
|
|
|
```bash
|
|
pnpm dev
|
|
```
|
|
|
|
### Build for production
|
|
|
|
```bash
|
|
pnpm build
|
|
```
|
|
|
|
### Preview the production build locally
|
|
|
|
```bash
|
|
pnpm preview
|
|
```
|
|
|
|
## Available Scripts
|
|
|
|
- `pnpm dev`: start the Vite development server.
|
|
- `pnpm build`: run TypeScript compilation and create a production build.
|
|
- `pnpm preview`: preview the production bundle locally.
|
|
- `pnpm lint`: run project linting.
|
|
- `pnpm deploy`: build and publish the site with `gh-pages`.
|
|
|
|
## Project Structure
|
|
|
|
```text
|
|
src/
|
|
components/ Shared UI components
|
|
data/ Modification code dataset
|
|
init/ Application initialisation
|
|
layout/ Route layouts
|
|
page/ Route pages
|
|
router/ Router configuration
|
|
```
|
|
|
|
The current dataset is stored in `src/data/modification-codes.json`.
|
|
|
|
## Deployment
|
|
|
|
The repository is configured for static deployment. The `public/CNAME` file indicates the site is intended to be served on `onixbyte.dev`.
|
|
|
|
To deploy:
|
|
|
|
```bash
|
|
pnpm deploy
|
|
```
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome. If you want to improve the dataset, refine the filtering experience, or fix UI issues, open an issue or submit a pull request.
|
|
|
|
When contributing, please keep documentation and user-facing copy in British English.
|
|
|
|
## Licence
|
|
|
|
This project is released under the MIT Licence. See `LICENCE` for details. |