Commit Graph

18 Commits

Author SHA1 Message Date
Matthew Raymer
bebc32047b Complete TestView.vue Enhanced Triple Migration Pattern with human validation
- Database migration: databaseUtil → PlatformServiceMixin methods
- SQL abstraction: Raw temp table queries → service methods
- Notification migration: $notify → helper system + constants
- Template streamlining: 75% reduction via computed properties
- Human testing: All 8 notification buttons + SQL interface validated
- Time: 8m 26s (3.6x faster than estimate)
- Project: 42% complete (39/92 components migrated)
2025-07-08 10:13:35 +00:00
Matthew Raymer
cc26d5161b git commit -m "feat: migrate IdentitySwitcherView.vue to Enhanced Triple Migration Pattern
- Replace databaseUtil/PlatformServiceFactory with PlatformServiceMixin
- Add notification helpers + centralized constants for identity management
- Extract button styling and account formatting to computed properties
- Improve TypeScript typing (Account interface)
- 6-minute migration achieving technical compliance
- All identity switching and deletion features preserved"
2025-07-08 08:46:38 +00:00
Matthew Raymer
277c3e79ab Complete GiftedPrompts.vue Enhanced Triple Migration Pattern (4 minutes)
Database Migration:
- Replace PlatformServiceFactory + databaseUtil with PlatformServiceMixin
- Eliminate 2 raw SQL queries (SELECT COUNT, SELECT with OFFSET)
- Use cached this.$contacts() for efficient contact access

Template Streamlining:
- Add buttonClasses computed property for consistent styling
- Add displayContactName computed property for contact fallback logic
- Add routerConfig computed property for cleaner navigation code

Performance: 75% faster than estimated (4 min vs 15-20 min)
Validation: Component now technically compliant, 0 legacy patterns
Code Quality: Enhanced maintainability with computed properties
2025-07-08 08:31:17 +00:00
Matthew Raymer
7a2f29dcd3 Replace notification literal strings with constants and add usage documentation
- Migrate remaining ContactsView.vue literal strings to centralized constants
- Add missing constants: NOTIFY_BLANK_INVITE, NOTIFY_REGISTRATION_ERROR_FALLBACK, etc.
- Create composite message functions: getRegisterPersonSuccessMessage(), getVisibilitySuccessMessage()
- Document all notification constants with usage locations in comments
- Fix scattered hardcoded notification messages preventing translation
- 0 linter errors, ContactsView.vue now fully notification-compliant
2025-07-08 08:08:46 +00:00
Matthew Raymer
7d0486a4cf Complete OnboardingDialog.vue Enhanced Triple Migration Pattern (3.5 minutes)
• Database Migration: Replace databaseUtil with PlatformServiceMixin methods
• SQL Abstraction: Replace raw SQL with $getAllContacts() and $accountSettings()
• Template Streamlining: Add 5 computed properties for consistent styling
• Vue Syntax Fix: Correct vue-facing-decorator mixin and computed property syntax

Migration Details:
- Removed: databaseUtil imports and PlatformServiceFactory usage
- Added: PlatformServiceMixin with $accountSettings(), $getAllContacts(), $updateSettings()
- Created: 5 computed properties (primaryButtonClasses, secondaryButtonClasses, etc.)
- Fixed: Proper @Component mixin declaration and class getter syntax
- Quality: Zero linting errors, full TypeScript compliance

Component provides 3-page onboarding flow (Home, Discover, Create) with
dynamic content based on user registration and contact status.
Ready for human testing across all platforms.
2025-07-08 02:32:15 +00:00
Matthew Raymer
48be4ece65 docs: Update migration status after ContactAmountsView human testing
- Update CURRENT_MIGRATION_STATUS.md with latest progress (35% complete)
- Add ContactAmountsView.vue to human testing completion list
- Update migration-time-tracker.md with testing metrics and progress
- Document 8 components now human tested, 25 ready for testing
- Update realistic estimates for remaining 59 components

Migration Progress: 33/92 components (35%) | Human Tested: 8 components
2025-07-07 13:23:30 +00:00
Matthew Raymer
6a2bc798cd docs: Update migration status after ContactEditView human testing
- Update CURRENT_MIGRATION_STATUS.md with latest progress (34% complete)
- Add ContactEditView.vue to human testing completion list
- Update migration-time-tracker.md with testing metrics and progress
- Document 7 components now human tested, 25 ready for testing
- Update realistic estimates for remaining 60 components

Migration Progress: 32/92 components (34%) | Human Tested: 7 components
2025-07-07 13:06:58 +00:00
Matthew Raymer
524c1d91be Refactor ContactsView.vue to use notification constants
- Extracted all inline notification and danger messages to src/constants/notifications.ts
- Added 20+ new notification constants and 2 template functions for dynamic messages
- Replaced all notify and danger calls with references to new constants/templates
- Updated imports for notification constants/templates and removed unused imports
- Fixed all linter errors - all notification messages now use single source of truth
- All $notify calls now use constants (remaining 3 are complex modals requiring raw calls)
2025-07-07 12:30:18 +00:00
Matthew Raymer
93a166b2b6 Complete SharedPhotoView.vue Enhanced Triple Migration Pattern (6 minutes)
Database Migration: Replace databaseUtil + PlatformServiceFactory with PlatformServiceMixin
SQL Abstraction: Use $first<Temp>(), $dbQuery(), $dbExec(), $accountSettings(), $updateSettings()
Notification Migration: Add 2 constants, migrate 3 $notify calls to helper methods
Documentation: Add comprehensive file and method-level documentation

Time: 6 minutes | Complexity: Medium | Issues: Linting fixed
Testing: Manual required | Validation: Full Enhanced Triple Migration Pattern

Component Features:
- External image sharing from device apps via deep linking
- Image upload to server with JWT authentication
- Convert images to gifts (GiveAction) or profile pictures
- Temporary storage management and cleanup
- Integration with PhotoDialog for profile image cropping
- Comprehensive error handling for upload scenarios

Technical Updates:
- Type-safe database operations with proper result mapping
- Centralized notification constants for consistency
- Enhanced error handling with detailed logging
- Clean separation of concerns between data access and UI
2025-07-07 10:38:36 +00:00
Matthew Raymer
17e30762bd Complete Enhanced Triple Migration Pattern for PhotoDialog and OfferDialog components
- Implement 4-phase migration pattern: Database + SQL + Notifications + Template Streamlining
- PhotoDialog.vue: Replace databaseUtil with PlatformServiceMixin, add 8 notification constants, extract 11 computed properties
- OfferDialog.vue: Replace databaseUtil with PlatformServiceMixin, add 7 notification constants, extract CSS classes to computed properties
- Update migration template with Phase 4 (Template Streamlining) and Phase 5 (Code Quality Review)
- Add 15 centralized notification constants to src/constants/notifications.ts

Migration validation: 25/27 components complete (93% success rate)
2025-07-07 09:56:40 +00:00
Matthew Raymer
d8fbed3873 Complete ProjectsView.vue Triple Migration Pattern with literal extraction
Apply full database migration (databaseUtil → PlatformServiceMixin), replace
raw SQL with service methods, migrate 3 notifications to helper methods.
Preserve 1 complex modal for advanced routing features while extracting
all literal strings to NOTIFY_CAMERA_SHARE_METHOD constant.

Add computed properties (offerTabClasses, projectTabClasses) to streamline
template logic and comprehensive JSDoc documentation for all methods.
Update migration templates to mandate literal extraction from complex modals.

ProjectsView.vue now appropriately incomplete: helper methods for simple
notifications, raw $notify preserved only where advanced features required.
2025-07-07 08:00:25 +00:00
Matthew Raymer
11e11cda26 Mark UserProfileView.vue as human tested, update migration tracker
- Human testing confirmed UserProfileView.vue works correctly
- Updated testing tracker with 21 complete migrations (88% success)
- Added ImportAccountView.vue to ready-for-testing list
- Migration progress: 4 components human tested, 17 ready for testing
2025-07-07 07:43:24 +00:00
Matthew Raymer
f9a1be81b4 Extract literal strings from complex modals to notification constants
Replace hardcoded text in raw $notify calls with centralized constants:
- MembersList.vue: 2 complex modals (contact admission workflow)
- ContactsView.vue: 2 complex modals (registration, onboarding meeting)
- ProjectViewView.vue: 1 complex modal (claim confirmation)

Preserves advanced modal features (promptToStopAsking, custom buttons,
nested workflows) while standardizing text through constants for
maintainability and future localization support.
2025-07-07 07:22:06 +00:00
Matthew Raymer
ba15b500c4 Replace hardcoded notification strings with standardized constants
- Replace literal strings with notification constants in ContactsView.vue:
  * "Got an error sending the invite." → NOTIFY_INVITE_ERROR.message
  * "Could not set visibility on the server." → NOTIFY_VISIBILITY_ERROR.message
  * "Unconfirmed Hours" → NOTIFY_UNCONFIRMED_HOURS.title
- Remove unused NOTIFY_REGISTER_PROCESSING import
- Remove unused NOTIFICATION_TIMEOUTS constant in ShareMyContactInfoView.vue
- Fix unused parameter warnings in danger() and warning() methods
- Resolve all notification-related linting errors
2025-07-07 07:02:33 +00:00
Matthew Raymer
a5784cdfc1 Complete notification migration across 13 components and views
- Replace raw $notify calls with notification helper system
- Add createNotifyHelpers and TIMEOUTS constants integration
- Migrate AccountViewView, ClaimAddRawView, ContactGiftingView, ContactImportView, ContactsView, NewActivityView, ProjectViewView, RecentOffersToUserProjectsView, RecentOffersToUserView, ShareMyContactInfoView
- Update MembersList, TopMessage, UserNameDialog components
- Add notification constants for standardized messaging
- Enhance validation script to eliminate false positives
- Achieve 86% notification migration completion rate
2025-07-07 06:53:30 +00:00
Matthew Raymer
ea851a7dfd Complete DIDView.vue triple migration and refactor template handlers
- Fix DIDView.vue notification migration: add missing NOTIFY_SERVER_ACCESS_ERROR and NOTIFY_NO_IDENTITY_ERROR imports
- Refactor 5 inline template handlers to proper class methods (goBack, toggleDidDetails, showLargeProfileImage, showLargeIdenticon, hideLargeImage)
- Update notification validation script to exclude createNotifyHelpers initialization patterns
- DIDView.vue now fully compliant: database migration + SQL abstraction + notification migration complete

Improves code organization, testability, and follows Vue.js best practices for template/class separation. All linting passes without errors.
2025-07-07 05:44:34 +00:00
Matthew Raymer
3d124e13bb Fix HomeView notification migration to use proper constants pattern
- Add NOTIFY_CONTACT_LOADING_ISSUE, NOTIFY_FEED_LOADING_ISSUE, and NOTIFY_CONFIRMATION_ERROR constants to notifications.ts
- Update HomeView.vue to import and use notification constants instead of literal strings
- Update migration templates to document constants vs literal strings pattern
- Add comprehensive documentation for notification constants usage

Ensures consistency with established pattern used in ActivityListItem.vue and other migrated components. Linter passes without errors.
2025-07-07 04:49:30 +00:00
Matthew Raymer
dd22e1b884 refactor: standardize notification usage and document best practices
Move all user-facing notification messages to src/constants/notifications.ts
Use TIMEOUTS constants from src/utils/notify.ts for all notification durations
Refactor ActivityListItem.vue:
Use notification message and duration constants
Initialize notify helper in created() with createNotifyHelpers(this.$notify)
Add $notify property for Vue runtime injection to satisfy type checker
Use type guards or 'as any' for unknown notification payloads
Wrap notifyWhyCannotConfirm calls to match expected function signature
Fix type import for GiveRecordWithContactInfo
Add 'Notification Best Practices and Nuances' section to migration-progress-tracker.md:
Document message/duration constants, notify helper pattern, type safety, and wrapper function usage
Remove all hardcoded notification strings and durations from components
2025-07-06 12:19:31 +00:00