mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 16:31:08 -05:00
Refactor park list view and update template targets for improved functionality; remove unused CSS class from Tailwind styles; add local settings for unraid configuration.
This commit is contained in:
@@ -12,7 +12,7 @@
|
|||||||
<fieldset class="flex items-center space-x-2 bg-gray-100 rounded-lg p-1">
|
<fieldset class="flex items-center space-x-2 bg-gray-100 rounded-lg p-1">
|
||||||
<legend class="sr-only">View mode selection</legend>
|
<legend class="sr-only">View mode selection</legend>
|
||||||
<button hx-get="{% url 'parks:park_list' %}?view_mode=grid{% if request.GET.search %}&search={{ request.GET.search }}{% endif %}"
|
<button hx-get="{% url 'parks:park_list' %}?view_mode=grid{% if request.GET.search %}&search={{ request.GET.search }}{% endif %}"
|
||||||
hx-target="#park-results"
|
hx-target="#results-container"
|
||||||
hx-push-url="true"
|
hx-push-url="true"
|
||||||
class="p-2 rounded transition-colors duration-200 {% if request.GET.view_mode == 'grid' or not request.GET.view_mode %}bg-white shadow-sm{% endif %}"
|
class="p-2 rounded transition-colors duration-200 {% if request.GET.view_mode == 'grid' or not request.GET.view_mode %}bg-white shadow-sm{% endif %}"
|
||||||
aria-label="Grid view"
|
aria-label="Grid view"
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
<button hx-get="{% url 'parks:park_list' %}?view_mode=list{% if request.GET.search %}&search={{ request.GET.search }}{% endif %}"
|
<button hx-get="{% url 'parks:park_list' %}?view_mode=list{% if request.GET.search %}&search={{ request.GET.search }}{% endif %}"
|
||||||
hx-target="#park-results"
|
hx-target="#results-container"
|
||||||
hx-push-url="true"
|
hx-push-url="true"
|
||||||
class="p-2 rounded transition-colors duration-200 {% if request.GET.view_mode == 'list' %}bg-white shadow-sm{% endif %}"
|
class="p-2 rounded transition-colors duration-200 {% if request.GET.view_mode == 'list' %}bg-white shadow-sm{% endif %}"
|
||||||
aria-label="List view"
|
aria-label="List view"
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
<form id="filter-form"
|
<form id="filter-form"
|
||||||
x-ref="filterForm"
|
x-ref="filterForm"
|
||||||
hx-get="{% url 'parks:park_list' %}"
|
hx-get="{% url 'parks:park_list' %}"
|
||||||
hx-target="#park-results"
|
hx-target="#results-container"
|
||||||
hx-push-url="true"
|
hx-push-url="true"
|
||||||
hx-trigger="change, submit"
|
hx-trigger="change, submit"
|
||||||
class="mt-4">
|
class="mt-4">
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ app_name = "parks"
|
|||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
# Park views with autocomplete search
|
# Park views with autocomplete search
|
||||||
path("", views_search.ParkSearchView.as_view(), name="park_list"),
|
path("", views.ParkListView.as_view(), name="park_list"),
|
||||||
path("create/", views.ParkCreateView.as_view(), name="park_create"),
|
path("create/", views.ParkCreateView.as_view(), name="park_create"),
|
||||||
|
|
||||||
# Add park button endpoint (moved before park detail pattern)
|
# Add park button endpoint (moved before park detail pattern)
|
||||||
|
|||||||
@@ -235,7 +235,7 @@ class ParkListView(HTMXFilterableMixin, ListView):
|
|||||||
queryset = self.model.objects.none()
|
queryset = self.model.objects.none()
|
||||||
|
|
||||||
# Always initialize filterset, even if queryset failed
|
# Always initialize filterset, even if queryset failed
|
||||||
self.filterset = self.get_filter_class()(self.request.GET, queryset=queryset)
|
self.filterset = self.filter_class(self.request.GET, queryset=queryset)
|
||||||
return self.filterset.qs
|
return self.filterset.qs
|
||||||
|
|
||||||
def get_context_data(self, **kwargs: Any) -> dict[str, Any]:
|
def get_context_data(self, **kwargs: Any) -> dict[str, Any]:
|
||||||
@@ -243,7 +243,7 @@ class ParkListView(HTMXFilterableMixin, ListView):
|
|||||||
try:
|
try:
|
||||||
# Initialize filterset even if queryset fails
|
# Initialize filterset even if queryset fails
|
||||||
if not hasattr(self, 'filterset'):
|
if not hasattr(self, 'filterset'):
|
||||||
self.filterset = self.get_filter_class()(
|
self.filterset = self.filter_class(
|
||||||
self.request.GET,
|
self.request.GET,
|
||||||
queryset=self.model.objects.none()
|
queryset=self.model.objects.none()
|
||||||
)
|
)
|
||||||
@@ -259,7 +259,7 @@ class ParkListView(HTMXFilterableMixin, ListView):
|
|||||||
messages.error(self.request, f"Error applying filters: {str(e)}")
|
messages.error(self.request, f"Error applying filters: {str(e)}")
|
||||||
# Ensure filterset exists in error case
|
# Ensure filterset exists in error case
|
||||||
if not hasattr(self, 'filterset'):
|
if not hasattr(self, 'filterset'):
|
||||||
self.filterset = self.get_filter_class()(
|
self.filterset = self.filter_class(
|
||||||
self.request.GET,
|
self.request.GET,
|
||||||
queryset=self.model.objects.none()
|
queryset=self.model.objects.none()
|
||||||
)
|
)
|
||||||
|
|||||||
10
scripts/unraid/.claude/settings.local.json
Normal file
10
scripts/unraid/.claude/settings.local.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"permissions": {
|
||||||
|
"additionalDirectories": [
|
||||||
|
"/Users/talor/thrillwiki_django_no_react"
|
||||||
|
],
|
||||||
|
"allow": [
|
||||||
|
"Bash(uv run:*)"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1572,9 +1572,6 @@
|
|||||||
.text-yellow-800 {
|
.text-yellow-800 {
|
||||||
color: var(--color-yellow-800);
|
color: var(--color-yellow-800);
|
||||||
}
|
}
|
||||||
.capitalize {
|
|
||||||
text-transform: capitalize;
|
|
||||||
}
|
|
||||||
.lowercase {
|
.lowercase {
|
||||||
text-transform: lowercase;
|
text-transform: lowercase;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user