update 1
9
.replit
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
modules = ["web", "python-3.12"]
|
||||||
|
run = "python3 app.py"
|
||||||
|
|
||||||
|
[nix]
|
||||||
|
channel = "stable-24_05"
|
||||||
|
|
||||||
|
[deployment]
|
||||||
|
run = ["sh", "-c", "python3 app.py"]
|
||||||
|
deploymentTarget = "cloudrun"
|
||||||
15
app.py
@@ -1,3 +1,8 @@
|
|||||||
|
# TODO
|
||||||
|
# Fix all text sizes across all pages except competition log
|
||||||
|
# Fix all top margins (do 20ish vh instead)
|
||||||
|
|
||||||
|
|
||||||
from flask import Flask, render_template
|
from flask import Flask, render_template
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
@@ -19,13 +24,17 @@ def robot():
|
|||||||
def competitions():
|
def competitions():
|
||||||
return render_template('competitions.html')
|
return render_template('competitions.html')
|
||||||
|
|
||||||
@app.route('/awards')
|
# @app.route('/awards')
|
||||||
def awards():
|
# def awards():
|
||||||
return render_template('awards.html')
|
# return render_template('awards.html')
|
||||||
|
|
||||||
@app.route('/contact')
|
@app.route('/contact')
|
||||||
def contact():
|
def contact():
|
||||||
return render_template('contact.html')
|
return render_template('contact.html')
|
||||||
|
|
||||||
|
@app.route('/sponsors')
|
||||||
|
def sponsors():
|
||||||
|
return render_template('sponsors.html')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app.run(debug=True)
|
app.run(debug=True)
|
||||||
178
poetry.lock
generated
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
# This file is automatically @generated by Poetry 1.5.4 and should not be changed by hand.
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "blinker"
|
||||||
|
version = "1.8.2"
|
||||||
|
description = "Fast, simple object-to-object and broadcast signaling"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.8"
|
||||||
|
files = [
|
||||||
|
{file = "blinker-1.8.2-py3-none-any.whl", hash = "sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01"},
|
||||||
|
{file = "blinker-1.8.2.tar.gz", hash = "sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "click"
|
||||||
|
version = "8.1.7"
|
||||||
|
description = "Composable command line interface toolkit"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
|
{file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"},
|
||||||
|
{file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
colorama = {version = "*", markers = "platform_system == \"Windows\""}
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "colorama"
|
||||||
|
version = "0.4.6"
|
||||||
|
description = "Cross-platform colored terminal text."
|
||||||
|
optional = false
|
||||||
|
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
||||||
|
files = [
|
||||||
|
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
|
||||||
|
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "flask"
|
||||||
|
version = "3.0.3"
|
||||||
|
description = "A simple framework for building complex web applications."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.8"
|
||||||
|
files = [
|
||||||
|
{file = "flask-3.0.3-py3-none-any.whl", hash = "sha256:34e815dfaa43340d1d15a5c3a02b8476004037eb4840b34910c6e21679d288f3"},
|
||||||
|
{file = "flask-3.0.3.tar.gz", hash = "sha256:ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
blinker = ">=1.6.2"
|
||||||
|
click = ">=8.1.3"
|
||||||
|
itsdangerous = ">=2.1.2"
|
||||||
|
Jinja2 = ">=3.1.2"
|
||||||
|
Werkzeug = ">=3.0.0"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
async = ["asgiref (>=3.2)"]
|
||||||
|
dotenv = ["python-dotenv"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "itsdangerous"
|
||||||
|
version = "2.2.0"
|
||||||
|
description = "Safely pass data to untrusted environments and back."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.8"
|
||||||
|
files = [
|
||||||
|
{file = "itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef"},
|
||||||
|
{file = "itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "jinja2"
|
||||||
|
version = "3.1.4"
|
||||||
|
description = "A very fast and expressive template engine."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
|
{file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"},
|
||||||
|
{file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
MarkupSafe = ">=2.0"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
i18n = ["Babel (>=2.7)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "markupsafe"
|
||||||
|
version = "2.1.5"
|
||||||
|
description = "Safely add untrusted strings to HTML/XML markup."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
|
{file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"},
|
||||||
|
{file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"},
|
||||||
|
{file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "werkzeug"
|
||||||
|
version = "3.0.3"
|
||||||
|
description = "The comprehensive WSGI web application library."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.8"
|
||||||
|
files = [
|
||||||
|
{file = "werkzeug-3.0.3-py3-none-any.whl", hash = "sha256:fc9645dc43e03e4d630d23143a04a7f947a9a3b5727cd535fdfe155a17cc48c8"},
|
||||||
|
{file = "werkzeug-3.0.3.tar.gz", hash = "sha256:097e5bfda9f0aba8da6b8545146def481d06aa7d3266e7448e2cccf67dd8bd18"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
MarkupSafe = ">=2.1.1"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
watchdog = ["watchdog (>=2.3)"]
|
||||||
|
|
||||||
|
[metadata]
|
||||||
|
lock-version = "2.0"
|
||||||
|
python-versions = "^3.12"
|
||||||
|
content-hash = "f8a7cfa653e10af88cc9a8e65f4048a61de85d9041112d08ec18adef5458fc26"
|
||||||
16
pyproject.toml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
[tool.poetry]
|
||||||
|
name = "repl-nix-ftc23344"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = ""
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
readme = "README.md"
|
||||||
|
packages = [{include = "repl_nix_ftc23344"}]
|
||||||
|
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "^3.12"
|
||||||
|
flask = "^3.0.3"
|
||||||
|
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["poetry-core"]
|
||||||
|
build-backend = "poetry.core.masonry.api"
|
||||||
BIN
.DS_Store → static/.DS_Store
vendored
BIN
static/images/anish.png
Normal file
|
After Width: | Height: | Size: 407 KiB |
BIN
static/images/bg.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
static/images/bg2.png
Normal file
|
After Width: | Height: | Size: 124 KiB |
BIN
static/images/cen.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
static/images/cen2.png
Normal file
|
After Width: | Height: | Size: 160 KiB |
BIN
static/images/cen3.png
Normal file
|
After Width: | Height: | Size: 160 KiB |
BIN
static/images/default.jpg
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
static/images/email.jpg
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
static/images/favicon.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
static/images/g3.jpg
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
static/images/gmail.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
static/images/google.png
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
static/images/googlg2.jpg
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
static/images/ig.jpg
Normal file
|
After Width: | Height: | Size: 87 KiB |
BIN
static/images/insta.jpg
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
static/images/insta2.jpg
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
static/images/insta3.jpg
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
static/images/insta4.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
static/images/insta5.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
static/images/keshav.png
Normal file
|
After Width: | Height: | Size: 112 KiB |
BIN
static/images/logo.png
Normal file
|
After Width: | Height: | Size: 107 KiB |
BIN
static/images/mail.jpg
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
static/images/ray.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
static/images/storm.png
Normal file
|
After Width: | Height: | Size: 247 KiB |
BIN
static/images/sujay.png
Normal file
|
After Width: | Height: | Size: 404 KiB |
BIN
static/images/ti.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
static/images/twc.png
Normal file
|
After Width: | Height: | Size: 181 KiB |
BIN
static/images/youtubee.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
static/images/yt.jpg
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
static/images/yt2.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
static/images/yt2.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
@@ -1,7 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block title %}Awards{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
|
|
||||||
{% endblock %}
|
|
||||||
@@ -7,28 +7,40 @@
|
|||||||
<!--Shared Files-->
|
<!--Shared Files-->
|
||||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/styles.css') }}">
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/styles.css') }}">
|
||||||
<script src="{{ url_for('static', filename='js/scripts.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/scripts.js') }}"></script>
|
||||||
|
<link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='images/favicon.png') }}">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<nav>
|
<nav>
|
||||||
<ul class="nav-container">
|
<ul class="nav-container">
|
||||||
<li class="nav-item nav-brand">
|
<li class="nav-item-left">
|
||||||
<a href="/"></a>
|
<a href="/"><img id="logo" src="{{ url_for('static', filename='images/logo.png') }}"></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item center">
|
|
||||||
|
<li class="nav-item-center">
|
||||||
|
<a href="/">Home</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item-center">
|
||||||
<a href="/contributors">Contributors</a>
|
<a href="/contributors">Contributors</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item center">
|
<li class="nav-item-center">
|
||||||
<a href="/competitions">Competitions</a>
|
<a href="/competitions">Competitions</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item center">
|
<li class="nav-item-center">
|
||||||
|
<a href="/sponsors">Sponsors</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item-center">
|
||||||
<a href="/contact">Contact</a>
|
<a href="/contact">Contact</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="nav-item-center">
|
||||||
|
<a href="https://hcb.hackclub.com/donations/start/technicalturbulence" target="_blank">Donate</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<!-- This is where child templates will insert their content -->
|
<!-- This is where child templates will insert their content -->
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,11 +1,124 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Competition Log{% endblock %}
|
{% block title %}Technical Turbulence - Competition Log{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>competitions</p>
|
<div class="competitions">
|
||||||
|
<div class="sidebar">
|
||||||
|
<div class="sidebar-content">
|
||||||
|
<a href="#2023">2023</a>
|
||||||
|
<a href="#2024">2024</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="competitions-container">
|
||||||
|
<div class="competitions-inner">
|
||||||
|
<div class="header-container6">
|
||||||
|
<h1 class="header2"><span class="emoji competitions">COMPETITION LOG</span></h1>
|
||||||
|
<div class="line"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h1 id="2023" class="competition-year">2023</h1>
|
||||||
|
|
||||||
|
<div class="competition-card">
|
||||||
|
<div class="competition-header">
|
||||||
|
<p class="competition-name">FiT-North F-League Meets (3)</p>
|
||||||
|
<p class="middle-dot">·</p>
|
||||||
|
<p class="competition-date">11/11/23 - 01/06/24</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="competition-subtitle">Description</p>
|
||||||
|
|
||||||
|
<p class="competition-description">Consisted of 3 qualification meets: FiT-North F-League Meet 1, FiT-North F-League Meet 2, and FiT-North F-League Meet 3.</p>
|
||||||
|
|
||||||
|
<p class="competition-subtitle">Awards</p>
|
||||||
|
|
||||||
|
<ul class="competition-awards">
|
||||||
|
<li>Accumulated 10 wins</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="competition-card">
|
||||||
|
<div class="competition-header">
|
||||||
|
<p class="competition-name">FiT-North E&F Tournament</p>
|
||||||
|
<p class="middle-dot">·</p>
|
||||||
|
<p class="competition-date">01/20/24</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="competition-subtitle">Description</p>
|
||||||
|
|
||||||
|
<p class="competition-description">We got 4 wins, and got Rank 3 out of 24 going into the playoffs. We were the 1st Team Selected by Rank 2 Team 13072. We had 2 wins in the Semi-Finals and 2 wins in the Finals. We won 3 awards and advanced straight to North Area Championship for Texas FiT Region.</p>
|
||||||
|
|
||||||
|
<p class="competition-subtitle">Awards</p>
|
||||||
|
|
||||||
|
<ul class="competition-awards">
|
||||||
|
<li>Design Award 3rd Place</li>
|
||||||
|
<li>Innovate Award sponsored by RTX 2nd Place</li>
|
||||||
|
<li>Winning Alliance - 1st Team Selected</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="competition-card">
|
||||||
|
<div class="competition-header">
|
||||||
|
<p class="competition-name">FiT-North Area Championship</p>
|
||||||
|
<p class="middle-dot">·</p>
|
||||||
|
<p class="competition-date">02/24/24</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="competition-subtitle">Description</p>
|
||||||
|
|
||||||
|
<p class="competition-description">We won our first match [But Expansion and Control hubs were tweaking the whole time :( ]. We ended at Rank 37 of 41, and did not get picked for playoffs. We won 1 award and advanced to the Texas State Championship.</p>
|
||||||
|
|
||||||
|
<p class="competition-subtitle">Awards</p>
|
||||||
|
|
||||||
|
<ul class="competition-awards">
|
||||||
|
<li>Innovate Award sponsored by RTX 2nd Place</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="competition-card">
|
||||||
|
<div class="competition-header">
|
||||||
|
<p class="competition-name">Texas FTC State Championship - Johnson Division</p>
|
||||||
|
<p class="middle-dot">·</p>
|
||||||
|
<p class="competition-date">03/21/24 - 03/23/24</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="competition-subtitle">Description</p>
|
||||||
|
|
||||||
|
<p class="competition-description">We got 3 wins and got Rank 12 of 36 going into playoffs. We were the 1st Team Selected by Rank 4 Team 16226. We got 2 wins in the Semi-Finals and 1 win in the Finals. We won 1 award, but did not advance to the State Finals nor the World Championship.</p>
|
||||||
|
|
||||||
|
<p class="competition-subtitle">Awards</p>
|
||||||
|
|
||||||
|
<ul class="competition-awards">
|
||||||
|
<li>Johnson Division Finalist Alliance - 1st Team Selected</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="competition-card">
|
||||||
|
<div class="competition-header">
|
||||||
|
<p class="competition-name">Buc Days 2024 Robotics Rodeo (Off-season Tournament)</p>
|
||||||
|
<p class="middle-dot">·</p>
|
||||||
|
<p class="competition-date">05/04/24</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="competition-subtitle">Description</p>
|
||||||
|
|
||||||
|
<p class="competition-description">We got 4 wins and were Rank 8 of 41 going into playoffs. We were the st Team Selected by Rank 3 Team 16458. We got 2 wins in the Semi-Finals and 1 win in the Finals. We won 1 award.</p>
|
||||||
|
|
||||||
|
<p class="competition-subtitle">Awards</p>
|
||||||
|
|
||||||
|
<ul class="competition-awards">
|
||||||
|
<li>Finalist Alliance - 1st Team Selected</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
41
templates/contact copy.html
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %}Communication{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="contact">
|
||||||
|
<div class="header-container">
|
||||||
|
<div class="line"></div>
|
||||||
|
<h1 class="header">CONTACT US</h1>
|
||||||
|
<div class="line"></div>
|
||||||
|
</div>
|
||||||
|
<p class="info">you can find us on several platforms.</p>
|
||||||
|
<div class="contact-container">
|
||||||
|
<div class="contact-card">
|
||||||
|
<img class="card-img" src="{{ url_for('static', filename='images/insta4.png') }}">
|
||||||
|
<div class="card-txt-container">
|
||||||
|
<p class="card-txt"><a class="link" target="_blank" href="https://www.instagram.com/technicalturbulence23344/"> Follow Our Instagram </a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="contact-card">
|
||||||
|
<img class="card-img" src="{{ url_for('static', filename='images/yt2.png') }}">
|
||||||
|
<div class="card-txt-container">
|
||||||
|
<p class="card-txt"><a class="link" target="_blank" href="https://youtube.com/@TechnicalTurbulenceFTC"> Find Us On YT </a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="contact-card">
|
||||||
|
<img class="card-img" src="{{ url_for('static', filename='images/g3.jpg') }}">
|
||||||
|
<div class="card-txt-container">
|
||||||
|
<p class="card-txt"><a class="link" target="_blank" href="mailto:technicalturbulence@gmail.com"> Email Us </a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
@@ -1,11 +1,37 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Communication{% endblock %}
|
{% block title %}Technical Turbulence - Contact{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>contact</p>
|
<div class="contact">
|
||||||
|
<div class="header-container">
|
||||||
|
<div class="line"></div>
|
||||||
|
<h1 class="header"><span class="emoji contact">CONTACT US</span></h1>
|
||||||
|
<div class="line"></div>
|
||||||
|
</div>
|
||||||
|
<p class="info">you can find us on several platforms!</p>
|
||||||
|
<div class="contact-container">
|
||||||
|
<div class="card-container">
|
||||||
|
<a href="https://www.instagram.com/technicalturbulence23344/" target="_blank" class="card">
|
||||||
|
<div class="card-content">
|
||||||
|
<img src="{{ url_for('static', filename='images/insta5.png') }}" alt="Image 1">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="mailto:technicalturbulence@gmail.com" target="_blank" class="card">
|
||||||
|
<div class="card-content">
|
||||||
|
<img src="{{ url_for('static', filename='images/gmail.png') }}" alt="Image 2">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="https://youtube.com/@TechnicalTurbulenceFTC" target="_blank" class="card">
|
||||||
|
<div class="card-content">
|
||||||
|
<img src="{{ url_for('static', filename='images/youtubee.png') }}" alt="Image 3">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -1,11 +1,99 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Members and Contributors{% endblock %}
|
{% block title %}Technical Turbulence - Team{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>contributors</p>
|
<div class="contributors">
|
||||||
|
<div class="team-info">
|
||||||
|
<div class="stats-container">
|
||||||
|
<div class="header-container3">
|
||||||
|
<h1 class="header"><span class="emoji stats">OUR STATS</span></h1>
|
||||||
|
<div class="line2"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="stats-cards">
|
||||||
|
<div class="stats-card">
|
||||||
|
<h1 class="stats-card-header">1</h1>
|
||||||
|
<p class="stats-card-info">year of robotics</p>
|
||||||
|
</div>
|
||||||
|
<div class="stats-card">
|
||||||
|
<h1 class="stats-card-header">5</h1>
|
||||||
|
<p class="stats-card-info">awards this season</p>
|
||||||
|
</div>
|
||||||
|
<div class="stats-card">
|
||||||
|
<h1 class="stats-card-header">5</h1>
|
||||||
|
<p class="stats-card-info">total awards won</p>
|
||||||
|
</div>
|
||||||
|
<div class="stats-card">
|
||||||
|
<h1 class="stats-card-header">9</h1>
|
||||||
|
<p class="stats-card-info">team members</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="stats-button" onclick="window.location.href = '{{ url_for('competitions') }}' ; ">View our log</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="header-container4">
|
||||||
|
<div class="line"></div>
|
||||||
|
<h1 class="header"><span class="emoji team">OUR TEAM</span></h1>
|
||||||
|
<div class="line"></div>
|
||||||
|
</div>
|
||||||
|
<p class="info">meet our amazing team!</p>
|
||||||
|
|
||||||
|
<div class="members-container">
|
||||||
|
|
||||||
|
<div class="member-card">
|
||||||
|
<img class="member-image" src="{{ url_for('static', filename='images/default.jpg') }}">
|
||||||
|
<h2 class="member-name">Samuel</h2>
|
||||||
|
<p class="member-role">HARDWARE</p>
|
||||||
|
</div>
|
||||||
|
<div class="member-card">
|
||||||
|
<img class="member-image" src="{{ url_for('static', filename='images/anish.png') }}">
|
||||||
|
<h2 class="member-name">Anish</h2>
|
||||||
|
<p class="member-role">HARDWARE</p>
|
||||||
|
</div>
|
||||||
|
<div class="member-card">
|
||||||
|
<img class="member-image" src="{{ url_for('static', filename='images/default.jpg') }}">
|
||||||
|
<h2 class="member-name">Daniel</h2>
|
||||||
|
<p class="member-role">HARDWARE</p>
|
||||||
|
</div>
|
||||||
|
<div class="member-card">
|
||||||
|
<img class="member-image" src="{{ url_for('static', filename='images/default.jpg') }}">
|
||||||
|
<h2 class="member-name">Stephen</h2>
|
||||||
|
<p class="member-role">HARDWARE</p>
|
||||||
|
</div>
|
||||||
|
<div class="member-card">
|
||||||
|
<img class="member-image" src="{{ url_for('static', filename='images/new-keshav.png') }}">
|
||||||
|
<h2 class="member-name">Keshav</h2>
|
||||||
|
<p class="member-role">SOFTWARE</p>
|
||||||
|
</div>
|
||||||
|
<div class="member-card">
|
||||||
|
<img class="member-image" src="{{ url_for('static', filename='images/sujay.png') }}">
|
||||||
|
<h2 class="member-name">Sujay</h2>
|
||||||
|
<p class="member-role">SOFTWARE</p>
|
||||||
|
</div>
|
||||||
|
<div class="member-card">
|
||||||
|
<img class="member-image" src="{{ url_for('static', filename='images/abhi.png') }}">
|
||||||
|
<h2 class="member-name">Abhiram</h2>
|
||||||
|
<p class="member-role">SOFTWARE</p>
|
||||||
|
</div>
|
||||||
|
<div class="member-card">
|
||||||
|
<img class="member-image" src="{{ url_for('static', filename='images/default.jpg') }}">
|
||||||
|
<h2 class="member-name">Caitlin</h2>
|
||||||
|
<p class="member-role">ALUMNI; HARDWARE</p>
|
||||||
|
</div>
|
||||||
|
<div class="member-card">
|
||||||
|
<img class="member-image" src="{{ url_for('static', filename='images/default.jpg') }}">
|
||||||
|
<h2 class="member-name">Krith</h2>
|
||||||
|
<p class="member-role">OUTREACH</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -1,11 +1,80 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Home{% endblock %}
|
{% block title %}Technical Turbulence - Home{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<p>home</p>
|
<div class="home">
|
||||||
|
<div class="bg">
|
||||||
|
<img src="{{ url_for('static', filename='images/storm.png') }}">
|
||||||
|
</div>
|
||||||
|
<div class="home-info">
|
||||||
|
<div class="header-container2">
|
||||||
|
<h1 class="header"><span class="emoji about">ABOUT US</span></h1>
|
||||||
|
<div class="line"></div>
|
||||||
|
</div>
|
||||||
|
<h1 class="sub-header">Hello! We are Technical Turbulence.</h1>
|
||||||
|
<p class="sub-content">FTC Team 23344 Technical Turbulence is a team based in Plano, Texas. Our rookie year was 2023 and we hope to learn much more in the years to come. We want to grow our numbers and increase our outreach towards different communities so we can be the best that we can.</p>
|
||||||
|
<div class="stats-container">
|
||||||
|
<div class="header-container3">
|
||||||
|
<h1 class="header"><span class="emoji stats">OUR STATS</span></h1>
|
||||||
|
<div class="line2"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="stats-cards">
|
||||||
|
<div class="stats-card">
|
||||||
|
<h1 class="stats-card-header">1</h1>
|
||||||
|
<p class="stats-card-info">year of robotics</p>
|
||||||
|
</div>
|
||||||
|
<div class="stats-card">
|
||||||
|
<h1 class="stats-card-header">5</h1>
|
||||||
|
<p class="stats-card-info">awards this season</p>
|
||||||
|
</div>
|
||||||
|
<div class="stats-card">
|
||||||
|
<h1 class="stats-card-header">5</h1>
|
||||||
|
<p class="stats-card-info">total awards won</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="stats-button" onclick="window.location.href = '{{ url_for('competitions') }}' ; ">View our log</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="meet-our-team-container">
|
||||||
|
<img id="meet-our-team" src="{{ url_for('static', filename='images/team.png') }}">
|
||||||
|
<button class="bottom-center-button" onclick="window.location.href = '{{ url_for('contributors') }}' ; ">Meet Our Team</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="header-container2">
|
||||||
|
<h1 class="header"><span class="emoji gallary">GALLERY</span></h1>
|
||||||
|
<div class="line"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h1 class="sub-header">See what we've been up to.</h1>
|
||||||
|
<p class="sub-content">coming soon...</p>
|
||||||
|
|
||||||
|
<div class="header-container2">
|
||||||
|
<h1 class="header"><span class="emoji sponsors">SPONSORS</span></h1>
|
||||||
|
<div class="line"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h1 class="sub-header">And we couldn't have done it without...</h1>
|
||||||
|
|
||||||
|
<div class="sponsors-container">
|
||||||
|
<img class="sponsors-card" src="{{ url_for('static', filename='images/ray.png') }}">
|
||||||
|
<img class="sponsors-card" src="{{ url_for('static', filename='images/cen3.png') }}">
|
||||||
|
<img class="sponsors-card" src="{{ url_for('static', filename='images/ti.png') }}">
|
||||||
|
<img class="sponsors-card" src="{{ url_for('static', filename='images/twc.png') }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sponsors-more-container">
|
||||||
|
<button type="button" id="sponsors-more-button" onclick="window.location.href = '{{ url_for('sponsors') }}' ; ">See more</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{% extends "base.html" %}
|
|
||||||
|
|
||||||
{% block title %}About The Robot{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
|
|
||||||
{% endblock %}
|
|
||||||
44
templates/sponsors.html
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %}Technical Turbulence - Sponsors{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="sponsors">
|
||||||
|
<div class="header-container">
|
||||||
|
<div class="line"></div>
|
||||||
|
<h1 class="header"><span class="emoji sponsors">OUR SPONSORS</span></h1>
|
||||||
|
<div class="line"></div>
|
||||||
|
</div>
|
||||||
|
<p class="info">companies of various sizes sponsor our initiatives.</p>
|
||||||
|
|
||||||
|
<div class="sponsors-container">
|
||||||
|
<div class="card-container">
|
||||||
|
<a href="https://www.rtx.com/" target="_blank" class="card-sponsors">
|
||||||
|
<div class="card-content-sponsors">
|
||||||
|
<img src="{{ url_for('static', filename='images/ray.png') }}" alt="Image 1">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="https://www.smilesinfrisco.com/" target="_blank" class="card-sponsors">
|
||||||
|
<div class="card-content-sponsors">
|
||||||
|
<img src="{{ url_for('static', filename='images/cen3.png') }}" alt="Image 2">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="https://www.ti.com/" target="_blank" class="card-sponsors">
|
||||||
|
<div class="card-content-sponsors">
|
||||||
|
<img src="{{ url_for('static', filename='images/ti.png') }}" alt="Image 3">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
<a href="https://www.twc.texas.gov/" target="_blank" class="card-sponsors">
|
||||||
|
<div class="card-content-sponsors">
|
||||||
|
<img src="{{ url_for('static', filename='images/twc.png') }}" alt="Image 3">
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||