A web application for browsing directories and viewing file contents, built with React, Redux Toolkit, and TypeScript.
https://codingminer.github.io/directory-browser/
- 🗂️ Directory navigation — browse nested directories with breadcrumb path tracking
- 🔍 Search & filter — filter files and directories in real time
- 🧾 Search empty state — shows a clear "No results" message with a quick clear action
- ▦ Grid / list view toggle — switch between icon grid and detailed list
- ⌨️ Keyboard navigation — use arrow keys to move, Enter to open a directory, Backspace to go up
- 🖱️ Context menu — right-click any item to copy its name or path
- 🔀 Drag & drop — reorder files and directories visually
- ⏳ Improved loading state — spinner + skeleton placeholders while directories load
- 🌗 Dark / light theme — toggle between themes
- 🔗 URL routing — deep link directly to any directory (
/dir/:id)
- React 18 + TypeScript
- Redux Toolkit (createAsyncThunk, slices)
- React Router v6
- Jest + Testing Library
- Deployed via GitHub Pages
Clone the repository and install dependencies:
yarnStart the development server:
yarn startThe app runs at http://localhost:3000
Run the full test suite in interactive watch mode:
yarn testRun a single test file:
yarn test -- --testPathPattern=<filename>Update snapshots after component changes:
yarn test -- -uyarn buildOutput is in the build/ directory.
yarn lint # ESLint
yarn format # Prettier| Key | Action |
|---|---|
↑ / ↓ |
Move selection |
Enter |
Open selected directory |
Backspace |
Navigate to parent directory |
Esc |
Close context menu |