mirror of
https://github.com/NovaOSS/nova-web.git
synced 2024-11-25 18:53: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/navbar.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": [
|
||||
"static/css/base.css",
|
||||
|
|
|
@ -20,12 +20,12 @@ div.featured-box {
|
|||
transition: all 200ms;
|
||||
}
|
||||
div.featured-box:hover {
|
||||
scale: 1.05;
|
||||
scale: 1.025;
|
||||
filter: brightness(1.1) saturate(1.1);
|
||||
box-shadow: 0 0 30px rgba(244, 90, 136, 0.3803921569);
|
||||
}
|
||||
div.featured-box img {
|
||||
height: 100px;
|
||||
height: 50px;
|
||||
-o-object-fit: cover;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ div.featured-box h2 {
|
|||
vertical-align: middle;
|
||||
margin-block: auto;
|
||||
margin-left: 1rem;
|
||||
font-size: 2rem;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
div.featured-box h2 span {
|
||||
color: #f45a88;
|
||||
|
@ -52,7 +52,7 @@ div.user-quotes div.user-quote__field {
|
|||
min-height: 200px;
|
||||
}
|
||||
div.user-quotes div.user-quote__field:hover {
|
||||
scale: 1.05;
|
||||
scale: 1.025;
|
||||
filter: brightness(1.1) saturate(1.1);
|
||||
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
|
||||
|
||||
&:hover
|
||||
scale: 1.05
|
||||
scale: 1.025
|
||||
filter: brightness(1.1) saturate(1.1)
|
||||
box-shadow: 0 0 30px $primary-glow
|
||||
|
||||
img
|
||||
height: 100px
|
||||
height: 50px
|
||||
object-fit: cover
|
||||
|
||||
h2
|
||||
vertical-align: middle
|
||||
margin-block: auto
|
||||
margin-left: 1rem
|
||||
font-size: 2rem
|
||||
font-size: 1.5rem
|
||||
|
||||
span
|
||||
color: $primary-light
|
||||
|
@ -55,7 +55,7 @@ div.user-quotes
|
|||
min-height: 200px
|
||||
|
||||
&:hover
|
||||
scale: 1.05
|
||||
scale: 1.025
|
||||
filter: brightness(1.1) saturate(1.1)
|
||||
box-shadow: 0 0 30px $primary-glow
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
<div id="links" class="link-menu">
|
||||
<a href="/">Home</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://status.nova-oss.com" target="_blank">Status</a> -->
|
||||
<a href="https://code.nova-oss.com" target="_blank">GitHub</a>
|
||||
<a href="mailto:{{ contact_email }}">Contact</a>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -19,18 +19,26 @@
|
|||
<a href="https://github.com/NovaOSS/nova-api" target="_blank">
|
||||
<button class="secondary">
|
||||
<i class="bi bi-github"></i>
|
||||
Open Source
|
||||
GitHub
|
||||
</button>
|
||||
</a>
|
||||
</header>
|
||||
<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')">
|
||||
<img src="https://fmhy.pages.dev/static/fmhy.ico">
|
||||
<h2>Featured in <span>Free Media Heck Yeah</span></h2>
|
||||
</div>
|
||||
|
||||
<h2>Cherry-picked quotes</h2>
|
||||
<h2>What users say</h2>
|
||||
|
||||
<div class="user-quotes">
|
||||
<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 json
|
||||
import ujson
|
||||
import flask
|
||||
import random
|
||||
import secrets
|
||||
|
||||
from dotenv import load_dotenv
|
||||
from json.decoder import JSONDecodeError
|
||||
|
||||
load_dotenv()
|
||||
|
||||
|
@ -21,12 +22,12 @@ def register(app):
|
|||
open('data/tos.json', 'w', encoding='utf8').write('{}')
|
||||
|
||||
try:
|
||||
data = json.load(open('data/tos.json', encoding='utf8'))
|
||||
except json.decoder.JSONDecodeError:
|
||||
data = ujson.load(open('data/tos.json', encoding='utf8'))
|
||||
except JSONDecodeError:
|
||||
data = {}
|
||||
|
||||
data[code] = emoji
|
||||
json.dump(data, open('data/tos.json', 'w', encoding='utf8'))
|
||||
ujson.dump(data, open('data/tos.json', 'w', encoding='utf8'))
|
||||
|
||||
return {
|
||||
'code': code,
|
||||
|
@ -38,9 +39,9 @@ def register(app):
|
|||
if not flask.request.headers.get('Authorization') == os.getenv('TOS_VERIFICATION_KEY'):
|
||||
return 'Unauthorized', 401
|
||||
|
||||
data = json.load(open('data/tos.json', encoding='utf8'))
|
||||
data = ujson.load(open('data/tos.json', encoding='utf8'))
|
||||
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
|
||||
|
||||
|
@ -48,7 +49,7 @@ def register(app):
|
|||
def legal_site(subpath):
|
||||
emoji = None
|
||||
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:
|
||||
emoji = emoji.encode('utf8')
|
||||
|
||||
|
|
Loading…
Reference in a new issue