A lot of styling, moving elements around, compacting the UI.
This commit is contained in:
parent
34c9fb5026
commit
e5a49993ad
55
.vscode/tailwind.json
vendored
Normal file
55
.vscode/tailwind.json
vendored
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{
|
||||||
|
"version": 1.1,
|
||||||
|
"atDirectives": [
|
||||||
|
{
|
||||||
|
"name": "@tailwind",
|
||||||
|
"description": "Use the `@tailwind` directive to insert Tailwind's `base`, `components`, `utilities` and `screens` styles into your CSS.",
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"name": "Tailwind Documentation",
|
||||||
|
"url": "https://tailwindcss.com/docs/functions-and-directives#tailwind"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "@apply",
|
||||||
|
"description": "Use the `@apply` directive to inline any existing utility classes into your own custom CSS. This is useful when you find a common utility pattern in your HTML that you’d like to extract to a new component.",
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"name": "Tailwind Documentation",
|
||||||
|
"url": "https://tailwindcss.com/docs/functions-and-directives#apply"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "@responsive",
|
||||||
|
"description": "You can generate responsive variants of your own classes by wrapping their definitions in the `@responsive` directive:\n```css\n@responsive {\n .alert {\n background-color: #E53E3E;\n }\n}\n```\n",
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"name": "Tailwind Documentation",
|
||||||
|
"url": "https://tailwindcss.com/docs/functions-and-directives#responsive"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "@screen",
|
||||||
|
"description": "The `@screen` directive allows you to create media queries that reference your breakpoints by **name** instead of duplicating their values in your own CSS:\n```css\n@screen sm {\n /* ... */\n}\n```\n…gets transformed into this:\n```css\n@media (min-width: 640px) {\n /* ... */\n}\n```\n",
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"name": "Tailwind Documentation",
|
||||||
|
"url": "https://tailwindcss.com/docs/functions-and-directives#screen"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "@variants",
|
||||||
|
"description": "Generate `hover`, `focus`, `active` and other **variants** of your own utilities by wrapping their definitions in the `@variants` directive:\n```css\n@variants hover, focus {\n .btn-brand {\n background-color: #3182CE;\n }\n}\n```\n",
|
||||||
|
"references": [
|
||||||
|
{
|
||||||
|
"name": "Tailwind Documentation",
|
||||||
|
"url": "https://tailwindcss.com/docs/functions-and-directives#variants"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -106,10 +106,10 @@ async function refresh_elements(cross_codes) {
|
|||||||
|
|
||||||
// Clone all the needed elements for updating.
|
// Clone all the needed elements for updating.
|
||||||
let overview_checks_title = document
|
let overview_checks_title = document
|
||||||
.getElementById("overview")
|
.getElementById("overview-totals")
|
||||||
.querySelector(".overview-checks");
|
.querySelector(".overview-checks");
|
||||||
let overview_entrances_title = document
|
let overview_entrances_title = document
|
||||||
.getElementById("overview")
|
.getElementById("overview-totals")
|
||||||
.querySelector(".overview-entrances");
|
.querySelector(".overview-entrances");
|
||||||
let summary_block = document
|
let summary_block = document
|
||||||
.getElementById("overview")
|
.getElementById("overview")
|
||||||
@ -180,7 +180,6 @@ async function refresh_elements(cross_codes) {
|
|||||||
let breakdown_block_checks_list_item = breakdown_block
|
let breakdown_block_checks_list_item = breakdown_block
|
||||||
.querySelector(".breakdown-block-checks-list")
|
.querySelector(".breakdown-block-checks-list")
|
||||||
.firstElementChild.cloneNode(true);
|
.firstElementChild.cloneNode(true);
|
||||||
breakdown_block_checks_list_item.classList.remove("hidden");
|
|
||||||
let breakdown_block_entrances_title = breakdown_block.querySelector(
|
let breakdown_block_entrances_title = breakdown_block.querySelector(
|
||||||
".breakdown-block-entrances-title"
|
".breakdown-block-entrances-title"
|
||||||
);
|
);
|
||||||
@ -190,14 +189,12 @@ async function refresh_elements(cross_codes) {
|
|||||||
let breakdown_block_entrances_list_item = breakdown_block
|
let breakdown_block_entrances_list_item = breakdown_block
|
||||||
.querySelector(".breakdown-block-entrances-list")
|
.querySelector(".breakdown-block-entrances-list")
|
||||||
.firstElementChild.cloneNode(true);
|
.firstElementChild.cloneNode(true);
|
||||||
breakdown_block_entrances_list_item.classList.remove("hidden");
|
|
||||||
let new_breakdown_block_mapped_list = breakdown_block
|
let new_breakdown_block_mapped_list = breakdown_block
|
||||||
.querySelector(".breakdown-block-mapped-list")
|
.querySelector(".breakdown-block-mapped-list")
|
||||||
.cloneNode(true);
|
.cloneNode(true);
|
||||||
let breakdown_block_mapped_list_item = breakdown_block
|
let breakdown_block_mapped_list_item = breakdown_block
|
||||||
.querySelector(".breakdown-block-mapped-list")
|
.querySelector(".breakdown-block-mapped-list")
|
||||||
.firstElementChild.cloneNode(true);
|
.firstElementChild.cloneNode(true);
|
||||||
breakdown_block_mapped_list_item.classList.remove("hidden");
|
|
||||||
|
|
||||||
cross_codes_block = document
|
cross_codes_block = document
|
||||||
.getElementById("overview")
|
.getElementById("overview")
|
||||||
@ -219,12 +216,15 @@ async function refresh_elements(cross_codes) {
|
|||||||
new_breakdown_block_checks_list.appendChild(
|
new_breakdown_block_checks_list.appendChild(
|
||||||
breakdown_block_checks_list_item.cloneNode(true)
|
breakdown_block_checks_list_item.cloneNode(true)
|
||||||
);
|
);
|
||||||
|
breakdown_block_checks_list_item.classList.remove("hidden");
|
||||||
new_breakdown_block_entrances_list.appendChild(
|
new_breakdown_block_entrances_list.appendChild(
|
||||||
breakdown_block_entrances_list_item.cloneNode(true)
|
breakdown_block_entrances_list_item.cloneNode(true)
|
||||||
);
|
);
|
||||||
|
breakdown_block_entrances_list_item.classList.remove("hidden");
|
||||||
new_breakdown_block_mapped_list.appendChild(
|
new_breakdown_block_mapped_list.appendChild(
|
||||||
breakdown_block_mapped_list_item.cloneNode(true)
|
breakdown_block_mapped_list_item.cloneNode(true)
|
||||||
);
|
);
|
||||||
|
breakdown_block_mapped_list_item.classList.remove("hidden");
|
||||||
|
|
||||||
// Create variables for commonly used values.
|
// Create variables for commonly used values.
|
||||||
let scene_checks_undiscovered =
|
let scene_checks_undiscovered =
|
||||||
@ -324,25 +324,24 @@ async function refresh_elements(cross_codes) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Apply color coding to summary block
|
// Apply color coding to summary block
|
||||||
summary_block.classList.remove(
|
summary_block.firstElementChild.classList.remove(
|
||||||
"bg-green-900",
|
"bg-highlight-both-translucent",
|
||||||
"bg-yellow-900",
|
"bg-highlight-checks-translucent",
|
||||||
"bg-blue-900",
|
"bg-highlight-entrances-translucent"
|
||||||
"bg-red-900"
|
|
||||||
);
|
);
|
||||||
if (
|
if (
|
||||||
scene_checks_undiscovered > 0 &&
|
scene_checks_undiscovered > 0 &&
|
||||||
scene_entrances_undiscovered > 0
|
scene_entrances_undiscovered > 0
|
||||||
) {
|
) {
|
||||||
if (scene_entrances_undiscovered == scene_entrances_total) {
|
summary_block.firstElementChild.classList.add("bg-highlight-both-translucent");
|
||||||
summary_block.classList.add("bg-red-900");
|
|
||||||
} else {
|
|
||||||
summary_block.classList.add("bg-green-900");
|
|
||||||
}
|
|
||||||
} else if (scene_checks_undiscovered > 0) {
|
} else if (scene_checks_undiscovered > 0) {
|
||||||
summary_block.classList.add("bg-yellow-900");
|
summary_block.firstElementChild.classList.add(
|
||||||
|
"bg-highlight-checks-translucent"
|
||||||
|
);
|
||||||
} else if (scene_entrances_undiscovered > 0) {
|
} else if (scene_entrances_undiscovered > 0) {
|
||||||
summary_block.classList.add("bg-blue-900");
|
summary_block.firstElementChild.classList.add(
|
||||||
|
"bg-highlight-entrances-translucent"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Replace lists
|
// Replace lists
|
||||||
@ -375,7 +374,6 @@ async function refresh_elements(cross_codes) {
|
|||||||
scene_entrances_undiscovered <= 0
|
scene_entrances_undiscovered <= 0
|
||||||
) {
|
) {
|
||||||
summary_block.classList.add("hidden");
|
summary_block.classList.add("hidden");
|
||||||
// breakdown_block.classList.add("hidden");
|
|
||||||
}
|
}
|
||||||
new_summary_list.firstElementChild.appendChild(
|
new_summary_list.firstElementChild.appendChild(
|
||||||
summary_block.cloneNode(true)
|
summary_block.cloneNode(true)
|
||||||
|
BIN
tunictracker/tracker/static/tracker/images/trunic_title.png
Normal file
BIN
tunictracker/tracker/static/tracker/images/trunic_title.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
@ -13,7 +13,7 @@
|
|||||||
{% tailwind_css %}
|
{% tailwind_css %}
|
||||||
<script src="{% static "tracker/assets/refresh.js" %}"></script>
|
<script src="{% static "tracker/assets/refresh.js" %}"></script>
|
||||||
</head>
|
</head>
|
||||||
<body class="bg-[#242424]">
|
<body class="bg-[#242424] font-nerd">
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
</body>
|
</body>
|
||||||
|
@ -1,61 +1,63 @@
|
|||||||
<div class="p-2 flex flex-col max-w-full rounded-xl border-4 bg-bluelight-translucent border-bluelight-dark {{ extra_classes }}">
|
<div class="flex flex-col space-y-2 max-w-full {{ extra_classes }}">
|
||||||
<div class="flex text-lg breakdown-block-title">{{ scene_title }}</div>
|
<div class="px-2">
|
||||||
<div class="flex flex-col md:flex-row justify-center md:space-x-4">
|
<div class="flex text-xl breakdown-block-title">{{ scene_title }}</div>
|
||||||
<div class="flex flex-col basis-1/2 overflow-hidden">
|
<div class="flex flex-col md:flex-row justify-center md:space-x-4">
|
||||||
<div class="my-2 flex flex-col space-y-2">
|
<div class="flex flex-col basis-1/2 overflow-hidden">
|
||||||
<div class="text-md breakdown-block-checks-title">
|
<div class="my-2 flex flex-col space-y-2">
|
||||||
Checks: {{ scene_data.Totals.Checks.Undiscovered }}/{{ scene_data.Totals.Checks.Total }}
|
<div class="text-md breakdown-block-checks-title">
|
||||||
|
Checks: {{ scene_data.Totals.Checks.Undiscovered }}/{{ scene_data.Totals.Checks.Total }}
|
||||||
|
</div>
|
||||||
|
<hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
|
||||||
|
</div>
|
||||||
|
<div class="pb-4 flex flex-col max-h-64 space-y-2 overflow-scroll scrollbar scrollbar-thumb-bluelight-dark scrollbar-track-bluelight breakdown-block-checks-list">
|
||||||
|
<ul class="py-0.5 min-w-max bg-bluelight-translucent rounded-md px-1 text-sm hidden">
|
||||||
|
</ul>
|
||||||
|
{% for check_name, check in scene_data.Checks.items %}
|
||||||
|
{% if not check %}
|
||||||
|
<ul class="py-0.5 min-w-max bg-bluelight-translucent rounded-md px-1 text-sm">
|
||||||
|
❌ {{ check_name }}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
|
|
||||||
</div>
|
</div>
|
||||||
<div class="pb-4 flex flex-col max-h-64 space-y-2 overflow-scroll scrollbar scrollbar-thumb-bluelight-dark scrollbar-track-bluelight breakdown-block-checks-list">
|
<div class="flex flex-col basis-1/2 overflow-hidden">
|
||||||
<ul class="min-w-max bg-bluelight-translucent rounded-xl px-1 text-sm hidden">
|
<div class="my-2 flex flex-col space-y-2">
|
||||||
</ul>
|
<div class="text-md breakdown-block-entrances-title">
|
||||||
{% for check_name, check in scene_data.Checks.items %}
|
Entrances: {{ scene_data.Totals.Entrances.Undiscovered }}/{{ scene_data.Totals.Entrances.Total }}
|
||||||
{% if not check %}
|
</div>
|
||||||
<ul class="min-w-max bg-bluelight-translucent rounded-xl px-1 text-sm">
|
<hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
|
||||||
❌ {{ check_name }}
|
</div>
|
||||||
</ul>
|
<div class="pb-4 flex flex-col max-h-64 space-y-2 overflow-scroll scrollbar scrollbar-thumb-bluelight-dark scrollbar-track-bluelight breakdown-block-entrances-list">
|
||||||
{% endif %}
|
<ul class="py-0.5 min-w-max bg-bluelight-translucent rounded-md px-1 text-sm hidden">
|
||||||
{% endfor %}
|
</ul>
|
||||||
|
{% for entrance_origin, entrance_destination in scene_data.Entrances.items %}
|
||||||
|
{% if entrance_destination == "" %}
|
||||||
|
<ul class="py-0.5 min-w-max bg-bluelight-translucent rounded-md px-1 text-sm">
|
||||||
|
❌ {{ entrance_origin }}
|
||||||
|
</ul>
|
||||||
|
{% else %}
|
||||||
|
<ul class="py-0.5 min-w-max bg-bluelight-translucent rounded-md px-1 text-sm hidden">
|
||||||
|
❌ {{ entrance_origin }}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-col basis-1/2 overflow-hidden">
|
<div class="max-h-64 overflow-scroll scrollbar scrollbar-thumb-bluelight-dark scrollbar-track-bluelight">
|
||||||
<div class="my-2 flex flex-col space-y-2">
|
<div class="flex flex-col space-y-2 mx-auto min-w-max breakdown-block-mapped-list">
|
||||||
<div class="text-md breakdown-block-entrances-title">
|
<ul class="py-0.5 bg-bluelight rounded-md px-1 text-sm hidden">
|
||||||
Entrances: {{ scene_data.Totals.Entrances.Undiscovered }}/{{ scene_data.Totals.Entrances.Total }}
|
|
||||||
</div>
|
|
||||||
<hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
|
|
||||||
</div>
|
|
||||||
<div class="pb-4 flex flex-col max-h-64 space-y-2 overflow-scroll scrollbar scrollbar-thumb-bluelight-dark scrollbar-track-bluelight breakdown-block-entrances-list">
|
|
||||||
<ul class="min-w-max bg-bluelight-translucent rounded-xl px-1 text-sm hidden">
|
|
||||||
</ul>
|
</ul>
|
||||||
{% for entrance_origin, entrance_destination in scene_data.Entrances.items %}
|
{% for entrance_origin, entrance_destination in scene_data.Entrances.items %}
|
||||||
{% if entrance_destination == "" %}
|
{% if entrance_destination %}
|
||||||
<ul class="min-w-max bg-bluelight-translucent rounded-xl px-1 text-sm">
|
<ul class="py-0.5 bg-bluelight rounded-md px-1 text-sm">
|
||||||
❌ {{ entrance_origin }}
|
✔️ {{ entrance_origin }} -> {{ entrance_destination }}
|
||||||
</ul>
|
|
||||||
{% else %}
|
|
||||||
<ul class="min-w-max bg-bluelight-translucent rounded-xl px-1 text-sm hidden">
|
|
||||||
❌ {{ entrance_origin }}
|
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{% include "tracker/codes/index.html" %}
|
||||||
</div>
|
</div>
|
||||||
<div class="max-h-64 overflow-scroll scrollbar scrollbar-thumb-bluelight-dark scrollbar-track-bluelight">
|
|
||||||
<div class="flex flex-col space-y-2 mx-auto min-w-max breakdown-block-mapped-list">
|
|
||||||
<ul class="bg-bluelight rounded-xl px-1 text-sm hidden">
|
|
||||||
</ul>
|
|
||||||
{% for entrance_origin, entrance_destination in scene_data.Entrances.items %}
|
|
||||||
{% if entrance_destination %}
|
|
||||||
<ul class="bg-bluelight rounded-xl px-1 text-sm">
|
|
||||||
✔️ {{ entrance_origin }} -> {{ entrance_destination }}
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="pt-4">{% include "tracker/codes/index.html" %}</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
{% if not is_entered %}
|
{% if not is_entered %}
|
||||||
<ul class="p-2 flex flex-col rounded-xl bg-bluelight-translucent-dark">
|
<ul class="p-2 flex flex-col rounded-xl bg-bluelight-translucent-light border-4 border-bluelight-translucent-dark">
|
||||||
<div class="codes-list-item-title text-md">{{ name }}</div>
|
<div class="pl-2 codes-list-item-title text-base">{{ name }}</div>
|
||||||
<div class="m-auto justify-center align-top">
|
<hr class="mb-2 border-2 border-bluelight-translucent-dark rounded-xl" />
|
||||||
<div class="max-w-64 codes-list-item-code text-2xl break-all">{{ code }}</div>
|
<div class="min-x-full">
|
||||||
|
<div class="codes-list-item-code text-2xl text-justify break-all mx-2 align-top">{{ code }}</div>
|
||||||
</div>
|
</div>
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
<details class="p-2 flex flex-col space-y-2 max-w-full text-lg rounded-xl border-4 bg-bluelight-translucent border-bluelight-dark justify-start {% if current_scene.title != scene_title %}hidden{% endif %} codes-block">
|
<details class="flex flex-col space-y-2 max-w-full text-base rounded-xl justify-start {% if current_scene.title != scene_title %}hidden{% endif %} codes-block">
|
||||||
<summary>Holy Cross Codes</summary>
|
<summary>Holy Cross Codes</summary>
|
||||||
<div class="flex flex-col space-y-2 max-h-96 overflow-y-scroll">
|
<hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
|
||||||
<ul class="flex flex-col space-y-2 rounded-xl codes-list">
|
<div class="flex flex-col space-y-2 max-h-96 rounded-xl overflow-y-scroll">
|
||||||
|
<ul class="grid grid-flow-row md:grid-cols-3 xl:grid-cols-5 gap-2 rounded-xl codes-list">
|
||||||
{% for name, code in default_codes.items %}
|
{% for name, code in default_codes.items %}
|
||||||
{% include "tracker/codes/block.html" with is_entered=False %}
|
{% include "tracker/codes/block.html" with is_entered=False %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -2,36 +2,55 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container monospace py-4">
|
<div class="container monospace py-4">
|
||||||
<div class="border-4 rounded-xl text-[#eee] bg-bluelight-translucent-dark border-bluelight-dark">
|
<div class="p-2 border-4 rounded-xl text-[#eee] bg-bluelight-translucent-dark border-bluelight-dark">
|
||||||
{% if debug != '' %}
|
{% if debug != '' %}
|
||||||
<h1 class="mt-2 px-2 flex text-2xl">
|
<div class="space-y-2 px-2">
|
||||||
<span class="relative inline-block align-middle h-8 w-8">
|
<div class="flex flex-col align-middle max-w-fit">
|
||||||
<img src="{% static 'tracker/images/neofox_flag_trans_256.png' %}"
|
<div class="flex flex-row align-middle max-w-fit h-12 space-x-2">
|
||||||
alt="A trans pride fox emoji."
|
<span class="h-8 max-w-8 my-auto align-middle">
|
||||||
width=""
|
<img src="{% static 'tracker/images/neofox_flag_trans_256.png' %}"
|
||||||
height="" />
|
alt="A trans pride fox emoji."
|
||||||
</span>
|
width="32"
|
||||||
Tunic Transition Tracker
|
height="32" />
|
||||||
</h1>
|
</span>
|
||||||
<hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
|
<span class="max-h-12 max-w-64 my-auto align-middle">
|
||||||
<div class="p-2 flex flex-col space-y-2">
|
<img src="{% static 'tracker/images/trunic_title.png' %}"
|
||||||
{% include "tracker/status/index.html" %}
|
alt="A trans pride fox emoji."
|
||||||
<div class="p-2 flex flex-col max-w-full rounded-xl border-4 bg-bluelight-translucent border-bluelight-dark"
|
width="365"
|
||||||
id="overview">
|
height="64" />
|
||||||
<div class="text-lg mb-2">Overview</div>
|
</span>
|
||||||
<div class="flex flex-col md:flex-row md:space-x-4 space-y-2 md:space-y-0">
|
|
||||||
<div class="flex basis-1/2 overview-checks">Checks: {{ totals.Checks.Undiscovered }}/{{ totals.Checks.Total }}</div>
|
|
||||||
<div class="flex basis-1/2 overview-entrances">
|
|
||||||
Entrances: {{ totals.Entrances.Undiscovered }}/{{ totals.Entrances.Total }}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<hr class="mt-2 mb-4 border-2 border-bluelight-translucent-dark rounded-xl" />
|
<div class="mt-auto text-sm max-w-fit">(Tunic Transition Tracker)</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="space-y-1">
|
||||||
|
<hr class="mt-2 border-2 border-bluelight-dark rounded-xl" />
|
||||||
|
<div class="px-2 flex flex-col md:flex-row md:space-x-4 space-y-2 md:space-y-0 text-lg bg-bluelight-translucent-dark rounded-sm"
|
||||||
|
id="overview-totals">
|
||||||
|
<div class="flex basis-1/2 overview-checks">Checks: {{ totals.Checks.Undiscovered }}/{{ totals.Checks.Total }}</div>
|
||||||
|
<div class="flex basis-1/2 overview-entrances">
|
||||||
|
Entrances: {{ totals.Entrances.Undiscovered }}/{{ totals.Entrances.Total }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr class="mb-2 border-2 border-bluelight-dark rounded-xl" />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-col space-y-2">
|
||||||
|
{% include "tracker/status/index.html" %}
|
||||||
|
<div class="p-flex flex-col max-w-full" id="overview">
|
||||||
<div class="flex flex-col space-y-2">
|
<div class="flex flex-col space-y-2">
|
||||||
<details class="group flex flex-col rounded-xl border-4 bg-bluelight-translucent border-bluelight-dark">
|
<div id="breakdown-current">
|
||||||
|
{% include "tracker/breakdown/block.html" with scene_title=current_scene.title scene_data=current_scene.data %}
|
||||||
|
</div>
|
||||||
|
<hr class="my-2 border-2 border-bluelight-translucent-dark rounded-xl" />
|
||||||
|
<details class="group flex flex-col rounded-xl border-4 bg-bluelight-translucent-light border-bluelight-translucent-dark">
|
||||||
<summary class="justify-start p-2 text-lg">Summary</summary>
|
<summary class="justify-start p-2 text-lg">Summary</summary>
|
||||||
<div class="p-2 summary-list">{% include "tracker/summary/list.html" %}</div>
|
<div class="mb-2 px-2 space-y-2 rounded-xl">
|
||||||
|
<hr class="border-2 border-bluelight-translucent-dark rounded-xl" />
|
||||||
|
<div class="summary-list">{% include "tracker/summary/list.html" %}</div>
|
||||||
|
</div>
|
||||||
</details>
|
</details>
|
||||||
<details class="group flex flex-col rounded-xl border-4 bg-bluelight-translucent border-bluelight-dark">
|
<details class="group flex flex-col rounded-xl border-4 bg-bluelight-translucent-light border-bluelight-translucent-dark">
|
||||||
<summary class="justify-start p-2 text-lg">Breakdown</summary>
|
<summary class="justify-start p-2 text-lg">Breakdown</summary>
|
||||||
<div class="px-2 flex flex-col space-y-2 breakdown-list">
|
<div class="px-2 flex flex-col space-y-2 breakdown-list">
|
||||||
{% include "tracker/breakdown/block.html" with extra_classes="hidden" %}
|
{% include "tracker/breakdown/block.html" with extra_classes="hidden" %}
|
||||||
@ -46,17 +65,14 @@
|
|||||||
</details>
|
</details>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="breakdown-current">
|
<details class="group p-2 flex max-w-full rounded-xl border-4 bg-bluelight-translucent-light border-bluelight-translucent-dark">
|
||||||
{% include "tracker/breakdown/block.html" with scene_title=current_scene.title scene_data=current_scene.data %}
|
|
||||||
</div>
|
|
||||||
<details class="group p-2 flex max-w-full rounded-xl border-4 bg-bluelight-translucent border-bluelight-dark">
|
|
||||||
<summary class="justify-start">Settings</summary>
|
<summary class="justify-start">Settings</summary>
|
||||||
<div class="p-2 flex flex-col space-y-2">
|
<div class="p-2 flex flex-col space-y-2">
|
||||||
{% include "tracker/settings/index.html" %}
|
{% include "tracker/settings/index.html" %}
|
||||||
{% include "tracker/address/index.html" %}
|
{% include "tracker/address/index.html" %}
|
||||||
</div>
|
</div>
|
||||||
</details>
|
</details>
|
||||||
<details class="group p-2 flex max-w-full rounded-xl border-4 bg-bluelight-translucent border-bluelight-dark">
|
<details class="group p-2 flex max-w-full rounded-xl border-4 bg-bluelight-translucent-light border-bluelight-translucent-dark">
|
||||||
<summary class="justify-start">Tracker Debug</summary>
|
<summary class="justify-start">Tracker Debug</summary>
|
||||||
<div class="py-2 flex flex-col space-y-2" id="debug-block">
|
<div class="py-2 flex flex-col space-y-2" id="debug-block">
|
||||||
<ul class="p-2 rounded-xl bg-bluelight-translucent hidden">
|
<ul class="p-2 rounded-xl bg-bluelight-translucent hidden">
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
<div class="p-2 flex flex-col rounded-xl border-4 border-bluelight-dark bg-opacity-50 {{ extra_classes }}">
|
<div class="rounded-xl border-4 border-bluelight {{ is_hidden }}">
|
||||||
<div class="summary-title">{{ scene }}:</div>
|
<div class="p-2 min-h-full flex flex-col rounded-lg {{ extra_classes }}">
|
||||||
<div class="summary-checks">
|
<div class="summary-title">{{ scene }}:</div>
|
||||||
Checks: {{ scene_data.Totals.Checks.Undiscovered }}/{{ scene_data.Totals.Checks.Total }}
|
<div class="summary-checks">
|
||||||
</div>
|
Checks: {{ scene_data.Totals.Checks.Undiscovered }}/{{ scene_data.Totals.Checks.Total }}
|
||||||
<div class="summary-entrances">
|
</div>
|
||||||
Entrances: {{ scene_data.Totals.Entrances.Undiscovered }}/{{ scene_data.Totals.Entrances.Total }}
|
<div class="summary-entrances">
|
||||||
|
Entrances: {{ scene_data.Totals.Entrances.Undiscovered }}/{{ scene_data.Totals.Entrances.Total }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,19 +1,15 @@
|
|||||||
<div class="grid gap-2 md:grid-cols-3 xl:grid-cols-5 grid-flow-row max-h-96 overflow-y-scroll scrollbar scrollbar-thumb-bluelight-dark scrollbar-track-bluelight">
|
<div class="grid gap-2 md:grid-cols-3 xl:grid-cols-5 grid-flow-row max-h-96 rounded-xl overflow-y-scroll scrollbar scrollbar-thumb-bluelight-dark scrollbar-track-bluelight">
|
||||||
{% include "tracker/summary/block.html" with extra_classes="hidden" %}
|
{% include "tracker/summary/block.html" with extra_classes="" is_hidden="hidden" %}
|
||||||
{% for scene, scene_data in scenes.items %}
|
{% for scene, scene_data in scenes.items %}
|
||||||
{% if scene == current_scene.title %}
|
{% if scene == current_scene.title %}
|
||||||
{% include "tracker/summary/block.html" with extra_classes="hidden" %}
|
{% include "tracker/summary/block.html" with extra_classes="" is_hidden="hidden" %}
|
||||||
{% elif scene != "Entrances" and scene != "Checks" %}
|
{% elif scene != "Entrances" and scene != "Checks" %}
|
||||||
{% if scene_data.Totals.Checks.Undiscovered > 0 and scene_data.Totals.Entrances.Undiscovered > 0 %}
|
{% if scene_data.Totals.Checks.Undiscovered > 0 and scene_data.Totals.Entrances.Undiscovered > 0 %}
|
||||||
{% if scene_data.Totals.Entrances.Undiscovered == scene_data.Totals.Entrances.Total %}
|
{% include "tracker/summary/block.html" with extra_classes="bg-highlight-both-translucent" is_hidden="" %}
|
||||||
{% include "tracker/summary/block.html" with extra_classes="bg-red-900" %}
|
|
||||||
{% else %}
|
|
||||||
{% include "tracker/summary/block.html" with extra_classes="bg-green-900" %}
|
|
||||||
{% endif %}
|
|
||||||
{% elif scene_data.Totals.Checks.Undiscovered > 0 %}
|
{% elif scene_data.Totals.Checks.Undiscovered > 0 %}
|
||||||
{% include "tracker/summary/block.html" with extra_classes="bg-yellow-900" %}
|
{% include "tracker/summary/block.html" with extra_classes="bg-highlight-checks-translucent" is_hidden="" %}
|
||||||
{% elif scene_data.Totals.Entrances.Undiscovered > 0 %}
|
{% elif scene_data.Totals.Entrances.Undiscovered > 0 %}
|
||||||
{% include "tracker/summary/block.html" with extra_classes="bg-blue-900" %}
|
{% include "tracker/summary/block.html" with extra_classes="bg-highlight-entrances-translucent" is_hidden="" %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -23,7 +23,7 @@ BASE_DIR = Path(__file__).resolve().parent.parent
|
|||||||
SECRET_KEY = 'django-insecure-ae-fwu3z$wexeiac4ggt0l@x1*uq5v9-q&$y#frf85xli)bo8f'
|
SECRET_KEY = 'django-insecure-ae-fwu3z$wexeiac4ggt0l@x1*uq5v9-q&$y#frf85xli)bo8f'
|
||||||
|
|
||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = False
|
DEBUG = True
|
||||||
|
|
||||||
ALLOWED_HOSTS = [
|
ALLOWED_HOSTS = [
|
||||||
"localhost",
|
"localhost",
|
||||||
|
@ -16,8 +16,10 @@ Including another URLconf
|
|||||||
"""
|
"""
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.urls import include, path
|
from django.urls import include, path
|
||||||
|
from django.conf import settings
|
||||||
|
from django.conf.urls.static import static
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("", include("tracker.urls")),
|
path("", include("tracker.urls")),
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
]
|
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|
||||||
|
BIN
tunictracker/werefoxtheme/static/fonts/DejaVuSansMono.ttf
Normal file
BIN
tunictracker/werefoxtheme/static/fonts/DejaVuSansMono.ttf
Normal file
Binary file not shown.
@ -1,3 +1,8 @@
|
|||||||
@tailwind base;
|
@tailwind base;
|
||||||
@tailwind components;
|
@tailwind components;
|
||||||
@tailwind utilities;
|
@tailwind utilities;
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "DejaVuSansMono";
|
||||||
|
src: url("/static/fonts/DejaVuSansMono.ttf");
|
||||||
|
}
|
@ -57,6 +57,7 @@ module.exports = {
|
|||||||
bluelight: {
|
bluelight: {
|
||||||
DEFAULT: "#317eb1",
|
DEFAULT: "#317eb1",
|
||||||
translucent: {
|
translucent: {
|
||||||
|
light: "#317eb140",
|
||||||
DEFAULT: "#317eb180",
|
DEFAULT: "#317eb180",
|
||||||
dark: "#2facff40",
|
dark: "#2facff40",
|
||||||
},
|
},
|
||||||
@ -80,6 +81,20 @@ module.exports = {
|
|||||||
translucent: "#ffecf930",
|
translucent: "#ffecf930",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"highlight": {
|
||||||
|
checks: {
|
||||||
|
DEFAULT: "#A431B1",
|
||||||
|
translucent: "#A431B188",
|
||||||
|
},
|
||||||
|
entrances: {
|
||||||
|
DEFAULT: "#B16431",
|
||||||
|
translucent: "#B1643188",
|
||||||
|
},
|
||||||
|
both: {
|
||||||
|
DEFAULT: "#3EB131",
|
||||||
|
translucent: "#3EB13188",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user