diff --git a/folkugat_web/api/routes/temes/index.py b/folkugat_web/api/routes/temes/index.py index 5f814a0..ca13f75 100644 --- a/folkugat_web/api/routes/temes/index.py +++ b/folkugat_web/api/routes/temes/index.py @@ -5,6 +5,7 @@ from fastapi import Request from fastapi.params import Param from folkugat_web.api.router import get_router from folkugat_web.fragments import temes +from folkugat_web.model.search import Order, OrderBy, OrderParams from folkugat_web.services import auth from folkugat_web.templates import templates @@ -13,13 +14,21 @@ router = get_router() @router.get("/temes") def page( - request: Request, - logged_in: auth.LoggedIn, - query: Annotated[str, Param()] = "", - properties: Annotated[list[str] | None, Param()] = None, + request: Request, + logged_in: auth.LoggedIn, + query: Annotated[str, Param()] = "", + properties: Annotated[list[str] | None, Param()] = None, + order_by: OrderBy | None = None, + order: Order = Order.DESC, ): properties = properties or [] - content_url = f"/api/content/temes?{temes.build_temes_params(query=query, properties=properties)}" + order_params = OrderParams(order_by=order_by, order=order) if order_by else None + temes_params = temes.build_temes_params( + query=query, + properties=properties, + order_params=order_params, + ) + content_url = f"/api/content/temes?{temes_params}" return templates.TemplateResponse( "index.html", { @@ -38,13 +47,19 @@ def content( logged_in: auth.LoggedIn, query: Annotated[str, Param()] = "", properties: Annotated[list[str] | None, Param()] = None, + order_by: OrderBy | None = None, + order: Order = Order.DESC, ): properties = properties or [] + if not query and not order_by: + order_by = OrderBy.TIMES_PLAYED + order_params = OrderParams(order_by=order_by, order=order) if order_by else None return temes.temes_pagina( request=request, logged_in=logged_in, query=query, properties=properties, + order_params=order_params, ) @@ -54,13 +69,17 @@ def busca( logged_in: auth.LoggedIn, query: Annotated[str, Param()], properties: Annotated[list[str] | None, Param()] = None, + order_by: OrderBy | None = None, + order: Order = Order.DESC, limit: int = 10, offset: int = 0, ): + order_params = OrderParams(order_by=order_by, order=order) if order_by else None return temes.temes_busca( request=request, query=query, properties=properties or [], + order_params=order_params, limit=limit, offset=offset, logged_in=logged_in, diff --git a/folkugat_web/assets/static/css/main.css b/folkugat_web/assets/static/css/main.css index 7bee737..3185b00 100644 --- a/folkugat_web/assets/static/css/main.css +++ b/folkugat_web/assets/static/css/main.css @@ -649,11 +649,6 @@ video { margin-bottom: 0.75rem; } -.my-4 { - margin-top: 1rem; - margin-bottom: 1rem; -} - .mb-3 { margin-bottom: 0.75rem; } @@ -666,6 +661,10 @@ video { margin-left: auto; } +.mr-1 { + margin-right: 0.25rem; +} + .mr-2 { margin-right: 0.5rem; } @@ -718,6 +717,10 @@ video { min-height: 400px; } +.w-0 { + width: 0px; +} + .w-1\/2 { width: 50%; } @@ -988,10 +991,18 @@ video { padding-bottom: 1rem; } +.pb-2 { + padding-bottom: 0.5rem; +} + .pl-5 { padding-left: 1.25rem; } +.pr-2 { + padding-right: 0.5rem; +} + .pt-4 { padding-top: 1rem; } @@ -1056,9 +1067,9 @@ video { color: rgb(76 16 30 / var(--tw-text-opacity, 1)); } -.text-gray-500 { +.text-gray-400 { --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity, 1)); + color: rgb(156 163 175 / var(--tw-text-opacity, 1)); } .text-red-400 { diff --git a/folkugat_web/assets/templates/fragments/temes/pagina.html b/folkugat_web/assets/templates/fragments/temes/pagina.html index d356930..59d0085 100644 --- a/folkugat_web/assets/templates/fragments/temes/pagina.html +++ b/folkugat_web/assets/templates/fragments/temes/pagina.html @@ -1,6 +1,7 @@ {% include "fragments/menu.html" %}

Temes

+ {% set hx_vars = build_hx_vars({"properties": properties_str}, order_params_dict) %}
diff --git a/folkugat_web/assets/templates/fragments/temes/result.html b/folkugat_web/assets/templates/fragments/temes/result.html index a145a8e..0ac34e4 100644 --- a/folkugat_web/assets/templates/fragments/temes/result.html +++ b/folkugat_web/assets/templates/fragments/temes/result.html @@ -8,27 +8,16 @@ {{ tema.title }} -
- {% if tema.stats %} - Tocat {{ tema.stats.times_played }} - {% if tema.stats.times_played == 1 %} - cop - {% else %} - cops - {% endif %} - {% else %} - No s'ha tocat mai - {% endif %} -
{% if tema.properties %}