From 7ff360c2b54f01403c7e31c02eaedc0c7adaed29 Mon Sep 17 00:00:00 2001 From: CycroftX Date: Wed, 4 Feb 2026 23:24:01 +0530 Subject: [PATCH] Fix Users Page crash by handling missing search params gracefully --- nginx_admin_config | 27 +++++++++++++++++++ src/features/users/components/UserBaseTab.tsx | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 nginx_admin_config diff --git a/nginx_admin_config b/nginx_admin_config new file mode 100644 index 0000000..12916c1 --- /dev/null +++ b/nginx_admin_config @@ -0,0 +1,27 @@ +server { + server_name admin.prototype.eventifyplus.com; + + root /var/www/admin.prototype.eventifyplus.com; + index index.html; + + location / { + try_files $uri $uri/ /index.html; + } + + listen 443 ssl; # managed by Certbot + ssl_certificate /etc/letsencrypt/live/admin.prototype.eventifyplus.com/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/admin.prototype.eventifyplus.com/privkey.pem; # managed by Certbot + include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot + ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot + +} +server { + if ($host = admin.prototype.eventifyplus.com) { + return 301 https://$host$request_uri; + } # managed by Certbot + + + listen 80; + server_name admin.prototype.eventifyplus.com; + return 404; # managed by Certbot +} diff --git a/src/features/users/components/UserBaseTab.tsx b/src/features/users/components/UserBaseTab.tsx index 36699e3..84efb68 100644 --- a/src/features/users/components/UserBaseTab.tsx +++ b/src/features/users/components/UserBaseTab.tsx @@ -26,7 +26,7 @@ import { UserDetailSheet } from "./UserDetailSheet"; export function UserBaseTab() { // --- State (URL Params) --- const [searchQuery, setSearchQuery] = useQueryState('q', parseAsString.withDefault('')); - const [minSpent, setMinSpent] = useQueryState('minSpent', parseAsInteger); + const [minSpent, setMinSpent] = useQueryState('minSpent', parseAsInteger.withDefault(0)); const [statusFilter, setStatusFilter] = useQueryState('status', parseAsString.withDefault('all')); // --- Local State ---