diff --git a/games/static/base.css b/games/static/base.css index 0900968..ba26cd9 100644 --- a/games/static/base.css +++ b/games/static/base.css @@ -2249,6 +2249,10 @@ input:checked + .toggle-bg { max-width: 20ch; } +.min-w-30char { + min-width: 30ch; +} + .max-w-30char { max-width: 30ch; } diff --git a/games/templates/components/table_row.html b/games/templates/components/table_row.html index b5ae622..35d01af 100644 --- a/games/templates/components/table_row.html +++ b/games/templates/components/table_row.html @@ -1,9 +1,16 @@ {% fragment as default_content %} +{% load randomid %} {% for td in data %} {% if forloop.first %} - {{ td }} + class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap dark:text-white min-w-30char"> + {% randomid td as th_popover_id %} + {{ td|truncatechars:30 }} + {% if td|length > 30 %} + {% #popover id=th_popover_id %} + {{ td }} + {% /popover %} + {% endif %} {% else %} {% #table_td %} diff --git a/games/templatetags/randomid.py b/games/templatetags/randomid.py new file mode 100644 index 0000000..86beaa3 --- /dev/null +++ b/games/templatetags/randomid.py @@ -0,0 +1,11 @@ +import random +import string + +from django import template + +register = template.Library() + + +@register.simple_tag +def randomid(seed: str = "") -> str: + return str(hash(seed + "".join(random.choices(string.ascii_lowercase, k=10))))