* feat(lib): resolve typescript errors
* feat(lib): make input a view child signal
* feat(lib): remove unsubscribe subject
* feat(lib): remove ngOnDestroy
* feat(lib): make currencies an input signal
* feat(lib): make formControlName an input signal
* fix(lib): resolve typescript errors
* feat(lib): migrate to takeUntilDestroyed
* fix(lib): resolve type errors
* feat(lib): implement output signal
* feat(lib): clean up variables
* fix(lib): resolve input is deprecated
* feat(lib): implement input signal on placeholder
* feat(lib): implement input signal on isLoading
* fix(lib): add type annotations for date adapter
* fix(lib): handle form value possibly null
* fix(lint): use arrow fn for validators
* fix(lib): accounts table typings
* fix(lib): remove unsubscribeSubject due to lack of observable
* fix(lib): remove validators variable
* feat(lib): implement inject functions
* feat(lib): make locale an input signal
* feat(lib): make showActions an input signal
* feat(lib): make accountId an input signal
* feat(lib): make accountCurrency an input signal
* feat(lib): make accountBalances an input signal
* feat(lib): make sort a viewChild signal
* feat(lib): implement isNil
* feat(lib): resolve ts errors
* feat(lib): make days protected and readonly
* feat(lib): create formatDay helper function
* fix(lib): remove unused eslint-disable
* feat(lib): change locale to input signal
* feat(lib): change defaultDateFormat to computed signal
* feat(lib): change deviceType to computed signal
* feat(lib): change marketData to input signal
* feat(lib): change historicalDataItems to computed signal
* feat(nx): run ui test
* feat(lib): update days to improve readability
* feat(nx): revert test changes
* fix(lib): change logic for locale
* fix(lib): disable mutating the injected readonly data
* fix(lib): implement takeUntilDestroyed
* fix(lib): implement takeUntilDestroyed
* fix(lib): organize imports
- Fix [class] binding overwriting CSS classes (use [ngClass] instead)
- Fix activities fetch returning wrong data for older dates (use year range)
- Add @HasPermission(readJournalEntry) to GET endpoints
- Apply delta adjustment to netPerformanceInPercentage (was cumulative)
- Fix realized profit to only include dividend/interest income (exclude SELL gross proceeds)
- Fix formatCurrency hiding $0 values (only hide null/undefined)
- Localize monthLabel, weekday headers, and dateLabel using Intl.DateTimeFormat
- Add snackbar feedback on note save/delete success and failure
- Remove unused date field from DTO, add @IsNotEmpty to note
- Add DEFAULT_CURRENCY fallback for userCurrency
- Add month/year range validation
- Fix January baseline by fetching previous year performance
- Add maxWidth to dialog for mobile
- Only reload calendar data when dialog reports changes
- Remove unused GfActivitiesTableComponent and user subscription from dialog
- Handle empty note save gracefully (skip API call if no existing note)
- Add dark mode support to dialog SCSS
- Add route title for browser tab
https://claude.ai/code/session_01XEieh1hHrXc1fcbnA7oBHn