Skip to content

Commit

Permalink
search without logging in (might be disabled if cpu quotas are reache…
Browse files Browse the repository at this point in the history
…d) and better landing page
  • Loading branch information
arihant2math committed Nov 6, 2023
1 parent a37ba7e commit c6725a5
Show file tree
Hide file tree
Showing 7 changed files with 129 additions and 89 deletions.
13 changes: 8 additions & 5 deletions website/bp/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@

@main_bp.route("/", methods=["GET"])
@minify_html
@token_required
def index(session):
def index():
session = get_session()
if session is None:
return render_template("landing.html")
agent = Agent(session)
return render_template(
"index.html",
Expand Down Expand Up @@ -62,6 +64,7 @@ def settings():

@main_bp.route("/settings-api/")
def settings_api(): # TODO: This is a security risk, need to filter tokens instead (make sure to filter by current user id)
pass
# users = db.session.query(User).filter_by(active=True).first()
# if users is None:
# resp = jsonify({"error": "No active user found."})
Expand All @@ -81,17 +84,17 @@ def settings_api(): # TODO: This is a security risk, need to filter tokens inste

@main_bp.route("/automations/")
def automations():
return render_template("automations.html", automations=db.session.query(Automation).all())
return render_template("automation/automations.html", automations=db.session.query(Automation).all())


@main_bp.route("/new-automation/")
def new_automation():
return render_template("new_automation.html")
return render_template("automation/new_automation.html")


@main_bp.route("/automation/<i>/")
def automation(i):
return render_template("automation.html", automation=db.session.query(Automation).filter_by(id=i).first())
return render_template("automation/automation.html", automation=db.session.query(Automation).filter_by(id=i).first())


@main_bp.route("/agents/")
Expand Down
13 changes: 7 additions & 6 deletions website/bp/search.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from website.paginated_return import paginated_return
from website.search import read_query, quick_weight, check_filters_waypoint, weight, check_filters_system, \
check_filters_faction, check_filters_ship, check_filters_contract
from website.session import get_session
from website.wrappers import token_required

search_bp = Blueprint("search", __name__)
Expand All @@ -26,8 +27,8 @@ def load_faction_data():


@search_bp.route("/search/")
@token_required
def search(session):
def search():
session = get_session()
page = int(request.args.get("page", default=1))
fast_search = bool(request.args.get("fast", default=False))
t1 = time.time()
Expand Down Expand Up @@ -67,8 +68,8 @@ def search(session):
if quick_weight(query, str(item.symbol)) > -0.1:
if check_filters_system(item, filters):
unweighted_map.append((item, weight(query, str(item.symbol))))
if "waypoint" in to_query:
for waypoint in item.waypoints and (not fast_search or quick_weight(query, str(item.symbol)) > -0.1):
if "waypoint" in to_query and (not fast_search or quick_weight(query, str(item.symbol)) > -0.1):
for waypoint in item.waypoints:
if quick_weight(query, str(waypoint.symbol)) > 0 and check_filters_waypoint(
waypoint, filters
):
Expand All @@ -83,12 +84,12 @@ def search(session):
) and check_filters_faction(item, filters):
unweighted_map.append((item, weight(query, str(item.symbol))))
t1_6 = time.time()
if "ship" in to_query:
if "ship" in to_query and session is not None:
ship_data = Ship.all(session)[1]
for item in ship_data:
if quick_weight(query, item.symbol) > -0.25 and check_filters_ship(item, filters):
unweighted_map.append((item, weight(query, item.symbol)))
if "contract" in to_query:
if "contract" in to_query and session is not None:
contract_data = Contract.all(session)[1]
for item in contract_data:
if quick_weight(query, item.contract_id) > -0.7 and check_filters_contract(
Expand Down
10 changes: 6 additions & 4 deletions website/templates/automation/automations.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@
<div class="row justify-content-center text-center">
<h1>Automations <span class="badge bg-warning">WIP</span></h1>
</div>
<div class="row">
<div>
<a class="btn btn-primary" href="/new-automation"><i class="bi bi-filetype-yml"></i> New Automation</a>
{% if user.is_authenticated %}
<div class="row">
<div>
<a class="btn btn-primary" href="/new-automation"><i class="bi bi-filetype-yml"></i> New Automation</a>
</div>
</div>
</div>
{% endif %}
<div class="row">
{% for automation in automations %}
{# TODO: Fix manual margin #}
Expand Down
60 changes: 29 additions & 31 deletions website/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,37 +15,35 @@
</head>
<body>
<script src="{{ url_for('static', filename='jquery.min.js') }}"></script>
<div id="containing">
{% include "navbar.html" %}
{% with messages = get_flashed_messages(with_categories=True) %}
{% if messages %}
<div id="flash-box" class=flashes>
{% for category, message in messages %}
<div class="alert alert-{{ category }} alert-dismissible" role="alert">
<div>{{ message }}</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endfor %}
</div>
{% endif %}
{% endwith %}
{% block body %}
{% endblock %}
{# <div class="container">#}
{# <footer class="d-flex flex-wrap justify-content-between align-items-center py-3 my-4 border-top">#}
{# <div class="col-md-4 d-flex align-items-center">#}
{# <a href="/" class="mb-3 me-2 mb-md-0 text-muted text-decoration-none lh-1">#}
{# <img src="/static/favicon.png" height="32px" width="32px" alt="logo"/>#}
{# Space Gui#}
{# </a>#}
{# </div>#}
{# <ul class="nav col-md-4 justify-content-end list-unstyled d-flex">#}
{# <li class="ms-3"><a class="text-muted" href="https://github.com/cosmictraders/spacegui/"><span class="bi bi-github"></span></a></li>#}
{# </ul>#}
{# </footer>#}
{# </div>#}
{# TODO: Fix #}
</div>
{% include "navbar.html" %}
{% with messages = get_flashed_messages(with_categories=True) %}
{% if messages %}
<div id="flash-box" class=flashes>
{% for category, message in messages %}
<div class="alert alert-{{ category }} alert-dismissible" role="alert">
<div>{{ message }}</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endfor %}
</div>
{% endif %}
{% endwith %}
{% block body %}
{% endblock %}
{# <div class="container">#}
{# <footer class="d-flex flex-wrap justify-content-between align-items-center py-3 my-4 border-top">#}
{# <div class="col-md-4 d-flex align-items-center">#}
{# <a href="/" class="mb-3 me-2 mb-md-0 text-muted text-decoration-none lh-1">#}
{# <img src="/static/favicon.png" height="32px" width="32px" alt="logo"/>#}
{# Space Gui#}
{# </a>#}
{# </div>#}
{# <ul class="nav col-md-4 justify-content-end list-unstyled d-flex">#}
{# <li class="ms-3"><a class="text-muted" href="https://github.com/cosmictraders/spacegui/"><span class="bi bi-github"></span></a></li>#}
{# </ul>#}
{# </footer>#}
{# </div>#}
{# TODO: Fix #}
<script>
const element = document.getElementById("{% block navid %}{% endblock %}");
element.classList.add("active");
Expand Down
47 changes: 41 additions & 6 deletions website/templates/landing.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
{% block body %}
<style>
.colored-background {
min-height: 100%;
--bd-violet-rgb: 108, 20, 240;
--bd-accent-rgb: 255,228,132;
--bd-pink-rgb: 214,51,132;
Expand All @@ -18,19 +19,53 @@
}
</style>
<div class="colored-background">
<div class="container-fluid">
<div class="row justify-content-center py-4">
<div class="shadow-lg card" style="width: fit-content;">
<div class="container-fluid">
<div class="row justify-content-center py-4">
<div class="shadow-lg card" style="width: fit-content;">
<div class="card-body">
<div class="row justify-content-center text-center">
<h1>SpaceGui</h1>
</div>
<div class="row justify-content-center text-center">
<p class="text-primary">A <a href="https://spacetraders.io/">SpaceTraders</a> GUI</p>
</div>
</div>
</div>
</div>
<div class="row justify-content-center py-4">
{% if user.is_authenticated %}
<div class="card text-bg-info m-3" style="width: 18rem;">
<a href="/create-user-no-token/" style="color: inherit; text-decoration: none;">
<div class="card-body">
<h5 class="card-title">No Token</h5>
<p class="card-text">If you haven't already created an agent and would like to create one.</p>
</div>
</a>
</div>
<div class="card text-bg-info m-3" style="width: 18rem;">
<a href="/create-user-with-token/" style="color: inherit; text-decoration: none;">
<div class="card-body">
<h5 class="card-title">Token</h5>
<p class="card-text">If you already have an agent and would like to use it.</p>
</div>
</a>
</div>
{% else %}
<div class="shadow card" style="width: 20rem;">
<div class="card-body">
<div class="row justify-content-center text-center">
<h1>Homepage</h1>
<h5>Get Started</h5>
</div>
<div class="row justify-content-center text-center">
<p></p>
<p>Manage all your tokens with a unified interface</p>
<span>
<a href="/login" class="btn btn-primary">Login</a>
<a href="/signup" class="btn btn-primary">Signup</a>
</span>
</div>
</div>
</div>
</div>
{% endif %}
</div>
</div>
{% endblock %}
Expand Down
14 changes: 9 additions & 5 deletions website/templates/leaderboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,15 @@ <h1 class="col">Top Credits</h1>
<div class="row justify-content-center text-center">
<h1 class="col">Top Charters</h1>
</div>
<ul class="list-group">
{% for agent in status.leaderboards["mostSubmittedCharts"] %}
<a class="list-group-item list-group-item-action" href="/agent/{{ agent["agentSymbol"] }}"><b class="float-start">{{ agent["agentSymbol"] }}</b> <span class="float-end">{{ agent["chartCount"] }}</span></a></li>
{% endfor %}
</ul>
{% if status.leaderboards["mostSubmittedCharts"].__len__() != 0 %}
<ul class="list-group">
{% for agent in status.leaderboards["mostSubmittedCharts"] %}
<a class="list-group-item list-group-item-action" href="/agent/{{ agent["agentSymbol"] }}"><b class="float-start">{{ agent["agentSymbol"] }}</b> <span class="float-end">{{ agent["chartCount"] }}</span></a></li>
{% endfor %}
</ul>
{% else %}
<p><b>No Charters</b></p>
{% endif %}
</div>
</div>
</div>
Expand Down
61 changes: 29 additions & 32 deletions website/templates/navbar.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,49 +33,46 @@
</ul>
<ul class="navbar-nav d-flex">
<li class="d-flex nav-item" style="float: right">
{% if user.is_authenticated %}
<form role="search" class="d-flex">
<div class="input-group">
<input class="form-control" type="search" placeholder="Search" id="search-box" aria-label="Search" value="">
<button class="btn btn-success" onclick="search()" id="searchbutton" type="button"><i class="bi bi-search"></i></button>
</div>
</form>
<div class="dropdown-menu d-block pt-0 mt-5 shadow w-280px" id="suggestions">
<ul class="list-unstyled mb-0">
<li>
<button class="dropdown-item d-flex align-items-center gap-2 py-2" onclick="search_filter('ship')">
Ships
</button>
</li>
<li>
<button class="dropdown-item d-flex align-items-center gap-2 py-2"
onclick="search_filter('system')">
Systems
</button>
</li>
<li>
<button class="dropdown-item d-flex align-items-center gap-2 py-2"
onclick="search_filter('map')">
Map Items
</button>
</li>
</ul>
<form role="search" class="d-flex">
<div class="input-group">
<input class="form-control" type="search" placeholder="Search" id="search-box" aria-label="Search" value="">
<button class="btn btn-success" onclick="search()" id="searchbutton" type="button"><i class="bi bi-search"></i></button>
</div>
{% endif %}
</form>
<div class="dropdown-menu d-block pt-0 mt-5 shadow w-280px" id="suggestions">
<ul class="list-unstyled mb-0">
<li>
<button class="dropdown-item d-flex align-items-center gap-2 py-2" onclick="search_filter('ship')">
Ships
</button>
</li>
<li>
<button class="dropdown-item d-flex align-items-center gap-2 py-2"
onclick="search_filter('system')">
Systems
</button>
</li>
<li>
<button class="dropdown-item d-flex align-items-center gap-2 py-2"
onclick="search_filter('map')">
Map Items
</button>
</li>
</ul>
</div>
{% if user.is_authenticated %}
<a id="select-token" class="nav-link" href="/select-token/"><i class="bi bi-person-lines-fill"></i> Select Token</a>
<a id="logout" class="nav-link" href="/logout/"><i class="bi bi-person-lines-fill"></i> Logout</a>
<a id="logout" class="nav-link" href="/logout/"><i class="bi bi-person-dash-fill"></i> Logout</a>
{% else %}
<a id="login" class="nav-link" href="/login/"><i class="bi bi-person-lines-fill"></i> Login</a>
<a id="register" class="nav-link" href="/register/"><i class="bi bi-person-lines-fill"></i> Register</a>
<a id="login" class="nav-link" href="/login/"><i class="bi bi-person-check-fill"></i> Login</a>
<a id="register" class="nav-link" href="/register/"><i class="bi bi-person-fill-add"></i> Register</a>
{% endif %}
<a id="settings" class="nav-link" href="/settings/"><i class="bi bi-gear-fill"></i> Settings</a>
</li>
</ul>
</div>
</nav>
<script>
// TODO: Make this work without error if not authenticated
document.getElementById("suggestions").classList.add("visually-hidden");
$("#search-box").keypress(function (event) {
if (event.keyCode === 13 || event.which === 13) {
Expand Down

0 comments on commit c6725a5

Please sign in to comment.