|
1 | | -# React + TypeScript + Vite |
| 1 | +# React Desktop Simulator |
2 | 2 |
|
3 | | -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. |
| 3 | +A simple simulation of a desktop environment, built using React. |
4 | 4 |
|
5 | | -Currently, two official plugins are available: |
| 5 | +[Try it out!](https://devklick.github.io/react-desktop-sim/) |
6 | 6 |
|
7 | | -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh |
8 | | -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh |
| 7 | +## Status |
9 | 8 |
|
10 | | -## Expanding the ESLint configuration |
| 9 | +⚠️ WIP |
11 | 10 |
|
12 | | -If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: |
| 11 | +While it's somewhat functional, it's still a work in progress. Expect things to |
| 12 | +change fairly often, sometimes for better, sometimes for worse. |
13 | 13 |
|
14 | | -- Configure the top-level `parserOptions` property like this: |
15 | 14 |
|
16 | | -```js |
17 | | - parserOptions: { |
18 | | - ecmaVersion: 'latest', |
19 | | - sourceType: 'module', |
20 | | - project: ['./tsconfig.json', './tsconfig.node.json'], |
21 | | - tsconfigRootDir: __dirname, |
22 | | - }, |
23 | | -``` |
| 15 | +## Scope And Purpose |
24 | 16 |
|
25 | | -- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` |
26 | | -- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` |
27 | | -- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list |
| 17 | +The purpose of this app, as with most of my apps, is for fun and practice. |
| 18 | +It doesn't really serve any useful purpose. It's fun to work on, hopefully it's |
| 19 | +interesting to others too, either to work on (feel free to get involved) or just |
| 20 | +play around with. |
| 21 | + |
| 22 | +There's no defined scope, really. It's something that will likely slowly be built |
| 23 | +up more and more over time. With that being said, there are at least a few things |
| 24 | +that are definitely out of scope: |
| 25 | + |
| 26 | +- Installing applications |
| 27 | + <br>You will never be able to install applications into this desktop simulator. |
| 28 | + You can build your own applications using React and add them to the repo, but |
| 29 | + you will never be able to install any genuine applications. |
| 30 | + |
| 31 | +## Features |
| 32 | + |
| 33 | +### File System |
| 34 | + |
| 35 | +There's a basic file system built into the desktop environment, and it's persisted |
| 36 | +in your browsers local storage. It's not a full file system, so it doesn't contain |
| 37 | +the typical system files and folders you'd expect to see in a Windows, Linux or Mac OS |
| 38 | +system, but it's enough for you to create files and folders as required. |
| 39 | + |
| 40 | +### Moveable/Resizable Applications |
| 41 | + |
| 42 | +You can position your applications anywhere on the desktop, resizing them to fit |
| 43 | +your requirements. You can even maximize and minimize them when necessary. |
| 44 | + |
| 45 | +### File Browser Application |
| 46 | + |
| 47 | +There's no point having a file system built int the environment if there's no GUI |
| 48 | +to use it! There's a basic file browser application that allows you to navigate |
| 49 | +throughout the file system, view and create files and folders, pin favorites, and more. |
| 50 | + |
| 51 | +### Calculator Application |
| 52 | + |
| 53 | +Of course, there's a simple calculator app that allows you to perform basic |
| 54 | +calculations. Don't expect anything fancy though; you wont be able to complete |
| 55 | +you're algebra homework using it! |
| 56 | + |
| 57 | +### Notes Application |
| 58 | + |
| 59 | +A very bog-standard notes app that allows you to... well, write notes! |
| 60 | +It doesn't currently support saving files, but that should be added in the near |
| 61 | +future (the file system supports it, there's just no option in the UI to actually |
| 62 | +save the file). The same goes for loading saved files. |
| 63 | + |
| 64 | +### Settings Application |
| 65 | + |
| 66 | +The settings application will be for controlling the various settings of the |
| 67 | +desktop environment. At present, this is limited to: |
| 68 | + |
| 69 | +#### Appearance |
| 70 | + |
| 71 | +You can control the appearance of your simulated desktop environment, changing |
| 72 | +things like: |
| 73 | + |
| 74 | +- Background image |
| 75 | +- UI color |
| 76 | +- Font color |
| 77 | + |
| 78 | +Hopefully the list of configurable appearance settings will continue to grow |
| 79 | +over time. |
0 commit comments