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.example
|
||||
|
||||
# Local settings
|
||||
.vscode/
|
||||
|
|
52
app.vue
52
app.vue
|
@ -1,14 +1,9 @@
|
|||
<template>
|
||||
<nav id="navbar">
|
||||
<div id="navbar-left">
|
||||
<a href="/">Home</a>
|
||||
</div>
|
||||
<div id="navbar-right">
|
||||
<NuxtLink href="/"><s>Register</s></NuxtLink>
|
||||
<NuxtLink href="/"><s>Login</s></NuxtLink>
|
||||
</div>
|
||||
</nav>
|
||||
<NuxtPage />
|
||||
<div id="app">
|
||||
<Header />
|
||||
<NuxtPage />
|
||||
<Footer />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
|
@ -18,42 +13,27 @@ const gorbBase = ref<string>(useAppConfig().gorbClientBaseURL);
|
|||
</script>
|
||||
|
||||
<style>
|
||||
html,
|
||||
body {
|
||||
html, body {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
box-sizing: border-box;
|
||||
color: whitesmoke;
|
||||
background-color: rgb(30, 30, 30);
|
||||
color: var(--text-colour);
|
||||
background-color: var(--background-colour);
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#app {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
#main {
|
||||
text-align: center;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
|
||||
#navbar {
|
||||
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 {
|
||||
.link, a {
|
||||
color: inherit;
|
||||
}
|
||||
</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',
|
||||
devtools: { enabled: true },
|
||||
modules: ['@nuxt/fonts', '@nuxt/image'],
|
||||
css: [
|
||||
'@/public/variables.css',
|
||||
'@/public/global.css'
|
||||
],
|
||||
app: {
|
||||
head: {
|
||||
title: 'Gorb - Open-Source Chat Platform',
|
||||
|
|
|
@ -4,14 +4,13 @@
|
|||
Welcome to <span id="gorb">
|
||||
<span>G</span><span>O</span><span>R</span><span>B</span></span>!</h1>
|
||||
<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!
|
||||
</h2>
|
||||
<NuxtLink class="link" href="/"><s>Go to web client</s></NuxtLink>
|
||||
<p id="not-exist">IT DOESN'T EXIST YET</p>
|
||||
<p>
|
||||
BUT! Check out our <NuxtLink id="git-link" href="https://git.gorb.app/gorb">Git</NuxtLink> to check on our
|
||||
progress!
|
||||
BUT! Check out our <NuxtLink id="git-link" href="https://git.gorb.app/gorb">Git</NuxtLink> to check on our progress!
|
||||
</p>
|
||||
</div>
|
||||
</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