Initial commit
This commit is contained in:
commit
e4785522f5
19 changed files with 9648 additions and 0 deletions
24
.gitignore
vendored
Normal file
24
.gitignore
vendored
Normal file
|
@ -0,0 +1,24 @@
|
|||
# Nuxt dev/build outputs
|
||||
.output
|
||||
.data
|
||||
.nuxt
|
||||
.nitro
|
||||
.cache
|
||||
dist
|
||||
|
||||
# Node dependencies
|
||||
node_modules
|
||||
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
|
||||
# Misc
|
||||
.DS_Store
|
||||
.fleet
|
||||
.idea
|
||||
|
||||
# Local env files
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"editor.insertSpaces": false
|
||||
}
|
75
README.md
Normal file
75
README.md
Normal file
|
@ -0,0 +1,75 @@
|
|||
# Nuxt Minimal Starter
|
||||
|
||||
Look at the [Nuxt documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
|
||||
|
||||
## Setup
|
||||
|
||||
Make sure to install dependencies:
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm install
|
||||
|
||||
# pnpm
|
||||
pnpm install
|
||||
|
||||
# yarn
|
||||
yarn install
|
||||
|
||||
# bun
|
||||
bun install
|
||||
```
|
||||
|
||||
## Development Server
|
||||
|
||||
Start the development server on `http://localhost:3000`:
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm run dev
|
||||
|
||||
# pnpm
|
||||
pnpm dev
|
||||
|
||||
# yarn
|
||||
yarn dev
|
||||
|
||||
# bun
|
||||
bun run dev
|
||||
```
|
||||
|
||||
## Production
|
||||
|
||||
Build the application for production:
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm run build
|
||||
|
||||
# pnpm
|
||||
pnpm build
|
||||
|
||||
# yarn
|
||||
yarn build
|
||||
|
||||
# bun
|
||||
bun run build
|
||||
```
|
||||
|
||||
Locally preview production build:
|
||||
|
||||
```bash
|
||||
# npm
|
||||
npm run preview
|
||||
|
||||
# pnpm
|
||||
pnpm preview
|
||||
|
||||
# yarn
|
||||
yarn preview
|
||||
|
||||
# bun
|
||||
bun run preview
|
||||
```
|
||||
|
||||
Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
|
15
app.vue
Normal file
15
app.vue
Normal file
|
@ -0,0 +1,15 @@
|
|||
<template>
|
||||
<NuxtPage />
|
||||
</template>
|
||||
|
||||
<style>
|
||||
html,
|
||||
body {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
box-sizing: border-box;
|
||||
color: whitesmoke;
|
||||
background-color: rgb(30, 30, 30);
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
1
assets/img/envelope.svg
Normal file
1
assets/img/envelope.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#000" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M182.78 80.125c3.367 19.498 10.608 52.67 19.126 84.813 8.126 30.663 17.73 60.122 25.063 75.062 57.968-.962 148.212-16.707 252.343-46.344-91.756-70.023-188.486-99.376-296.532-113.53zM164.657 85c-65.62 51.243-106.43 120.106-138.5 196.25 54.866-38.51 111.644-60.42 169.313-70.906-3.995-12.636-7.88-26.486-11.626-40.625-8.425-31.79-15.554-64.12-19.188-84.72zm322.281 125.906c-74.123 21.218-141.43 35.68-196.25 42.813 24.018 51.794 36.448 106.688 43.688 160.936 70.634-58.76 125.36-118.495 152.563-203.75zM201.53 228.28c-56.563 9.917-111.78 30.946-165.56 68.907 89.478 61.396 189.91 97.037 279.874 119.844-7.362-55.057-20.104-109.997-44.75-161.03-18.39 1.897-35.134 2.875-49.938 2.875h-5.344l-2.718-4.625c-3.898-6.69-7.77-15.598-11.563-25.97z" fill="#fff" fill-opacity="1"></path></g></svg>
|
After Width: | Height: | Size: 1,003 B |
1
assets/img/house.svg
Normal file
1
assets/img/house.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#000" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M256 19.27L25.637 249.638 19.27 256 32 268.73l6.363-6.367L256 44.727l217.637 217.636L480 268.73 492.73 256l-6.367-6.363zM96 48v107.273l64-64.002V48zm160 20.727l-192 192V486h64V320h96v166h224V260.727zM288 320h96v80h-96z" fill="#fff" fill-opacity="1"></path></g></svg>
|
After Width: | Height: | Size: 484 B |
1
assets/img/server.svg
Normal file
1
assets/img/server.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#000" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M41 25v78h430V25H41zm254 23h18v32h-18V48zm121 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zM64 55h48v18H64V55zm80 0h48v18h-48V55zm80 0h48v18h-48V55zm-119 66v30h302v-30H105zm-64 48v78h430v-78H41zm254 23h18v32h-18v-32zm121 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-352 7h48v18H64v-18zm80 0h48v18h-48v-18zm80 0h48v18h-48v-18zm-119 66v30h302v-30H105zm-64 48v78h430v-78H41zm254 23h18v32h-18v-32zm121 0a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16zm-352 7h48v18H64v-18zm80 0h48v18h-48v-18zm80 0h48v18h-48v-18zm13 66v30h38v-30h-38zM25 457v30h130.2l20-30H25zm171.8 0l-20 30h158.4l-20-30H196.8zm140 0l20 30H487v-30H336.8z" fill="#fff" fill-opacity="1"></path></g></svg>
|
After Width: | Height: | Size: 968 B |
1
assets/img/tiger-head.svg
Normal file
1
assets/img/tiger-head.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 6.3 KiB |
6
eslint.config.mjs
Normal file
6
eslint.config.mjs
Normal file
|
@ -0,0 +1,6 @@
|
|||
// @ts-check
|
||||
import withNuxt from './.nuxt/eslint.config.mjs'
|
||||
|
||||
export default withNuxt(
|
||||
// custom rules
|
||||
)
|
6
nuxt.config.ts
Normal file
6
nuxt.config.ts
Normal file
|
@ -0,0 +1,6 @@
|
|||
// https://nuxt.com/docs/api/configuration/nuxt-config
|
||||
export default defineNuxtConfig({
|
||||
compatibilityDate: '2024-11-01',
|
||||
devtools: { enabled: true },
|
||||
modules: ['@nuxt/eslint']
|
||||
})
|
24
package.json
Normal file
24
package.json
Normal file
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"name": "frontend",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "nuxt build",
|
||||
"dev": "nuxt dev",
|
||||
"generate": "nuxt generate",
|
||||
"preview": "nuxt preview",
|
||||
"postinstall": "nuxt prepare"
|
||||
},
|
||||
"dependencies": {
|
||||
"@nuxt/eslint": "^1.3.0",
|
||||
"nuxt": "^3.17.0",
|
||||
"vue": "^3.5.13",
|
||||
"vue-router": "^4.5.1"
|
||||
},
|
||||
"packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"eslint-config-prettier": "^10.1.2",
|
||||
"eslint-plugin-prettier": "^5.2.6"
|
||||
}
|
||||
}
|
16
pages/index.vue
Normal file
16
pages/index.vue
Normal file
|
@ -0,0 +1,16 @@
|
|||
<template>
|
||||
<div id="main">
|
||||
<h1 class="center">Welcome to Gorb, the best chat app in the WORLD!!!</h1>
|
||||
<a href="/web" class="center">Go to web client</a>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
#main {
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
184
pages/web/index.vue
Normal file
184
pages/web/index.vue
Normal file
|
@ -0,0 +1,184 @@
|
|||
<template>
|
||||
<div id="client-root">
|
||||
<div id="grid-container">
|
||||
<div id="left-sidebar-container" class="grid-column right-border">
|
||||
<div id="home" class="bottom-border">
|
||||
<NuxtLink href="web">
|
||||
<img src="~/assets/img/house.svg" alt="Home" width="70%">
|
||||
</NuxtLink>
|
||||
</div>
|
||||
<div id="servers-list" v-for="server of servers">
|
||||
<NuxtLink :href="'web' + server.url">
|
||||
<img src="~/assets/img/server.svg" :alt="server.name" width="70%">
|
||||
</NuxtLink>
|
||||
</div>
|
||||
</div>
|
||||
<div id="main-content" class="grid-column">
|
||||
<div id="main-bar" class="main-grid-row">
|
||||
main bar
|
||||
</div>
|
||||
<div id="message-history-container" class="main-grid-row">
|
||||
message history
|
||||
</div>
|
||||
<div id="message-box" class="main-grid-row">
|
||||
<input type="text" name="message-box-input" id="message-box-input">
|
||||
</div>
|
||||
</div>
|
||||
<div id="right-sidebar-container" class="grid-column left-border">
|
||||
<div id="utilities" class="bottom-border">
|
||||
<div>
|
||||
<NuxtLink>
|
||||
<img src="~/assets/img/envelope.svg" alt="Inbox" width="30dvw">
|
||||
</NuxtLink>
|
||||
</div>
|
||||
</div>
|
||||
<div id="members-list">
|
||||
<div class="member-item" v-for="member of members">
|
||||
<img src="~/assets/img/tiger-head.svg" :alt="member.displayName" width="30dvw">
|
||||
<span class="member-display-name">{{ member.displayName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
|
||||
const servers = [
|
||||
{
|
||||
name: "Test",
|
||||
url: "/servers/284103257435"
|
||||
},
|
||||
{
|
||||
name: "Test",
|
||||
url: "/servers/284103257435"
|
||||
},
|
||||
{
|
||||
name: "Test",
|
||||
url: "/servers/284103257435"
|
||||
}
|
||||
];
|
||||
|
||||
const members = [
|
||||
{
|
||||
id: "3287484395",
|
||||
displayName: "SauceyRed"
|
||||
},
|
||||
{
|
||||
id: "3287484395",
|
||||
displayName: "SauceyRed"
|
||||
},
|
||||
{
|
||||
id: "3287484395",
|
||||
displayName: "SauceyRed"
|
||||
},
|
||||
{
|
||||
id: "3287484395",
|
||||
displayName: "SauceyRed"
|
||||
},
|
||||
{
|
||||
id: "3287484395",
|
||||
displayName: "SauceyRed"
|
||||
},
|
||||
{
|
||||
id: "3287484395",
|
||||
displayName: "SauceyRed"
|
||||
},
|
||||
{
|
||||
id: "3287484395",
|
||||
displayName: "SauceyRed"
|
||||
},
|
||||
{
|
||||
id: "3287484395",
|
||||
displayName: "SauceyRed"
|
||||
},
|
||||
{
|
||||
id: "3287484395",
|
||||
displayName: "SauceyRed"
|
||||
}
|
||||
];
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
#client-root {
|
||||
/* border: 1px solid white; */
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#client-root div {
|
||||
/* border: 1px solid cyan; */
|
||||
}
|
||||
|
||||
#__nuxt {
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#grid-container {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 18fr 4fr;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.grid-column {
|
||||
padding-top: 1dvh;
|
||||
}
|
||||
|
||||
#home {
|
||||
margin-bottom: 3dvh;
|
||||
}
|
||||
|
||||
#utilities {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-bottom: 3dvh;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
#left-sidebar-container,
|
||||
#right-sidebar-container {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.member-item {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.bottom-border {
|
||||
border-bottom: 1px solid rgb(70, 70, 70);
|
||||
}
|
||||
|
||||
.left-border {
|
||||
border-left: 1px solid rgb(70, 70, 70);
|
||||
}
|
||||
|
||||
.right-border {
|
||||
border-right: 1px solid rgb(70, 70, 70);
|
||||
}
|
||||
|
||||
#main-content {
|
||||
display: grid;
|
||||
grid-template-rows: 1fr 15fr 1fr;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#message-box {
|
||||
border: 1px solid rgb(70, 70, 70);
|
||||
width: 100%;
|
||||
margin-bottom: 1dvh;
|
||||
}
|
||||
|
||||
#message-box-input {
|
||||
width: 80%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.main-grid-row {
|
||||
border: 1px solid cyan;
|
||||
}
|
||||
</style>
|
9278
pnpm-lock.yaml
generated
Normal file
9278
pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load diff
4
pnpm-workspace.yaml
Normal file
4
pnpm-workspace.yaml
Normal file
|
@ -0,0 +1,4 @@
|
|||
onlyBuiltDependencies:
|
||||
- '@parcel/watcher'
|
||||
- esbuild
|
||||
- unrs-resolver
|
BIN
public/favicon.ico
Normal file
BIN
public/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
2
public/robots.txt
Normal file
2
public/robots.txt
Normal file
|
@ -0,0 +1,2 @@
|
|||
User-Agent: *
|
||||
Disallow:
|
3
server/tsconfig.json
Normal file
3
server/tsconfig.json
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"extends": "../.nuxt/tsconfig.server.json"
|
||||
}
|
4
tsconfig.json
Normal file
4
tsconfig.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
// https://nuxt.com/docs/guide/concepts/typescript
|
||||
"extends": "./.nuxt/tsconfig.json"
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue