+ To get started, edit the page.tsx file. +
++ Looking for a starting point or more instructions? Head over to{" "} + + Templates + {" "} + or the{" "} + + Learning + {" "} + center. +
+From 715ba23b32a34b9a95baf3bd49ae35760e4e3689 Mon Sep 17 00:00:00 2001
From: vtf6259 <125233907+vtf6259@users.noreply.github.com>
Date: Sat, 30 May 2026 10:07:05 -0700
Subject: [PATCH] most of this is not ready yet
[SKIP CI] because i have not modified build scripts yet
---
AGENTS.md | 11 +-
STYLE.md | 8 +
{frontend/public => assets}/favicon.ico | Bin
backend/server.go | 10 +-
frontend/.gitignore | 68 +-
frontend/.vscode/extensions.json | 3 -
frontend/AGENTS.md | 7 +
frontend/CLAUDE.md | 1 +
frontend/README.md | 52 +-
frontend/env.d.ts | 1 -
frontend/eslint.config.mjs | 18 +
frontend/index.html | 13 -
frontend/next.config.ts | 7 +
frontend/package-lock.json | 7590 +++++++++++++++++------
frontend/package.json | 41 +-
frontend/postcss.config.mjs | 7 +
frontend/public/file.svg | 1 +
frontend/public/globe.svg | 1 +
frontend/public/next.svg | 1 +
frontend/public/robots.txt | 2 -
frontend/public/vercel.svg | 1 +
frontend/public/window.svg | 1 +
frontend/src/App.vue | 83 -
frontend/src/app/favicon.ico | Bin 0 -> 25931 bytes
frontend/src/app/globals.css | 26 +
frontend/src/app/layout.tsx | 33 +
frontend/src/app/page.tsx | 65 +
frontend/src/main.ts | 10 -
frontend/src/router/index.ts | 8 -
frontend/src/style.css | 27 -
frontend/tsconfig.app.json | 18 -
frontend/tsconfig.json | 39 +-
frontend/tsconfig.node.json | 27 -
frontend/vite.config.ts | 19 -
messageTypes | 5 +-
35 files changed, 5943 insertions(+), 2261 deletions(-)
create mode 100644 STYLE.md
rename {frontend/public => assets}/favicon.ico (100%)
delete mode 100644 frontend/.vscode/extensions.json
create mode 100644 frontend/AGENTS.md
create mode 100644 frontend/CLAUDE.md
delete mode 100644 frontend/env.d.ts
create mode 100644 frontend/eslint.config.mjs
delete mode 100644 frontend/index.html
create mode 100644 frontend/next.config.ts
create mode 100644 frontend/postcss.config.mjs
create mode 100644 frontend/public/file.svg
create mode 100644 frontend/public/globe.svg
create mode 100644 frontend/public/next.svg
delete mode 100644 frontend/public/robots.txt
create mode 100644 frontend/public/vercel.svg
create mode 100644 frontend/public/window.svg
delete mode 100644 frontend/src/App.vue
create mode 100644 frontend/src/app/favicon.ico
create mode 100644 frontend/src/app/globals.css
create mode 100644 frontend/src/app/layout.tsx
create mode 100644 frontend/src/app/page.tsx
delete mode 100644 frontend/src/main.ts
delete mode 100644 frontend/src/router/index.ts
delete mode 100644 frontend/src/style.css
delete mode 100644 frontend/tsconfig.app.json
delete mode 100644 frontend/tsconfig.node.json
delete mode 100644 frontend/vite.config.ts
diff --git a/AGENTS.md b/AGENTS.md
index 28ffeb3..868d077 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1,7 +1,8 @@
-**Usage Policy for AI Agents**
+# Agent Instructions
-AI technology is restricted in its application within our operations. The following guidelines must be adhered to:
+Read `./STYLE.md` before writing any code in this repository.
-- **Minor Tasks Only**: AI is permitted to perform small, routine tasks that do not significantly impact overall outcomes.
-- **Error Correction**: AI may be utilized to identify and correct hard errors, ensuring accuracy and functionality.
-- **Limitations on Major Activities**: AI is not authorized to engage in large-scale projects or decision-making processes that require complex human judgment.
+If a containerized environment is detected, ask the user for a UID:GID to set file ownership to.
+
+- TypeScript: Follow the style guide; use global eslint rules.
+- Go: Follow the style guide; use `//nolint` for suppression.
diff --git a/STYLE.md b/STYLE.md
new file mode 100644
index 0000000..442a250
--- /dev/null
+++ b/STYLE.md
@@ -0,0 +1,8 @@
+# Style Guide
+
+1. Global eslint rules (TypeScript) and `//nolint` (Go) are allowed for following these rules.
+2. Use camelCase when possible.
+3. Do not put curly braces on separate lines.
+4. Use tabs instead of spaces for indentation.
+5. Use inline format strings (`${var}` in TypeScript, `fmt.Sprintf` with direct verbs in Go) instead of positional placeholder strings.
+6. Keep it simple, stupid.
diff --git a/frontend/public/favicon.ico b/assets/favicon.ico
similarity index 100%
rename from frontend/public/favicon.ico
rename to assets/favicon.ico
diff --git a/backend/server.go b/backend/server.go
index bf8ea3b..8bf31c9 100644
--- a/backend/server.go
+++ b/backend/server.go
@@ -40,8 +40,17 @@ func getAuth(wsClient *websocket.Conn) bool {
user.randomText = randomText
user.username = messages[1] // TODO: Do bounds checking before 1.0
err := wsClient.WriteMessage(1, []byte("CHALLENGE "+randomText+" "+pgppubkeycrypto.GetHexKeyID()))
+ if err != nil {
+ wsClient.WriteMessage(1, []byte("500")) // dont really care if this gets to the client since there is already a error
+ return false
+ }
prodLogln(err)
prodLogln(messages)
+ err = wsClient.WriteMessage(1, []byte("MOTD "+motd))
+ if err != nil {
+ wsClient.WriteMessage(1, []byte("500")) // this is only during auth since it is kindof messy i can put this in a function and put it everywhere for 1.0
+ return false
+ }
prodLogln(sens(user))
case "AUTH":
prodLogln(sens(messages[1]))
@@ -99,7 +108,6 @@ func handleWSClient(httpClient http.ResponseWriter, httpRequest *http.Request) {
fmt.Printf("Websocket upgrade failed: %s\n", err.Error())
return
}
- wsClient.WriteMessage(0, []byte("MOTD "+motd))
authDone := getAuth(wsClient)
if !authDone {
prodLogln(httpRequest.RemoteAddr + " Failed auth")
diff --git a/frontend/.gitignore b/frontend/.gitignore
index cd68f14..5ef6a52 100644
--- a/frontend/.gitignore
+++ b/frontend/.gitignore
@@ -1,39 +1,41 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-node_modules
-.DS_Store
-dist
-dist-ssr
-coverage
-*.local
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
+# dependencies
+/node_modules
+/.pnp
+.pnp.*
+.yarn/*
+!.yarn/patches
+!.yarn/plugins
+!.yarn/releases
+!.yarn/versions
-*.tsbuildinfo
+# testing
+/coverage
-.eslintcache
+# next.js
+/.next/
+/out/
-# Cypress
-/cypress/videos/
-/cypress/screenshots/
+# production
+/build
-# Vitest
-__screenshots__/
+# misc
+.DS_Store
+*.pem
-# Vite
-*.timestamp-*-*.mjs
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+.pnpm-debug.log*
+
+# env files (can opt-in for committing if needed)
+.env*
+
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
diff --git a/frontend/.vscode/extensions.json b/frontend/.vscode/extensions.json
deleted file mode 100644
index a7cea0b..0000000
--- a/frontend/.vscode/extensions.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "recommendations": ["Vue.volar"]
-}
diff --git a/frontend/AGENTS.md b/frontend/AGENTS.md
new file mode 100644
index 0000000..a380db2
--- /dev/null
+++ b/frontend/AGENTS.md
@@ -0,0 +1,7 @@
+First, read `../AGENTS.md` for project-wide AI usage policies.
+
+
+# This is NOT the Next.js you know
+
+This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` before writing any code. Heed deprecation notices.
+
diff --git a/frontend/CLAUDE.md b/frontend/CLAUDE.md
new file mode 100644
index 0000000..43c994c
--- /dev/null
+++ b/frontend/CLAUDE.md
@@ -0,0 +1 @@
+@AGENTS.md
diff --git a/frontend/README.md b/frontend/README.md
index e4a4b49..e215bc4 100644
--- a/frontend/README.md
+++ b/frontend/README.md
@@ -1,42 +1,36 @@
-# ChatWS Frontend
-This is the vue frontend for ChatWS.
-Also ignore the error in tsconfig.node.json the error is false.
-The rest is from the template readme.
-## Recommended IDE Setup
+This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
-[VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).
+## Getting Started
-## Recommended Browser Setup
+First, run the development server:
-- Chromium-based browsers (Chrome, Edge, Brave, etc.):
- - [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd)
- - [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters)
-- Firefox:
- - [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/)
- - [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/)
+```bash
+npm run dev
+# or
+yarn dev
+# or
+pnpm dev
+# or
+bun dev
+```
-## Type Support for `.vue` Imports in TS
+Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
-TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types.
+You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
-## Customize configuration
+This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
-See [Vite Configuration Reference](https://vite.dev/config/).
+## Learn More
-## Project Setup
+To learn more about Next.js, take a look at the following resources:
-```sh
-npm install
-```
+- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
+- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
-### Compile and Hot-Reload for Development
+You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
-```sh
-npm run dev
-```
+## Deploy on Vercel
-### Type-Check, Compile and Minify for Production
+The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
-```sh
-npm run build
-```
+Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
diff --git a/frontend/env.d.ts b/frontend/env.d.ts
deleted file mode 100644
index 11f02fe..0000000
--- a/frontend/env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-///
dAMQaiH zm^r3v#$Q#2T=X>bsY#D%s!bhs^M9PMAcHbCc0FMHV{u-dwlL;a1eJ63v5U*?Q_8JO zT#50!RD619#j_Uf))0ooADz~*9&lN!bBDRUgE>Vud-i5ck%vT=r^yD*^?Mp@Q^v+V zG#-?gKlr}Eeqifb{|So?HM&g91P8|av8hQoCmQXkd?7wIJw b z_^v8bbg` SAn{I*4bH$u(RZ6*x UhuA~hc=8czK8SHEKTzSxgbwi~9(OqJB&gwb^l4+m`k*Q;_?>Y-APi1{k zAHQ)P)G)f|AyjSgcCFps)Fh6Bca*Xznq36!pV6Az&m{O8$wGFD? zY&O*3*J0;_EqM#jh6^gMQKpXV?#1?>$ml1xvh8nSN>-?H=V;nJIwB07YX$e6vLxH( zqYwQ>qxwR(i4f)DLd)-$P>T-no_c!LsN@)8`e;W@)-Hj0>nJ-}Kla4-ZdPJzI&Mce zv)V_j;(3ERN3_@I$N<^|4Lf`B;8n+bX@bHbcZTopEmDI*Jfl)-pFDvo6svPRoo@(x z);_{lY<;);XzT`dBFpRmGrr}z5u1=p C^ S-{ce6iXQlLGcItwJ^mZx{m$&DA_oEZ)B{_bYPq-HA zcH8WGoBG(aBU_j)vEy+_71T34@4dmSg!|M8Vf92Zj6WH7Q7t#OHQqWgFE3ARt+%!T z?oLovLVlnf?2c7pTc)~cc^($_8nyKwsN`RA-23ed3sdj(ys%pjjM+9JrctL;dy8a( z@en&CQmnV(()bu|Y%G1-4a(6x{aLytn$T-;(&{QIJB9vMox11U-1HpD@d(QkaJdEb zG{)+6Dos_L+O3NpWo^=gR?evp|CqEG?L&Ut#D*KLaRFOgOEK(Kq1@!EGcTfo+%A&I z=dLbB+d$u{sh?u)xP{PF8L%;YPPW53+@{>5W=Jt#wQpN;0_HYdw1{ksf_XhO4#2F= zyPx6Lx2<92L-;L5PD`zn6zwIH`Jk( $?Qw({erA$^bC;q33hv!d!>%wRhj# zal^hk+WGNg;rJtb-EB(?czvOM=H7dl=vblBwAv>}%1@{}mnpUznfq1cE^sgsL0*4I zJ##!*B?=vI_OEVis5o+_IwMIRrpQyT_Sq~ZU%oY7c5JMIADzpD!Upz9h@iWg_>>~j zOLS;wp^i$-E?4<_cp?RiS%Rd?i;f*mOz=~(&3lo<=@(nR!_Rqiprh@weZlL!t#NCc zO!QTcInq|%#>OVgobj{~ixEUec`E25zJ~*DofsQdzIa@5^nOXj2T;8O`l--(QyU ^$t?TGY^7#&FQ+2SS3B#qK*k3`ye?8jUYSajE5iBbJls75CCc(m3dk{t?- zopcER9{Z?TC)mk~gpi^kbbu>b-+a{m#8-y2^p$ka4n60w;Sc2}HMf<8JUvh CL0B&Btk)T`ctE$*qNW8L$`7!r^9T+>=<=2qaq-;ll2{`{Rg zc5a0ZUI$oG&j-qVOuKa=*v4aY#IsoM+1|c4Z)<}lEDvy;5huB@1RJPquU2U*U-;gu z=En2m+qjBzR#DEJDO`WU)hdd{Vj%^0V*KoyZ|5lzV87&g_j~NCjwv0uQVqXOb*QrQ zy|Qn`hxx(58c 70$E;L(X0uZZ72M1!6oeg)(cdKO ze0gDaTz+ohR-#d)NbAH4x{I(21yjwvBQfmpLu$)|m{XolbgF!pmsqJ#D}(ylp6uC> z{bqtcI#hT#HW=wl7>p!38sKsJ`r8}lt-q%Keqy%u(xk=yiIJiUw6|5IvkS+#?JTBl z8H5(Q?l#wzazujH!8o>1xtn8#_w+397* _cy8!pQGP%K(Ga3pAjsaTbbXJlQF_+m+-UpUUent@xM zg%jqLUExj~o^vQ3Gl*>wh=_gOr2*|U64_iXb+-111a H}$TjeajM+I20xw(((>fej-@CIz4S1pi$(#}P7`4({6QS2CaQS4NPENDp>sAqD z$bH4KGzXGffkJ7R>V>)>tC)uax{UsN*dbeNC*v}#8Y#OWYwL4t$ePR?VTyIs!wea+ z5Urmc)X|^`MG~*dS6pGSbU+gPJoq*^a=_>$n4|P^w$sMBBy@f*Z^Jg6?n5?oId6f{ z$LW4M|4m502z0t7g<#Bx%X;9<=)smFolV&(V^(7Cv2-sxbxopQ!)*#ZRhTBpx1)Fc zNm1T%bONzv6@#|dz(w02AH8OXe>kQ#1FMCzO}2J_mST)+ExmBr9cva-@?;wnmWMOk z{3_~EX_xadgJGv&H@zK_8{(x84`}+c?oSBX*Ge3VdfTt&F}yCpFP?CpW+BE^cWY0^ zb&uBN!Ja3UzYHK-CTyA5=L zEMW{l3Usky#ly=7px648W31UNV@K)&Ub&zP1c7%)`{);I4b0Q<)B}3;NMG2JH=X$U zfIW4)4n9ZM`-yRj67I)YSLDK)qfUJ_ij}a#aZN~9EXrh8eZY2&=uY%2N0UFF7<~%M zsB8=erOWZ>Ct_#^tHZ|*q`H;A)5;ycw*I cmVxi8_0Xk}aJA^ath+E;xg!x+As(M#0=)3!NJR6H&9+zd#iP(m0PIW8$ z1Y^VX`>jm`W!=WpF*{ioM?C9`yOR>@0q=u7o>BP-eSHqCgMDj!2anwH?s%i2p+Q7D zzszIf5XJpE)IG4;d_(La-xenmF(tgAxK`Y4sQ}BSJEPs6N_U2vI{8=0C_F?@7<(G; zo$~G=8p+076G;`}>{MQ>t>7cm=zGtfbdDXm6||jUU|?X?CaE?(<6bKDYKeHlz}DA8 zXT={X=yp_R;HfJ9h%?eWvQ!dRgz&Su*JfNt!Wu>|XfU &68iRikRrHRW|ZxzRR^`eIGt zIeiDgVS>IeExKVRWW8-= A= yA`}`)ZkWBrZD`hpWIxBGkh&f#ijr449~m`j6{4jiJ*C!oVA8ZC?$1RM#K(_b zL9TW)kN*Y4%^-qPpMP7d4)o?Nk#>aoYHT(*g)qmRUb?**F@pnNiy6Fv9rEiUqD(^O zzyS?nBrX63BTRYduaG(0VVG2yJRe%o&rVrLjbxTaAFTd8s;<<@Qs>u(<193R8>}2_ zuwp{7;H2a*X7_jryzriZXMg?bTuegABb^87@SsKkr2)0Gyiax8KQWstw^v #ix45EVrcEhr>!NMhprl $InQMzjSFH54x5k9qHc`@9uKQzvL4ihcq{^B zPrVR=o_ic%Y>6&rMN)hTZsI7I<3&`#(nl+3y3ys9A~ &^=4?PL&nd8)`OfG#n zwAMN$1&>K++c{^|7< 4P=2y(B{jJsQ0a#U;HTo4ZmWZYvI{+s;Td{Yzem%0*k#)vjpB zia;J&>}ICate44SFYY3vEelqStQWFihx%^vQ@Do(sOy7yR2@WNv7Y9I^yL=nZr3mb zXKV5t@=?-Sk|b{XMhA7ZGB@2hqsx}4xwCW!in#C zI@}sc Zlr3-NFJ@NFaJlhyfcw{k^vvtGl`N9xSo**rDW4S}i zM9{fMPWo%4wYDG~BZ18BD+}h|GQKc-g^{++3MY>}W_uq7jGHx{mwE9fZiPCoxN$+7 zrODGGJrOkcPQUB(FD5aoS4g~7#6NR^ma7-!>mHuJfY5kTe6PpNNKC9GGRiu^L31uG z$7v`*JknQHsYB!Tm_W{a32TM099djW%5e+j0Ve_ct}IM>XLF1Ap+YvcrLV=|CKo6S zb+ 9Nl3_YdKP6%Cxy@6TxZ>;4&nTneadr z_ES90ydCev)LV!dN=#(*f}|ZORFdvkYBni^aLbUk>BajeWIOcmHP#8S)*2U~QKI%S zyrLmtPqb&TphJ;>yAxri#;{uyk`JJqODDw%(Z=2 `1uc}br^V%>j!gS)D*q*f_-qf8&D;W1dJgQMlaH5er zN2U<%Smb7==vE}dDI8K7cKz!vs^73o9f>2sgiTzWcwY|BMYHH5%Vn7#kiw&eItCqa zIkR2~Q}>X=Ar8W|^Ms41Fm8o6IB2_j60eOeBB1Br!boW7JnoeX6Gs)?7rW0^5psc- zjS16yb>dFn>KPOF;imD}e!enuIniFzv}n$m2#gCCv4jM#ArwlzZ$7@9&XkFxZ4n!V zj3dyiwW4Ki2QG{@i>yuZXQizw_OkZI^-3otXC{!(lUpJF33gI60ak;Uqitp74|B6I zgg{b=Iz}WkhCGj1M =hu4#Aw173YxIVbISaoc z-nLZC*6Tgivd5V`K%GxhBsp@SUU60-rfc$=wb>zdJzXS&-5(NRRodFk;Kxk!S( O(a0e7oY=E( zAyS;Ow?6Q&XA+cnkCb{28_1N8H#?J!*$MmIwLq^*T_9-z^&UE@A(z9oGYtFy6EZef LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css new file mode 100644 index 0000000..a2dc41e --- /dev/null +++ b/frontend/src/app/globals.css @@ -0,0 +1,26 @@ +@import "tailwindcss"; + +:root { + --background: #ffffff; + --foreground: #171717; +} + +@theme inline { + --color-background: var(--background); + --color-foreground: var(--foreground); + --font-sans: var(--font-geist-sans); + --font-mono: var(--font-geist-mono); +} + +@media (prefers-color-scheme: dark) { + :root { + --background: #0a0a0a; + --foreground: #ededed; + } +} + +body { + background: var(--background); + color: var(--foreground); + font-family: Arial, Helvetica, sans-serif; +} diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx new file mode 100644 index 0000000..976eb90 --- /dev/null +++ b/frontend/src/app/layout.tsx @@ -0,0 +1,33 @@ +import type { Metadata } from "next"; +import { Geist, Geist_Mono } from "next/font/google"; +import "./globals.css"; + +const geistSans = Geist({ + variable: "--font-geist-sans", + subsets: ["latin"], +}); + +const geistMono = Geist_Mono({ + variable: "--font-geist-mono", + subsets: ["latin"], +}); + +export const metadata: Metadata = { + title: "Create Next App", + description: "Generated by create next app", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + {children} + + ); +} diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx new file mode 100644 index 0000000..3f36f7c --- /dev/null +++ b/frontend/src/app/page.tsx @@ -0,0 +1,65 @@ +import Image from "next/image"; + +export default function Home() { + return ( + ++ ); +} diff --git a/frontend/src/main.ts b/frontend/src/main.ts deleted file mode 100644 index 6c7eb7b..0000000 --- a/frontend/src/main.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { createApp } from 'vue' -import App from './App.vue' -import "./style.css" -//import router from './router' - -const app = createApp(App) - -// app.use(router) // Not yet - -app.mount('#app') \ No newline at end of file diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts deleted file mode 100644 index e1eab52..0000000 --- a/frontend/src/router/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [], -}) - -export default router diff --git a/frontend/src/style.css b/frontend/src/style.css deleted file mode 100644 index 30682db..0000000 --- a/frontend/src/style.css +++ /dev/null @@ -1,27 +0,0 @@ -:root { - background-color: #050505; - color: white; -} -input { - background-color: #414141; - color: inherit; - border: none; -} -button { - border: none; - border-radius: 10px; - background-color: #414141; - color: inherit; -} -ul { - list-style-type: none; -} -.flexrow { - display: flex; -} -.flexrowMember { - flex-direction: row; -} -.gap10px { - gap: 10px; -} \ No newline at end of file diff --git a/frontend/tsconfig.app.json b/frontend/tsconfig.app.json deleted file mode 100644 index c0f2d86..0000000 --- a/frontend/tsconfig.app.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - // Extra safety for array and object lookups, but may have false positives. - "noUncheckedIndexedAccess": true, - - // Path mapping for cleaner imports. - "paths": { - "@/*": ["./src/*"] - }, - - // `vue-tsc --build` produces a .tsbuildinfo file for incremental type-checking. - // Specified here to keep it out of the root directory. - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo" - } -} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 66b5e57..cf9c65d 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -1,11 +1,34 @@ { - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" + "compilerOptions": { + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react-jsx", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./src/*"] } - ] + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts", + "**/*.mts" + ], + "exclude": ["node_modules"] } diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json deleted file mode 100644 index c9b2bad..0000000 --- a/frontend/tsconfig.node.json +++ /dev/null @@ -1,27 +0,0 @@ -// TSConfig for modules that run in Node.js environment via either transpilation or type-stripping. -{ - "extends": "@tsconfig/node24/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "playwright.config.*", - "eslint.config.*" - ], - "compilerOptions": { - // Most tools use transpilation instead of Node.js's native type-stripping. - // Bundler mode provides a smoother developer experience. - "module": "preserve", - "moduleResolution": "bundler", - - // Include Node.js types and avoid accidentally including other `@types/*` packages. - "types": ["node"], - - // Disable emitting output during `vue-tsc --build`, which is used for type-checking only. - "noEmit": true, - - // `vue-tsc --build` produces a .tsbuildinfo file for incremental type-checking. - // Specified here to keep it out of the root directory. - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo" - } -} diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts deleted file mode 100644 index 91cc7f9..0000000 --- a/frontend/vite.config.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueDevTools from 'vite-plugin-vue-devtools' - -// https://vite.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueDevTools(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - }, - }, - base: "/ChatWS" // /ChatWS is for the offical frontend instance please change this for yourself -}) diff --git a/messageTypes b/messageTypes index 10d7204..aeab8ec 100644 --- a/messageTypes +++ b/messageTypes @@ -5,9 +5,10 @@ AUTH: The encrypted CHALLENGE value FAILAUTH: The decrypted AUTH result does not match the CHALLENGE value AUTHSUC: The decrypted AUTH result does match the CHALLENGE value MESSAGE: Message to send -CONFIRM: Basically TCP ACK but in this websocket protocol +CONFIRM: ACK BAN: If the AUTH result failed to decrypt KICK: Kick a user via closing the wsClient REQPUBKEY: Request the server pgp public key (ONLY DURING AUTH) PUBKEY: Base64 encoded public key (ONLY DURING AUTH) -RESEND: Resend challenge (ONLY DURING AUTH) \ No newline at end of file +RESEND: Resend challenge (ONLY DURING AUTH) +500: Internal server error+ ++ ++ ++ To get started, edit the page.tsx file. +
++ Looking for a starting point or more instructions? Head over to{" "} + + Templates + {" "} + or the{" "} + + Learning + {" "} + center. +
+