From d730961c969083713551c4a18dc7b2846bc0d161 Mon Sep 17 00:00:00 2001 From: muken Date: Wed, 1 Jul 2026 21:59:22 -0500 Subject: [PATCH] fix: SVG icons now scale properly with CSS instead of fixed width/height - Remove hardcoded width/height attributes from SVGs - Use CSS (width:100%;height:100%) for proper scaling - Fixes amenity icons appearing compacted/overlapping - viewBox maintains aspect ratio, CSS controls display size --- src/app/admin/page.tsx | 14 +++++++++----- src/app/rooms/page.tsx | 5 +++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/app/admin/page.tsx b/src/app/admin/page.tsx index edba6b1..6ddfcb5 100644 --- a/src/app/admin/page.tsx +++ b/src/app/admin/page.tsx @@ -1010,7 +1010,7 @@ function RoomEditor({ room, setRoom, images, onSave, onCancel }: any) { cursor: 'pointer', fontSize: '12px', transition: 'all 150ms', color: selectedAmenities.includes(a.id) ? C.gold : C.text }}> - + {a.name} ))} @@ -1078,8 +1078,12 @@ function AmenitiesSection({ onToast }: { onToast: (msg: string, type: string) =>
{amenities.sort((a, b) => a.sort_order - b.sort_order).map((a: Amenity) => (
-
+
{a.name}
setEditing(a)}>Edit @@ -1126,7 +1130,7 @@ function AmenityEditor({ amenity, setAmenity, onSave, onCancel }: any) { style={{ padding: '8px 12px', borderRadius: 8, border: `1px solid ${C.border}`, fontSize: '13px', fontFamily: 'monospace', outline: 'none', background: '#FAFAFA', resize: 'vertical' }} /> {amenity.icon_svg && (
+ dangerouslySetInnerHTML={{ __html: amenity.icon_svg.replace(/width="[^"]*"/g, '').replace(/height="[^"]*"/g, '').replace(/stroke="currentColor"/g, `stroke="${C.navy}"`).replace(/ )}
@@ -1137,7 +1141,7 @@ function AmenityEditor({ amenity, setAmenity, onSave, onCancel }: any) { style={{ padding: '6px 10px', borderRadius: 6, border: `1px solid ${C.border}`, background: '#fff', cursor: 'pointer', fontSize: '12px', display: 'flex', alignItems: 'center', gap: '4px', transition: 'all 150ms' }} onMouseEnter={e => { e.currentTarget.style.borderColor = C.gold; e.currentTarget.style.background = C.goldLight; }} onMouseLeave={e => { e.currentTarget.style.borderColor = C.border; e.currentTarget.style.background = '#fff'; }}> - + {icon.name} ))} diff --git a/src/app/rooms/page.tsx b/src/app/rooms/page.tsx index 700e0f5..267567a 100644 --- a/src/app/rooms/page.tsx +++ b/src/app/rooms/page.tsx @@ -497,9 +497,10 @@ export default function RoomsPage() { ) : null}