mirror of
https://github.com/NovaOSS/nova-web.git
synced 2024-11-25 20:33:58 +01:00
Homepage updates
This commit is contained in:
parent
16e1ae1bcb
commit
feda964a6a
7
.vscode/settings.json
vendored
7
.vscode/settings.json
vendored
|
@ -13,7 +13,12 @@
|
||||||
"static/css/home.css": true,
|
"static/css/home.css": true,
|
||||||
"static/css/navbar.css": true,
|
"static/css/navbar.css": true,
|
||||||
"static/css/input.css": true,
|
"static/css/input.css": true,
|
||||||
"static/css/footer.css": true
|
"static/css/footer.css": true,
|
||||||
|
"web/static/css/base.css": true,
|
||||||
|
"web/static/css/footer.css": true,
|
||||||
|
"web/static/css/home.css": true,
|
||||||
|
"web/static/css/input.css": true,
|
||||||
|
"web/static/css/navbar.css": true
|
||||||
},
|
},
|
||||||
"hide-files.files": [
|
"hide-files.files": [
|
||||||
"static/css/base.css",
|
"static/css/base.css",
|
||||||
|
|
|
@ -20,12 +20,12 @@ div.featured-box {
|
||||||
transition: all 200ms;
|
transition: all 200ms;
|
||||||
}
|
}
|
||||||
div.featured-box:hover {
|
div.featured-box:hover {
|
||||||
scale: 1.05;
|
scale: 1.025;
|
||||||
filter: brightness(1.1) saturate(1.1);
|
filter: brightness(1.1) saturate(1.1);
|
||||||
box-shadow: 0 0 30px rgba(244, 90, 136, 0.3803921569);
|
box-shadow: 0 0 30px rgba(244, 90, 136, 0.3803921569);
|
||||||
}
|
}
|
||||||
div.featured-box img {
|
div.featured-box img {
|
||||||
height: 100px;
|
height: 50px;
|
||||||
-o-object-fit: cover;
|
-o-object-fit: cover;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ div.featured-box h2 {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
margin-block: auto;
|
margin-block: auto;
|
||||||
margin-left: 1rem;
|
margin-left: 1rem;
|
||||||
font-size: 2rem;
|
font-size: 1.5rem;
|
||||||
}
|
}
|
||||||
div.featured-box h2 span {
|
div.featured-box h2 span {
|
||||||
color: #f45a88;
|
color: #f45a88;
|
||||||
|
@ -52,7 +52,7 @@ div.user-quotes div.user-quote__field {
|
||||||
min-height: 200px;
|
min-height: 200px;
|
||||||
}
|
}
|
||||||
div.user-quotes div.user-quote__field:hover {
|
div.user-quotes div.user-quote__field:hover {
|
||||||
scale: 1.05;
|
scale: 1.025;
|
||||||
filter: brightness(1.1) saturate(1.1);
|
filter: brightness(1.1) saturate(1.1);
|
||||||
box-shadow: 0 0 30px rgba(244, 90, 136, 0.3803921569);
|
box-shadow: 0 0 30px rgba(244, 90, 136, 0.3803921569);
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -20,19 +20,19 @@ div.featured-box
|
||||||
transition: all 200ms
|
transition: all 200ms
|
||||||
|
|
||||||
&:hover
|
&:hover
|
||||||
scale: 1.05
|
scale: 1.025
|
||||||
filter: brightness(1.1) saturate(1.1)
|
filter: brightness(1.1) saturate(1.1)
|
||||||
box-shadow: 0 0 30px $primary-glow
|
box-shadow: 0 0 30px $primary-glow
|
||||||
|
|
||||||
img
|
img
|
||||||
height: 100px
|
height: 50px
|
||||||
object-fit: cover
|
object-fit: cover
|
||||||
|
|
||||||
h2
|
h2
|
||||||
vertical-align: middle
|
vertical-align: middle
|
||||||
margin-block: auto
|
margin-block: auto
|
||||||
margin-left: 1rem
|
margin-left: 1rem
|
||||||
font-size: 2rem
|
font-size: 1.5rem
|
||||||
|
|
||||||
span
|
span
|
||||||
color: $primary-light
|
color: $primary-light
|
||||||
|
@ -55,7 +55,7 @@ div.user-quotes
|
||||||
min-height: 200px
|
min-height: 200px
|
||||||
|
|
||||||
&:hover
|
&:hover
|
||||||
scale: 1.05
|
scale: 1.025
|
||||||
filter: brightness(1.1) saturate(1.1)
|
filter: brightness(1.1) saturate(1.1)
|
||||||
box-shadow: 0 0 30px $primary-glow
|
box-shadow: 0 0 30px $primary-glow
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,8 @@
|
||||||
|
|
||||||
<div id="links" class="link-menu">
|
<div id="links" class="link-menu">
|
||||||
<a href="/">Home</a>
|
<a href="/">Home</a>
|
||||||
<a href="https://status.nova-oss.com" target="_blank">Status</a>
|
<!-- <a href="https://status.nova-oss.com" target="_blank">Status</a> -->
|
||||||
<a href="https://code.nova-oss.com" target="_blank">Source Code</a>
|
<a href="https://code.nova-oss.com" target="_blank">GitHub</a>
|
||||||
<a href="mailto:{{ contact_email }}">Contact</a>
|
<a href="mailto:{{ contact_email }}">Contact</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -19,18 +19,26 @@
|
||||||
<a href="https://github.com/NovaOSS/nova-api" target="_blank">
|
<a href="https://github.com/NovaOSS/nova-api" target="_blank">
|
||||||
<button class="secondary">
|
<button class="secondary">
|
||||||
<i class="bi bi-github"></i>
|
<i class="bi bi-github"></i>
|
||||||
Open Source
|
GitHub
|
||||||
</button>
|
</button>
|
||||||
</a>
|
</a>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
<h2>Look, mom, I'm famous!</h2>
|
<h2>About Nova</h2>
|
||||||
|
<div class="featured-box">
|
||||||
|
<img src="https://icons.getbootstrap.com/assets/icons/cash-coin.svg" style="filter: invert(1);">
|
||||||
|
<h2>Free <span>forever</span> - no credit card required</h2>
|
||||||
|
</div>
|
||||||
|
<div class="featured-box" onclick="window.open('https://github.com/orgs/NovaOSS/repositories', '_blank')">
|
||||||
|
<img src="https://icons.getbootstrap.com/assets/icons/github.svg" style="filter: invert(1);">
|
||||||
|
<h2>Open source on <span>GitHub</span></h2>
|
||||||
|
</div>
|
||||||
<div class="featured-box" onclick="window.open('https://fmhy.pages.dev/ai', '_blank')">
|
<div class="featured-box" onclick="window.open('https://fmhy.pages.dev/ai', '_blank')">
|
||||||
<img src="https://fmhy.pages.dev/static/fmhy.ico">
|
<img src="https://fmhy.pages.dev/static/fmhy.ico">
|
||||||
<h2>Featured in <span>Free Media Heck Yeah</span></h2>
|
<h2>Featured in <span>Free Media Heck Yeah</span></h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2>Cherry-picked quotes</h2>
|
<h2>What users say</h2>
|
||||||
|
|
||||||
<div class="user-quotes">
|
<div class="user-quotes">
|
||||||
<div class="user-quote__field" onclick="window.open('https://discord.com/channels/1120037287300976640/1120037729644855427/1144279505981153302', '_blank')">
|
<div class="user-quote__field" onclick="window.open('https://discord.com/channels/1120037287300976640/1120037729644855427/1144279505981153302', '_blank')">
|
||||||
|
|
15
web/tos.py
15
web/tos.py
|
@ -1,10 +1,11 @@
|
||||||
import os
|
import os
|
||||||
import json
|
import ujson
|
||||||
import flask
|
import flask
|
||||||
import random
|
import random
|
||||||
import secrets
|
import secrets
|
||||||
|
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
from json.decoder import JSONDecodeError
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
|
@ -21,12 +22,12 @@ def register(app):
|
||||||
open('data/tos.json', 'w', encoding='utf8').write('{}')
|
open('data/tos.json', 'w', encoding='utf8').write('{}')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
data = json.load(open('data/tos.json', encoding='utf8'))
|
data = ujson.load(open('data/tos.json', encoding='utf8'))
|
||||||
except json.decoder.JSONDecodeError:
|
except JSONDecodeError:
|
||||||
data = {}
|
data = {}
|
||||||
|
|
||||||
data[code] = emoji
|
data[code] = emoji
|
||||||
json.dump(data, open('data/tos.json', 'w', encoding='utf8'))
|
ujson.dump(data, open('data/tos.json', 'w', encoding='utf8'))
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'code': code,
|
'code': code,
|
||||||
|
@ -38,9 +39,9 @@ def register(app):
|
||||||
if not flask.request.headers.get('Authorization') == os.getenv('TOS_VERIFICATION_KEY'):
|
if not flask.request.headers.get('Authorization') == os.getenv('TOS_VERIFICATION_KEY'):
|
||||||
return 'Unauthorized', 401
|
return 'Unauthorized', 401
|
||||||
|
|
||||||
data = json.load(open('data/tos.json', encoding='utf8'))
|
data = ujson.load(open('data/tos.json', encoding='utf8'))
|
||||||
del data[code]
|
del data[code]
|
||||||
json.dump(data, open('data/tos.json', 'w', encoding='utf8'))
|
ujson.dump(data, open('data/tos.json', 'w', encoding='utf8'))
|
||||||
|
|
||||||
return 'Removed.', 204
|
return 'Removed.', 204
|
||||||
|
|
||||||
|
@ -48,7 +49,7 @@ def register(app):
|
||||||
def legal_site(subpath):
|
def legal_site(subpath):
|
||||||
emoji = None
|
emoji = None
|
||||||
if subpath == 'terms':
|
if subpath == 'terms':
|
||||||
emoji = json.load(open('data/tos.json', encoding='utf8')).get(flask.request.args.get('verify'))
|
emoji = ujson.load(open('data/tos.json', encoding='utf8')).get(flask.request.args.get('verify'))
|
||||||
if emoji:
|
if emoji:
|
||||||
emoji = emoji.encode('utf8')
|
emoji = emoji.encode('utf8')
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue