From d5a591317dac772b616c67649cbdc74288306a06 Mon Sep 17 00:00:00 2001 From: xemeds Date: Mon, 24 Aug 2020 15:25:42 +0300 Subject: [PATCH] Changed the styling of all the pages --- tiny0/forms.py | 2 +- tiny0/static/favicon.ico | Bin 15720 -> 109428 bytes tiny0/static/style.css | 393 +++++++++++++++++++---------------- tiny0/templates/clicks.html | 11 +- tiny0/templates/donate.html | 12 +- tiny0/templates/error.html | 8 +- tiny0/templates/index.html | 45 ++-- tiny0/templates/layout.html | 104 +++------ tiny0/templates/tracker.html | 27 ++- tiny0/templates/url.html | 23 +- 10 files changed, 308 insertions(+), 317 deletions(-) diff --git a/tiny0/forms.py b/tiny0/forms.py index 9bbfe7f..2714c7b 100644 --- a/tiny0/forms.py +++ b/tiny0/forms.py @@ -48,7 +48,7 @@ def validate_token(form, field): return # If the token is the same as a pages route - if field.data == "donate" or field.data == "tracker" or field.data == "lookup": + if field.data == "tracker" or field.data == "lookup" or field.data == "report" or field.data == "donate": # Raise a ValidationError raise ValidationError("Token already exists") diff --git a/tiny0/static/favicon.ico b/tiny0/static/favicon.ico index 0a5393b9a7b2ecad3b693b1acc5e43cd2dde3706..4060eb2e5cb7ac0e315956d95b0abecc146c4aa7 100644 GIT binary patch literal 109428 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 literal 15720 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 F{vU+DO)UTb diff --git a/tiny0/static/style.css b/tiny0/static/style.css index 457e7df..e278184 100644 --- a/tiny0/static/style.css +++ b/tiny0/static/style.css @@ -1,237 +1,280 @@ * { - margin: 0; - padding: 0; - font-family: 'Roboto Mono', monospace; + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Robot Mono', monospace; +} + +nav { + background: #0c2431; + padding: 5px 40px; +} + +nav ul { + list-style: none; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; +} + +nav ul li { + padding: 15px 0; + cursor: pointer; +} + +nav ul li.items { + position: relative; + width: auto; + margin: 0 16px; + text-align: center; + order: 3; + font-weight: bold; +} + +nav ul li.items:after { + position: absolute; + content: ''; + left: 0; + bottom: 5px; + height: 2px; + width: 100%; + background: #f68741; + opacity: 0; + transition: all 0.2s linear; +} + +nav ul li.items:hover:after { + opacity: 1; + bottom: 8px; +} + +nav ul li.logo { + flex: 1; + color: white; + font-size: 23px; + font-weight: 600; + cursor: default; + user-select: none; +} + +nav ul li a { + color: white; + font-size: 18px; + text-decoration: none; + transition: .4s; +} + +nav ul li:hover a { + color: #f68741; +} + +nav ul li i { + font-size: 23px; +} + +nav ul li.btn { + display: none; +} + +nav ul li.btn.hide i:before { + content: '\f00d'; +} + +@media all and (max-width: 900px) { + nav { + padding: 5px 30px; + } + nav ul li.items { + width: 100%; + display: none; + } + nav ul li.items.show { + display: block; + } + nav ul li.btn { + display: block; + } + nav ul li.items:hover { + border-radius: 5px; + box-shadow: 0px 5px 5px #f68741, 0px -5px 5px #f68741; + } + nav ul li.items:hover:after { + opacity: 0; + } } body { - background: #121212; - -} - -.headers { - position: absolute; - left: 0; - right: 0; - top: 3vh; - text-align: center; -} - -.title:link { - color: #bb86fc; - text-decoration: none; - font-size: 50px; - font-weight: bold; -} - -.title:visited { - color: #bb86fc; -} - -.title:hover { - color: #7b59a5; -} - -.desc { - font-size: 25px; - font-weight: bold; - color: #ffffff; + background: #0c2431; } .url-form { - position: relative; - z-index: 100; - background-color: #2c2c2c; - border-radius: 8px; - padding: 30px; - box-shadow: 0px 10px 20px #000000; - margin: 35vh 10vw 0 10vw; + max-width: 700px; + text-align: center; + margin: 220px auto 0 auto; } -.input-list { - width: 100%; - list-style: none; - text-align: center; +.url-form h1 { + color: #ffffff; + text-align: center; + margin-bottom: 30px; } -.url { - width: 80%; - padding: 10px; - background: #121212; - border: 2px solid #bb86fc; - color: #ffffff; - margin-bottom: 2vh; +.feedback-input { + color: white; + font-weight: 500; + font-size: 18px; + border-radius: 5px; + line-height: 22px; + background-color: transparent; + border: 2px solid #fc913a; + transition: all 0.3s; + padding: 13px; + margin-bottom: 15px; + width: 100%; + box-sizing: border-box; + outline: 0; } -.url:focus { - border-color: #7b59a5; -} - -.token { - width: 80%; - padding: 10px; - background: #121212; - border: 2px solid #bb86fc; - color: #ffffff; - margin-bottom: 2vh; -} - -.token:focus { - border-color: #7b59a5; +.feedback-input:focus { + border: 2px solid #c95c03; } .button { - width: 100px; - background: #bb86fc; - border: 2px solid #bb86fc; - border-radius: 3px; - padding: 10px; - color: #000000; - font-weight: bold; + width: 100%; + background: #fc913a; + border-radius: 5px; + border: 0; + cursor: pointer; + color: white; + font-size: 24px; + padding-top: 10px; + padding-bottom: 10px; + transition: all 0.3s; + margin-top: -4px; + font-weight: 700; } .button:hover { - background: #7b59a5; - border-color: #7b59a5; + background: #e26803; } -.form-error-message { - color: #ffffff; - list-style: none; - text-align: center; - margin: -1vh 0 2vh 0; +@media all and (max-width: 800px) { + .url-form { + max-width: 420px; + } } -.token-explanation { - color: #ffffff; - font-size: 13px; - list-style: none; - text-align: center; - margin-bottom: 2vh; +.tooltip { + color: #ffffff; + position: relative; + display: inline-block; + border-bottom: 1px dotted black; + margin-bottom: 15px; } -.click-tracker { - text-align: center; - margin-top: 5vh; +.tooltip .tooltiptext { + visibility: hidden; + width: 400px; + background-color: black; + color: #fff; + text-align: center; + border-radius: 6px; + padding: 10px; + position: absolute; + z-index: 1; + bottom: 150%; + left: 50%; + margin-left: -200px; } -.click-tracker a:link { - color: #bb86fc; - text-decoration: none; - font-size: 25px; - font-weight: bold; +.tooltip .tooltiptext::after { + content: ""; + position: absolute; + top: 100%; + left: 50%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: black transparent transparent transparent; } -.click-tracker a:visited { - color: #bb86fc; +.tooltip:hover .tooltiptext { + visibility: visible; } -.click-tracker a:hover { - color: #7b59a5; +.form-errors { + color: #ffffff; + text-align: center; + margin-top: 15px; } -.clicks-list { - text-align: center; - margin: 30vh 0 0 0; +.form-errors h4 { + margin-bottom: 5px; } -.clicks-number { - color: #bb86fc; - font-size: 125px; - font-weight: bold; +.clicks { + color: #f68741; + text-align: center; + margin-top: 230px; } -.clicks-text { - color: #bb86fc; - font-size: 25px; - font-weight: bold; +.clicks h1 { + font-size: 125px; } -.error-message { - text-align: center; - color: #ffffff; - font-size: 50px; - font-weight: bold; - margin: 35vh auto 0 auto; +.clicks h2 { + font-size: 25px; } .donation { - color: #ffffff; - list-style: none; - text-align: center; - margin: 30vh auto 0 auto; + color: #ffffff; + text-align: center; + margin-top: 200px; } -.donation-title { - font-size: 40px; - font-weight: bold; - margin-bottom: 2vh; +.donation h1 { + font-size: 50px; + margin-bottom: 30px; } -.donation-patreon { - font-size: 30px; - font-weight: bold; - margin-bottom: 5vh; +.donation h2 { + font-size: 30px; + margin-bottom: 60px; } -.donation-bitcoin { - font-size: 16px; - font-weight: bold; +.donation h2 a:link { + color: #f68741; + text-decoration: none; } -.donation a:link { - color: #bb86fc; - text-decoration: none; +.donation h2 a:visited { + color: #f68741; } -.donation a:visited { - color: #bb86fc; +.donation h2 a:hover { + color: #e26803; } -.donation a:hover { - color: #7b59a5; +.error { + color: #ffffff; + text-align: center; + margin-top: 250px; } -.page-container { - position: relative; - min-height: 100vh; +.error h1 { + font-size: 100px; } -.content-wrap { - padding-bottom: 2.5rem; +.error h2 { + font-size: 50px; } footer { - position: absolute; - bottom: 0; - width: 100%; - height: 2.5rem; - margin-bottom: 5vh; -} - -.footer-list { - list-style: none; - text-align: center; -} - -.footer-list li { - color: #ffffff; - display: inline; -} - -.footer-list a:link { - color: #bb86fc; - text-decoration: none; -} - -.footer-list a:visited { - color: #bb86fc; -} - -.footer-list a:hover { - color: #7b59a5; -} - -.copyright { - font-family: serif; + position: absolute; + bottom: 0; + width: 100%; + height: 2.5rem; + color: #ffffff; + text-align: center; } diff --git a/tiny0/templates/clicks.html b/tiny0/templates/clicks.html index 6cda8a2..bf5836c 100644 --- a/tiny0/templates/clicks.html +++ b/tiny0/templates/clicks.html @@ -1,11 +1,8 @@ {% extends "layout.html" %} {% block body %} -
    -
  • {{ clicks }}

  • -
  • Click(s)

  • -
- +
+

{{ clicks }}

+

Click(s)

+
{% endblock %} diff --git a/tiny0/templates/donate.html b/tiny0/templates/donate.html index a12fa2f..7d6f396 100644 --- a/tiny0/templates/donate.html +++ b/tiny0/templates/donate.html @@ -1,10 +1,10 @@ {% extends "layout.html" %} {% block body %} - +
+

Patreon

+

patreon.com/xemeds

+

Bitcoin

+

1Mg55rPVuQ2P8zKsCcLdsmgqH24uLXfLbR

+
{% endblock %} diff --git a/tiny0/templates/error.html b/tiny0/templates/error.html index 5046227..e298955 100644 --- a/tiny0/templates/error.html +++ b/tiny0/templates/error.html @@ -1,8 +1,8 @@ {% extends "layout.html" %} {% block body %} -
    -
  • {{ error_code }}

  • -
  • {{ error_message }}

  • -
+
+

{{ error_code }}

+

{{ error_message }}

+
{% endblock %} \ No newline at end of file diff --git a/tiny0/templates/index.html b/tiny0/templates/index.html index cae8ce7..43b7802 100644 --- a/tiny0/templates/index.html +++ b/tiny0/templates/index.html @@ -1,30 +1,25 @@ {% extends "layout.html" %} {% block body %} -
- {% if form.errors %} -
    - {% for error in form.url.errors %} -
  • {{ error }}
  • - {% endfor %} - {% for error in form.token.errors %} -
  • {{ error }}
  • - {% endfor %} -
- {% endif %} - {{ form.hidden_tag() }} -
    -
  • {{ form.url(placeholder="Enter the URL here", autofocus=true, class="url") }}
  • -
  • {{ form.token(placeholder="Enter the token (optional)", autofocus=true, class="token") }}
  • -
      -
    • tiny0.cc/token
    • -
    • Token must be between 6 and 16 characters long
    • -
    • It can only contain letters, numbers, underscores(_) and dashes(-)
    • -
    -
  • {{ form.submit(class="button") }}
  • -
-
-
- Click Tracker +
+

< URL Shortener >

+ {{ form.hidden_tag() }} + {{ form.url(placeholder="Enter the URL here", autofocus=true, class="feedback-input") }} + {{ form.token(placeholder="Enter the token (optional)", autofocus=true, class="feedback-input") }} +
+ What's a token? +

tiny0.cc/token

Token must be between 6 and 16 characters long

It can only contain letters, numbers, underscores(_) and dashes(-)

+ {{ form.submit(class="button") }} + {% if form.errors %} +
+ {% for error in form.url.errors %} +

{{ error }}

+ {% endfor %} + {% for error in form.token.errors %} +

{{ error }}

+ {% endfor %} +
+ {% endif %} +
{% endblock %} diff --git a/tiny0/templates/layout.html b/tiny0/templates/layout.html index f3c4bc1..8400c83 100644 --- a/tiny0/templates/layout.html +++ b/tiny0/templates/layout.html @@ -7,87 +7,39 @@ - + + + + tiny0 - Custom URL Shortener + + -
-
- {% if form %} - {% if not form.errors %} - -
- -

-
- {% else %} - -
- tiny0 -

Custom URL Shortener

-
- {% endif %} - {% else %} - -
- tiny0 -

Custom URL Shortener

-
- {% endif %} + {% block body %}{% endblock %} - {% block body %}{% endblock %} - - {% if form %} - {% if not form.errors %} - - {% endif %} - {% elif url %} - - {% endif %} - -
-
+ +
- + © 2020 Muhammed Ali Dilek
diff --git a/tiny0/templates/tracker.html b/tiny0/templates/tracker.html index 7aa75c7..b2ff637 100644 --- a/tiny0/templates/tracker.html +++ b/tiny0/templates/tracker.html @@ -1,18 +1,17 @@ {% extends "layout.html" %} {% block body %} -
- {% if form.errors %} -
    - {% for error in form.url.errors %} -
  • {{ error }}
  • - {% endfor %} -
- {% endif %} - {{ form.hidden_tag() }} -
    -
  • {{ form.url(placeholder="Enter the short URL here", autofocus=true, class="url") }}
  • -
  • {{ form.submit(class="button") }}
  • -
-
+
+

< Click Tracker >

+ {{ form.hidden_tag() }} + {{ form.url(placeholder="Enter the short URL here", autofocus=true, class="feedback-input") }} + {{ form.submit(class="button") }} + {% if form.errors %} +
+ {% for error in form.url.errors %} +

{{ error }}

+ {% endfor %} +
+ {% endif %} +
{% endblock %} diff --git a/tiny0/templates/url.html b/tiny0/templates/url.html index 2a07533..4d26770 100644 --- a/tiny0/templates/url.html +++ b/tiny0/templates/url.html @@ -1,13 +1,18 @@ {% extends "layout.html" %} {% block body %} -
-
    -
  • -
  • -
-
- +
+

< Short URL >

+ + +
+{% endblock %} + +{% block script %} +function copyURL() { + var url = document.getElementById("url"); + url.select(); + url.setSelectionRange(0, 99999) + document.execCommand("copy"); +} {% endblock %}