Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ashish-simplecoder/react-ts-file-tree

File tree built in React-Typescript and TailwindCSS
https://github.com/ashish-simplecoder/react-ts-file-tree

file-tree react state-management typescript vite

Last synced: about 24 hours ago
JSON representation

File tree built in React-Typescript and TailwindCSS

Awesome Lists containing this project

README

        

# react-ts-file-tree

## Description
- File-Tree Built in React-TypeScript and TailwindCSS.

## Features
- Type safe components.
- Reusable components for ui.
- Reusable custom hooks for event-handling.
- Very optimized rendering for performance of File-Tree's list with `Pub-Sub Modal` based `State-Management` just using the `React-Ref Bases Context`.
- `Event-Delegation` modal of managing the all of click handling of tree-node for less memory usage.
- `CRUD` operations.
- `React-Portal` to render the inputs at particular `focused node` for updating and creating the `node` or `filename`
- Delete focused node with `Delete` key from keyboard.
- Context Menu for managing all of the file operations like rename, delete, new file and new folder etc.
- Validations for empty value or duplicate entry while creating or updating the node name.
- Collapse/Expand feature for folders

## 💻 Tech Stack:

![Typescript](https://img.shields.io/badge/typescript-%23323330.svg?style=for-the-badge&logo=typescript&logoColor=%3178c6)
![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB)
![TailwindCSS](https://img.shields.io/badge/tailwind-%231572B6.svg?style=for-the-badge&logo=tailwindcss3&logoColor=white)
![gh-pages](https://img.shields.io/badge/github%20pages-purple.svg?style=for-the-badge&logo=GitHub&logoColor=white)
![pnpm](https://img.shields.io/badge/pnpm-black.svg?style=for-the-badge&logo=Pnpm&logoColor=yellow)

### Demo Video

https://github.com/Ashish-simpleCoder/react-ts-file-tree/assets/62009244/1d588c6f-6033-4559-a8dd-cb6ad1b37044

## Getting Started

Install pnpm
```js
npm i -g pnpm
````

Install All of the dependencies
```js
pnpm install
```

Start Development Server
```bash
pnpm dev
```
That's it, open up the browser and type `http://localhost:5173/react-ts-file-tree/` in the url.