From ef108ea69564d731ec4f1b4075c32b0a3caed907 Mon Sep 17 00:00:00 2001 From: Daniel Schultz Date: Fri, 4 Sep 2026 11:28:17 -0400 Subject: [PATCH 1/6] Update icon text input to paint its own icon Prior to this change the icon was passed to the component, but by having the component render the icon with a gradient the icons get distinct IDs. Issue #1159 Implement UX for location coordinate entry Claude-Session: https://claude.ai/code/session_01HM1anu1T97zKvtb1TKTcfc --- .../uncertain-location-picker.component.html | 10 ---- .../uncertain-location-picker.component.scss | 15 ----- ...ncertain-location-picker.component.spec.ts | 8 --- .../uncertain-location-picker.component.ts | 6 +- .../icon-text-input.component.html | 20 ++++++- .../icon-text-input.component.scss | 24 +++++++- .../icon-text-input.component.spec.ts | 56 ++++++++++++++++++- .../icon-text-input.component.ts | 12 +++- 8 files changed, 106 insertions(+), 45 deletions(-) diff --git a/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.html b/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.html index f99d2422f..0ad6f80cf 100644 --- a/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.html +++ b/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.html @@ -1,13 +1,3 @@ - - -

Add a place or address…

diff --git a/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.scss b/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.scss index dc9519f2e..6c3eb6f86 100644 --- a/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.scss +++ b/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.scss @@ -6,21 +6,6 @@ display: block; } -// Out of flow: an inline `svg` opens a line box and pushes the card down. -.pr-icon-gradient-defs { - position: absolute; - width: 0; - height: 0; -} - -.pr-icon-gradient-start { - stop-color: $PR-brand-purple; -} - -.pr-icon-gradient-end { - stop-color: $PR-brand-yellow; -} - .pr-uncertain-location-dialog { background: $PR-brand-white; border-radius: 12px; diff --git a/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.spec.ts b/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.spec.ts index 51f84a9f7..aaf5cd32b 100644 --- a/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.spec.ts +++ b/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.spec.ts @@ -108,14 +108,6 @@ describe('UncertainLocationPickerComponent', () => { ]); }); - it('should point the icons at the gradient the dialog defines', () => { - const gradient = fixture.nativeElement.querySelector( - `linearGradient#${component.iconGradientId}`, - ); - - expect(gradient).not.toBeNull(); - }); - it('should start with empty fields', () => { getFields().forEach((input) => { expect(input.value).toBe(''); diff --git a/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.ts b/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.ts index c796dbc10..0426df031 100644 --- a/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.ts +++ b/src/app/file-browser/components/uncertain-location-picker/uncertain-location-picker.component.ts @@ -17,10 +17,7 @@ import { LocnVOData, } from '@models'; import { ProfileItemVOData } from '@models/profile-item-vo'; -import { - ICON_GRADIENT_ID, - IconTextInputComponent, -} from '@shared/components/icon-text-input/icon-text-input.component'; +import { IconTextInputComponent } from '@shared/components/icon-text-input/icon-text-input.component'; import { faFlagUsa, faHouse, @@ -112,7 +109,6 @@ const toQualifierFlags = ( export class UncertainLocationPickerComponent implements OnInit { readonly fields = LOCATION_FIELDS; readonly nameIcon = faHouse; - readonly iconGradientId = ICON_GRADIENT_ID; readonly qualifierOptions = LOCATION_QUALIFIER_OPTIONS; readonly LocationQualifier = LocationQualifier; diff --git a/src/app/shared/components/icon-text-input/icon-text-input.component.html b/src/app/shared/components/icon-text-input/icon-text-input.component.html index 0b0be7963..b34dc2577 100644 --- a/src/app/shared/components/icon-text-input/icon-text-input.component.html +++ b/src/app/shared/components/icon-text-input/icon-text-input.component.html @@ -1,5 +1,21 @@ -
-