@@ -87,11 +92,12 @@ export function PublicProfilePage() {
<>
- {profile.data.avatarUrl ? (
+ {profile.data.avatarUrl && !avatarFailed ? (
setAvatarFailed(true)}
/>
) : (
diff --git a/apps/frontend/src/styles/global.css b/apps/frontend/src/styles/global.css
index 387c403..741e3f1 100644
--- a/apps/frontend/src/styles/global.css
+++ b/apps/frontend/src/styles/global.css
@@ -64,7 +64,13 @@
@apply bg-primary text-primary-foreground shadow-card hover:bg-primary;
}
.app-header__actions {
- @apply flex shrink-0 items-center gap-1 justify-self-start lg:justify-self-end;
+ @apply flex shrink-0 items-center gap-1 justify-self-start whitespace-nowrap lg:justify-self-end;
+ }
+ .app-header__action {
+ @apply shrink-0;
+ }
+ .app-header__action-text {
+ @apply hidden xl:inline;
}
.app-footer {
diff --git a/docker/nginx.conf b/docker/nginx.conf
index 9fe37e4..57bae01 100644
--- a/docker/nginx.conf
+++ b/docker/nginx.conf
@@ -4,13 +4,6 @@ server {
root /usr/share/nginx/html;
index index.html;
- # Static files with long cache
- location ~* \.(?:js|css|woff2?|svg|png|jpg|jpeg|gif|webp|ico)$ {
- expires 7d;
- add_header Cache-Control "public";
- try_files $uri =404;
- }
-
# API proxy
location /api/ {
proxy_pass http://family-wishlist-backend:3000/api/;
@@ -24,13 +17,20 @@ server {
}
# Uploaded files (images)
- location /uploads/ {
+ location ^~ /uploads/ {
proxy_pass http://family-wishlist-backend:3000/uploads/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_cache_valid 200 1h;
}
+ # Static files with long cache
+ location ~* \.(?:js|css|woff2?|svg|png|jpg|jpeg|gif|webp|ico)$ {
+ expires 7d;
+ add_header Cache-Control "public";
+ try_files $uri =404;
+ }
+
# SPA fallback
location / {
try_files $uri /index.html;