Compare commits
3 commits
246acb5f28
...
14f4ee86e5
Author | SHA1 | Date | |
---|---|---|---|
14f4ee86e5 | |||
ed076c3edc | |||
45c7311621 |
9 changed files with 250 additions and 39 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -22,3 +22,6 @@ logs
|
||||||
.env
|
.env
|
||||||
.env.*
|
.env.*
|
||||||
!.env.example
|
!.env.example
|
||||||
|
|
||||||
|
# Local settings
|
||||||
|
.vscode/
|
||||||
|
|
50
app.vue
50
app.vue
|
@ -1,14 +1,9 @@
|
||||||
<template>
|
<template>
|
||||||
<nav id="navbar">
|
<div id="app">
|
||||||
<div id="navbar-left">
|
<Header />
|
||||||
<a href="/">Home</a>
|
|
||||||
</div>
|
|
||||||
<div id="navbar-right">
|
|
||||||
<NuxtLink href="/"><s>Register</s></NuxtLink>
|
|
||||||
<NuxtLink href="/"><s>Login</s></NuxtLink>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<NuxtPage />
|
<NuxtPage />
|
||||||
|
<Footer />
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
@ -18,42 +13,27 @@ const gorbBase = ref<string>(useAppConfig().gorbClientBaseURL);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
html,
|
html, body {
|
||||||
body {
|
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: whitesmoke;
|
color: var(--text-colour);
|
||||||
background-color: rgb(30, 30, 30);
|
background-color: var(--background-colour);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#app {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
#main {
|
#main {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
margin-bottom: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#navbar {
|
.link, a {
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
margin-left: 3dvw;
|
|
||||||
margin-right: 3dvw;
|
|
||||||
margin-top: 2dvh;
|
|
||||||
padding-bottom: 2dvh;
|
|
||||||
border-bottom: 1px solid orange;
|
|
||||||
}
|
|
||||||
|
|
||||||
#navbar a {
|
|
||||||
text-decoration: none;
|
|
||||||
color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
#navbar-left,
|
|
||||||
#navbar-right {
|
|
||||||
display: flex;
|
|
||||||
gap: 2dvw;
|
|
||||||
}
|
|
||||||
|
|
||||||
.link {
|
|
||||||
color: inherit;
|
color: inherit;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
77
components/Footer.vue
Normal file
77
components/Footer.vue
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
<template>
|
||||||
|
<nav id="footer">
|
||||||
|
<div id="content">
|
||||||
|
<div id="source">
|
||||||
|
<a href="/source">SOURCE CODE</a>
|
||||||
|
</div>
|
||||||
|
<div id="socials">
|
||||||
|
<a href="https://docs.gorb.app" title="API Documentation">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" fill="currentColor" class="bi bi-book" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 2.828c.885-.37 2.154-.769 3.388-.893 1.33-.134 2.458.063 3.112.752v9.746c-.935-.53-2.12-.603-3.213-.493-1.18.12-2.37.461-3.287.811zm7.5-.141c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783"/>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
<a href="https://git.gorb.app/gorb" title="Gorb's Forgejo">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 24 24">
|
||||||
|
<path fill="currentColor" d="M16.777 0a2.9 2.9 0 1 1-2.529 4.322H12.91a4.266 4.266 0 0 0-4.265 4.195v2.118a7.076 7.076 0 0 1 4.147-1.42l.118-.002h1.338a2.9 2.9 0 0 1 5.43 1.422a2.9 2.9 0 0 1-5.43 1.422H12.91a4.266 4.266 0 0 0-4.265 4.195v2.319A2.9 2.9 0 0 1 7.222 24A2.9 2.9 0 0 1 5.8 18.57V8.589a7.109 7.109 0 0 1 6.991-7.108l.118-.001h1.338A2.9 2.9 0 0 1 16.778 0ZM7.223 19.905a1.194 1.194 0 1 0 0 2.389a1.194 1.194 0 0 0 0-2.389Zm9.554-10.464a1.194 1.194 0 1 0 0 2.389a1.194 1.194 0 0 0 0-2.39Zm0-7.735a1.194 1.194 0 1 0 0 2.389a1.194 1.194 0 0 0 0-2.389Z"/>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'Header'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
#footer {
|
||||||
|
margin-top: auto;
|
||||||
|
padding: 2dvh 3.5dvh;
|
||||||
|
background-color: var(--background-secondary-colour);
|
||||||
|
border-top: 1px solid var(--secondary-colour);
|
||||||
|
color: var(--secondary-colour)
|
||||||
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--secondary-colour)
|
||||||
|
}
|
||||||
|
|
||||||
|
#source {
|
||||||
|
display: flex;
|
||||||
|
font-weight: 300;
|
||||||
|
font-size: 90%;
|
||||||
|
margin-right: 4dvh;
|
||||||
|
}
|
||||||
|
|
||||||
|
#source a {
|
||||||
|
color: var(--accent-colour);
|
||||||
|
}
|
||||||
|
|
||||||
|
#socials {
|
||||||
|
display: flex;
|
||||||
|
gap: 2dvh;
|
||||||
|
margin-bottom: -1dvh;
|
||||||
|
}
|
||||||
|
|
||||||
|
svg {
|
||||||
|
width: 1.5em;
|
||||||
|
height: 1.5em;
|
||||||
|
shape-rendering: auto;
|
||||||
|
transition: filter 0.15s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover svg {
|
||||||
|
filter: brightness(140%);
|
||||||
|
}
|
||||||
|
</style>
|
47
components/Header.vue
Normal file
47
components/Header.vue
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
<template>
|
||||||
|
<nav id="header">
|
||||||
|
<div id="header-left">
|
||||||
|
<a href="/">Home</a>
|
||||||
|
</div>
|
||||||
|
<div id="header-right">
|
||||||
|
<NuxtLink href="/"><s>Register</s></NuxtLink>
|
||||||
|
<NuxtLink href="/"><s>Login</s></NuxtLink>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'Header'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
#header {
|
||||||
|
--horizontal-padding: 25%;
|
||||||
|
padding: 2dvh var(--horizontal-padding);
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
position: sticky;
|
||||||
|
background-color: var(--background-secondary-colour);
|
||||||
|
color: var(--text-colour);
|
||||||
|
border-bottom: 1px solid var(--secondary-colour);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 1000px) {
|
||||||
|
#header {
|
||||||
|
--horizontal-padding: 5%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#header a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header-left, #header-right {
|
||||||
|
display: flex;
|
||||||
|
gap: 2dvw;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -3,6 +3,10 @@ export default defineNuxtConfig({
|
||||||
compatibilityDate: '2024-11-01',
|
compatibilityDate: '2024-11-01',
|
||||||
devtools: { enabled: true },
|
devtools: { enabled: true },
|
||||||
modules: ['@nuxt/fonts', '@nuxt/image'],
|
modules: ['@nuxt/fonts', '@nuxt/image'],
|
||||||
|
css: [
|
||||||
|
'@/public/variables.css',
|
||||||
|
'@/public/global.css'
|
||||||
|
],
|
||||||
app: {
|
app: {
|
||||||
head: {
|
head: {
|
||||||
title: 'Gorb - Open-Source Chat Platform',
|
title: 'Gorb - Open-Source Chat Platform',
|
||||||
|
|
|
@ -4,14 +4,13 @@
|
||||||
Welcome to <span id="gorb">
|
Welcome to <span id="gorb">
|
||||||
<span>G</span><span>O</span><span>R</span><span>B</span></span>!</h1>
|
<span>G</span><span>O</span><span>R</span><span>B</span></span>!</h1>
|
||||||
<h2>
|
<h2>
|
||||||
The <span id="open-source">Open-Source</span> and <span id="federated">Federated</span>
|
The <span class="pansexual-gradient">Open-Source</span> and <span id="federated">Federated</span>
|
||||||
Chat Platform!
|
Chat Platform!
|
||||||
</h2>
|
</h2>
|
||||||
<NuxtLink class="link" href="/"><s>Go to web client</s></NuxtLink>
|
<NuxtLink class="link" href="/"><s>Go to web client</s></NuxtLink>
|
||||||
<p id="not-exist">IT DOESN'T EXIST YET</p>
|
<p id="not-exist">IT DOESN'T EXIST YET</p>
|
||||||
<p>
|
<p>
|
||||||
BUT! Check out our <NuxtLink id="git-link" href="https://git.gorb.app/gorb">Git</NuxtLink> to check on our
|
BUT! Check out our <NuxtLink id="git-link" href="https://git.gorb.app/gorb">Git</NuxtLink> to check on our progress!
|
||||||
progress!
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
64
pages/source.vue
Normal file
64
pages/source.vue
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
<template>
|
||||||
|
<div id="main">
|
||||||
|
<h2>
|
||||||
|
<span class="pansexual-gradient">Source Code</span>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<div id="card-container">
|
||||||
|
<div class="card">
|
||||||
|
<a href="https://git.gorb.app/gorb/backend">
|
||||||
|
<h3>Backend</h3>
|
||||||
|
<p>Gorb's official backend</p>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<a href="https://git.gorb.app/gorb/frontend">
|
||||||
|
<h3>Frontend</h3>
|
||||||
|
<p>Gorb's official frontend</p>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
#card-container {
|
||||||
|
--flex-direction: row;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
flex-direction: var(--flex-direction);
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: 48px;
|
||||||
|
width: fit-content;
|
||||||
|
max-width: 60vw;
|
||||||
|
margin: 48px auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 1000px) {
|
||||||
|
#card-container {
|
||||||
|
--flex-direction: column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
flex: 1;
|
||||||
|
padding: 32px;
|
||||||
|
border: 1px solid var(--accent-colour);
|
||||||
|
background-color: var(--primary-colour);
|
||||||
|
border-radius: 8px;
|
||||||
|
box-shadow: 0 8px 14px rgba(0, 0, 0, 0.15);
|
||||||
|
transition: background-color 0.3s ease-in-out;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card:hover {
|
||||||
|
background-color: var(--secondary-colour);
|
||||||
|
}
|
||||||
|
</style>
|
6
public/global.css
Normal file
6
public/global.css
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
.pansexual-gradient {
|
||||||
|
background: linear-gradient(to right, #FE218C, #FED84E, #1CB3F7);
|
||||||
|
background-clip: text;
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
}
|
31
public/variables.css
Normal file
31
public/variables.css
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
/* this file may want to be moved to a /styles folder, or /assets folder, or smth */
|
||||||
|
:root {
|
||||||
|
--text-colour: #141210;
|
||||||
|
--background-colour: #f4ebe0;
|
||||||
|
--background-secondary-colour: #efe4db;
|
||||||
|
|
||||||
|
--primary-colour: #f97635;
|
||||||
|
--secondary-colour: #cab39b;
|
||||||
|
--tertiary-colour: #e8ac84;
|
||||||
|
--accent-colour: #ed7a41;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--text-colour: #efedec;
|
||||||
|
--background-colour: #201d19;
|
||||||
|
--background-secondary-colour: #1d1915;
|
||||||
|
|
||||||
|
--primary-colour: #f97635;
|
||||||
|
--secondary-colour: #b35618;
|
||||||
|
--tertiary-colour: #7c4018;
|
||||||
|
--accent-colour: #cc764a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* unchanging no matter the theme */
|
||||||
|
:root {
|
||||||
|
--text-on-primary-colour: #fff;
|
||||||
|
--text-on-secondary-colour: #fff;
|
||||||
|
--text-on-accent-colour: #fff;
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue