@ -0,0 +1,21 @@ | |||||
The MIT License (MIT) | |||||
Copyright (c) 2013-2017 Cole Bemis | |||||
Permission is hereby granted, free of charge, to any person obtaining a copy | |||||
of this software and associated documentation files (the "Software"), to deal | |||||
in the Software without restriction, including without limitation the rights | |||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |||||
copies of the Software, and to permit persons to whom the Software is | |||||
furnished to do so, subject to the following conditions: | |||||
The above copyright notice and this permission notice shall be included in all | |||||
copies or substantial portions of the Software. | |||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |||||
SOFTWARE. |
@ -0,0 +1,15 @@ | |||||
ISC License | |||||
Copyright (c) 2020, Lucide Contributors | |||||
Permission to use, copy, modify, and/or distribute this software for any | |||||
purpose with or without fee is hereby granted, provided that the above | |||||
copyright notice and this permission notice appear in all copies. | |||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
@ -0,0 +1,7 @@ | |||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> | |||||
<line x1="6" y1="11" x2="10" y2="11"></line> | |||||
<line x1="8" y1="9" x2="8" y2="13"></line> | |||||
<line x1="15" y1="12" x2="15.01" y2="12"></line> | |||||
<line x1="18" y1="10" x2="18.01" y2="10"></line> | |||||
<path d="M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z"></path> | |||||
</svg> |
@ -0,0 +1,12 @@ | |||||
<svg xmlns="http://www.w3.org/2000/svg"> | |||||
<defs> | |||||
<symbol id="snowflake" viewBox="0 0 24 24"> | |||||
<line x1="2" y1="12" x2="22" y2="12"></line> | |||||
<line x1="12" y1="2" x2="12" y2="22"></line> | |||||
<path d="M20 16l-4-4 4-4"></path> | |||||
<path d="M4 8l4 4-4 4"></path> | |||||
<path d="M16 4l-4 4-4-4"></path> | |||||
<path d="M8 20l4-4 4 4"></path> | |||||
</symbol> | |||||
</defs> | |||||
</svg> |
@ -0,0 +1,55 @@ | |||||
<nav class="navbar navbar-expand-lg sticky-top navbar-dark bg-dark"> | |||||
<div class="navbar-brand d-none d-md-block">Technical Incompetence</div> | |||||
<ul class="navbar-expand navbar-nav"> | |||||
{% if request.path == url_for('index') %} | |||||
<li class="nav-item active"> | |||||
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> | |||||
{% else %} | |||||
<li class="nav-item"> | |||||
<a class="nav-link" href="{{ url_for('index') }}">Home</a> | |||||
{% endif %} | |||||
</li> | |||||
{% if request.path == url_for('game') %} | |||||
<li class="nav-item active"> | |||||
<a class="nav-link" href="#">Games <span class="sr-only">(current)</span></a> | |||||
{% else %} | |||||
<li class="nav-item"> | |||||
<a class="nav-link" href="{{ url_for('game') }}">Games</a> | |||||
{% endif %} | |||||
</li> | |||||
</ul> | |||||
<form class="form-inline ml-auto"> | |||||
<a onclick="showApps();" style="cursor: pointer;"> | |||||
<svg | |||||
width="24" | |||||
height="24" | |||||
fill="none" | |||||
stroke="currentColor" | |||||
stroke-width="2" | |||||
stroke-linecap="round" | |||||
stroke-linejoin="round" | |||||
style="vertical-align: middle;"> | |||||
<use xlink:href="{{url_for('.static', filename='icons/feathericons/feather-sprite.svg')}}#grid"/> | |||||
</svg> | |||||
</a> | |||||
{% if account_url is defined and account_url != '' %} | |||||
{% if current_user.is_authenticated %} | |||||
<a href="{{ account_url }}" style="color: white;"> | |||||
<svg | |||||
width="24" | |||||
height="24" | |||||
fill="none" | |||||
stroke="currentColor" | |||||
stroke-width="2" | |||||
stroke-linecap="round" | |||||
stroke-linejoin="round" | |||||
style="vertical-align: middle; margin-left: 1rem;"> | |||||
<use xlink:href="{{url_for('.static', filename='icons/feathericons/feather-sprite.svg')}}#user"/> | |||||
</svg> | |||||
</a> | |||||
{% else %} | |||||
<a class="btn btn-sm btn-primary" style="margin-left: 1rem;" href="{{ account_url }}" role="button">Sign In</a> | |||||
{% endif %} | |||||
{% endif %} | |||||
</form> | |||||
</nav> |
@ -0,0 +1,67 @@ | |||||
{% extends "bootstrap/base.html" %} | |||||
{% block title %}Technical Incompetence - Home{% endblock %} | |||||
{% block styles %} | |||||
{{super()}} | |||||
{# <link rel="icon" type="image/png" href="{{url_for('.static', filename='favicon.png')}}" /> #} | |||||
<link rel="stylesheet" href="{{url_for('.static', filename='style.css')}}"> | |||||
{% if countdown is defined %} | |||||
<link rel="stylesheet" href="{{url_for('.static', filename='clock.css')}}"> | |||||
{% endif %} | |||||
<style> | |||||
html { | |||||
scrollbar-width: none; | |||||
} | |||||
</style> | |||||
{% endblock %} | |||||
{% block content %} | |||||
<div class="container" style="margin-top: 15px"> | |||||
<h5>Apps</h5> | |||||
<div class="row" style="margin-left: auto; margin-right: auto;"> | |||||
{% for app in apps %} | |||||
<div class="col-xs-4" style="width: 90px;"> | |||||
<div class="card" onclick="goToLink('{{ app['link'] }}');" style="background-color: rgba(0,0,0,0); border: none;"> | |||||
<div class="card-body" style="padding: .5rem; text-align: center;"> | |||||
{% if app['image'] is defined %} | |||||
<img src="{{url_for('.static', filename='images/' )}}{{ app['image'] }}" class="card-img" style="width: 64px !important; padding-bottom: 5px;"> | |||||
{% endif %} | |||||
<p class="card-title" style="font-size: .75rem">{{ app['name'] }}</p> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
{% endfor %} | |||||
</div> | |||||
<h5>Games</h5> | |||||
<div class="row" style="margin-left: auto; margin-right: auto;"> | |||||
{% for app in games %} | |||||
<div class="col-xs-4" style="width: 90px;"> | |||||
<div class="card" onclick="goToLink('{{ app['link'] }}');" style="background-color: rgba(0,0,0,0); border: none;"> | |||||
<div class="card-body" style="padding: .5rem; text-align: center;"> | |||||
{% if app['image'] is defined %} | |||||
<img src="{{url_for('.static', filename='images/' )}}{{ app['image'] }}" class="card-img" style="width: 64px !important; padding-bottom: 5px;"> | |||||
{% endif %} | |||||
<p class="card-title" style="font-size: .75rem">{{ app['name'] }}</p> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
{% endfor %} | |||||
</div> | |||||
</div> | |||||
{% endblock %} | |||||
{% block scripts %} | |||||
{{ super () }} | |||||
<script> | |||||
$( ".card" ).hover( | |||||
function() { | |||||
$(this).css('cursor', 'pointer'); | |||||
}, function() { | |||||
}); | |||||
function goToLink(link) { | |||||
window.top.location = link; | |||||
} | |||||
</script> | |||||
{% endblock %} |