diff --git a/client/index.html b/client/index.html index a16cb6b..3d50123 100644 --- a/client/index.html +++ b/client/index.html @@ -4,10 +4,10 @@ - client + smsPrat
- + \ No newline at end of file diff --git a/client/package-lock.json b/client/package-lock.json index 01d7838..b41eb9c 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -57,6 +57,7 @@ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -1431,6 +1432,7 @@ "integrity": "sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~7.16.0" } @@ -1441,6 +1443,7 @@ "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -1500,6 +1503,7 @@ "integrity": "sha512-4z2nCSBfVIMnbuu8uinj+f0o4qOeggYJLbjpPHka3KH1om7e+H9yLKTYgksTaHcGco+NClhhY2vyO3HsMH1RGw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.55.0", "@typescript-eslint/types": "8.55.0", @@ -1751,6 +1755,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1856,6 +1861,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -2077,6 +2083,7 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -2763,6 +2770,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -2824,6 +2832,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -3029,6 +3038,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3115,6 +3125,7 @@ "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -3236,6 +3247,7 @@ "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", "dev": true, "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/client/src/App.css b/client/src/App.css index b9d355d..a06ff5a 100644 --- a/client/src/App.css +++ b/client/src/App.css @@ -40,3 +40,41 @@ .read-the-docs { color: #888; } + + +#screen +{ + background: darkblue; + font-family: monospace; + width: 40ch; + height: 30ch; + font-size: 3.5vmin; + line-height: 1.25ch; + display: flex; + flex-direction: column; + margin: 0 auto; + overflow: hidden; + color: white; + padding: 0; /* Ensure no padding widens the box */ + border: none; +} + +#screen * { + margin: 0; + padding: 0; + box-sizing: border-box; + white-space: pre; + font-size: 0.9em; + width: 40ch; /* Force every child to be 40ch wide */ +} + +#header { + text-align: center; + width: 100%; +} + +#chatbox { + flex-grow: 1; + background: #222; + text-align: left; +} \ No newline at end of file diff --git a/client/src/App.tsx b/client/src/App.tsx index 3d7ded3..df793d8 100644 --- a/client/src/App.tsx +++ b/client/src/App.tsx @@ -3,31 +3,41 @@ import reactLogo from './assets/react.svg' import viteLogo from '/vite.svg' import './App.css' +import { Footer } from './components/Footer' + function App() { const [count, setCount] = useState(0) return ( <> -
- - Vite logo - - - React logo - +
+ +
+
0123456789012345678901234567890123456789
+
Line 02: Lorem ipsum dolor sit amet,
+
Line 03: consectetur adipiscing elit.
+
Line 04: Sed do eiusmod tempor incidid
+
Line 05: ut labore et dolore magna ali
+
Line 06: qua. Ut enim ad minim veniam,
+
Line 07: quis nostrud exercitation ulla
+
Line 08: mco laboris nisi ut aliquip ex
+
Line 09: ea commodo consequat. Duis aut
+
Line 10: e irure dolor in reprehenderi
+
Line 11: in voluptate velit esse cillum
+
Line 12: dolore eu fugiat nulla pariatu
+
Line 13: r. Excepteur sint occaecat cup
+
Line 14: idatat non proident, sunt in c
+
Line 15: ulpa qui officia deserunt mol
+
Line 16: lit anim id est laborum. Preti
+
Line 17: um tincidunt lacus. Nulla grav
+
Line 18: ida orci a odio. Nullam varius
+
Line 19: , turpis et commodo pharetra,
+
Line 20: est eros bibendum elit, nec lu
+
Line 21: ctus magna felis sollicitudin.
+
0123456789012345678901234567890123456789
-

Vite + React

-
- -

- Edit src/App.tsx and save to test HMR -

-
-

- Click on the Vite and React logos to learn more -

+
+
) } diff --git a/client/src/components/Footer.tsx b/client/src/components/Footer.tsx new file mode 100644 index 0000000..0df174b --- /dev/null +++ b/client/src/components/Footer.tsx @@ -0,0 +1,7 @@ +export function Footer() { + return ( + + ); +} diff --git a/client/src/components/Header.tsx b/client/src/components/Header.tsx new file mode 100644 index 0000000..e69de29 diff --git a/client/src/components/MessageBlock.tsx b/client/src/components/MessageBlock.tsx new file mode 100644 index 0000000..e69de29 diff --git a/server/package-lock.json b/server/package-lock.json index 3698041..13499f1 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -158,6 +158,7 @@ "integrity": "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~7.16.0" } @@ -1631,6 +1632,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver"