From 7a31158497dc50fe12a6b284fd439d3f9cb14ea7 Mon Sep 17 00:00:00 2001 From: louistiti Date: Sun, 14 May 2023 23:43:42 +0800 Subject: [PATCH] feat(web app): set up React --- app/src/index.html | 2 ++ app/src/js/app.tsx | 14 ++++++++++++++ app/src/js/test.tsx | 10 ++++++++++ app/tsconfig.json | 19 +++++++++++++++++++ 4 files changed, 45 insertions(+) create mode 100644 app/src/js/app.tsx create mode 100644 app/src/js/test.tsx create mode 100644 app/tsconfig.json diff --git a/app/src/index.html b/app/src/index.html index 9aad92e3..ec42db14 100644 --- a/app/src/index.html +++ b/app/src/index.html @@ -9,6 +9,7 @@
+

You can start to interact with Leon, don't be shy. @@ -48,5 +49,6 @@

+ diff --git a/app/src/js/app.tsx b/app/src/js/app.tsx new file mode 100644 index 00000000..0bf6b53e --- /dev/null +++ b/app/src/js/app.tsx @@ -0,0 +1,14 @@ +import { useState } from 'react' + +function App() { + const [count, setCount] = useState(0) + + return ( + <> + +

hello from React. Count: {count}

+ + ) +} + +export default App diff --git a/app/src/js/test.tsx b/app/src/js/test.tsx new file mode 100644 index 00000000..a3c784c6 --- /dev/null +++ b/app/src/js/test.tsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' + +import App from './app.tsx' + +ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( + + + +) diff --git a/app/tsconfig.json b/app/tsconfig.json new file mode 100644 index 00000000..cf45fa11 --- /dev/null +++ b/app/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "useDefineForClassFields": true, + "skipLibCheck": true, + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + } +}