Commit Graph
100 Commits
Author SHA1 Message Date
Jose Olarte III 9dfb2fda27 Chore: regenerate podfile.lock checksum 2025-08-26 15:30:29 +08:00
Jose Olarte III d3aa2e40a0 Merge branch 'master' into android-safe-area-insets 2025-08-26 15:26:18 +08:00
Jose Olarte III 08cda50f13 Merge branch 'master' into android-safe-area-insets 2025-08-26 15:20:12 +08:00
Jose Olarte III e588e223bc Merge branch 'master' into dialog-notification-z-index 2025-08-26 14:40:50 +08:00
Jose Olarte III 02eead5609 Merge branch 'master' into dialog-notification-z-index 2025-08-26 14:39:40 +08:00
Jose Olarte III 504f26190f Merge branch 'master' into ios-contact-copy 2025-08-26 14:35:24 +08:00
Jose Olarte III df49c80199 Merge branch 'master' into dialog-notification-z-index 2025-08-25 20:34:18 +08:00
Jose Olarte III 4d89042997 Fix: re-organized dialog and notification z-indices
- Notifications and toasts now appear higher than dialogs when appearing together
- Standardized dialog z-index
- Added documentation for z-index guide
2025-08-25 19:55:39 +08:00
Jose Olarte III 0c9ede9fc9 fix/deep-link-views: use proper #Content wrapper
- Wrap content in section#Content to apply safe-area insets
- Remove unnecessary .safe-area-spacer element
- Remove unneeded style classes
2025-08-25 18:49:22 +08:00
Jose Olarte III dc857f9119 Revert: linting in package.json 2025-08-25 15:11:31 +08:00
Jose Olarte III 7b357641d1 Chore: update author in RegistrationNotice 2025-08-25 14:52:23 +08:00
Jose Olarte III 3a8652fd8d docs: revert misplaced changelog 2025-08-22 22:07:37 +08:00
Jose Olarte III c2949c4dbf Merge branch 'master' into android-safe-area-insets 2025-08-22 21:10:17 +08:00
Jose Olarte III 4ba58145d0 feat: implement safe area insets for Android and add development tooling
- Add @capacitor/status-bar dependency for safe area detection
- Implement SafeAreaPlugin for Android with proper inset calculation
- Create safeAreaInset.js utility for CSS custom property injection
- Update Android manifest and build configuration for plugin
- Integrate safe area handling across Vue components and views
- Update iOS Podfile and Android gradle configurations
- Add commitlint and husky for commit message validation

Technical changes:
- SafeAreaPlugin uses WindowInsets API for Android R+ devices
- Fallback detection for navigation bar and gesture bar heights
- CSS custom properties: --safe-area-inset-{top,bottom,left,right}
- Platform-specific detection (Android WebView only)
- StatusBar plugin integration for top inset calculation
2025-08-22 21:06:11 +08:00
Jose Olarte III 8fc9118d50 feat: Add automatic Android asset validation to prevent build failures
- Add validate_android_assets() function to build-android.sh
- Check for missing source assets (icon.png, splash.png, splash_dark.png)
- Verify Android resources exist (drawable/splash.png, mipmap/*/ic_launcher*.png)
- Auto-regenerate missing resources using @capacitor/assets
- Integrate validation into main build process with exit code 9
- Add npm run assets:validate:android for manual validation
- Support --assets-only flag for asset-only operations
- Create comprehensive documentation in doc/android-asset-validation.md

Fixes build failures caused by missing drawable/splash and mipmap/ic_launcher resources.
Prevents "Android resource linking failed" errors during Gradle builds.

Resolves: Android build failures due to missing asset resources
2025-08-22 16:25:31 +08:00
Jose Olarte III 8f5111d100 Refactor: unify dialog styles across components
- Add unified .dialog-overlay and .dialog classes to tailwind.css
- Remove duplicated dialog styles from 9 Vue components
- Standardize z-index to 50 for all dialogs
- Preserve special cases: FeedFilters (z-index: 100), PhotoDialog (camera styles)
- Eliminate ~200 lines of duplicated CSS code
- Updated ContactNameDialog from using getter methods to direct CSS classes
- Improve maintainability with single source of truth for dialog styling
2025-08-21 20:59:38 +08:00
Jose Olarte III 25e79249dd Feat: integrate RegistrationNotice component into ProjectsView
- Replace custom onboarding button with RegistrationNotice component
- Maintain v-else conditional rendering for unregistered users
- Remove unused methods and imports related to custom registration flow
- Use contextual message "To announce a project, get someone to onboard you."
- Remove unnecessary wrapping div in RegistrationNotice

Completes registration UI standardization across all main views.
2025-08-21 19:29:31 +08:00
Jose Olarte III 2cb2f3ef3a Fix: update notice locator 2025-08-21 19:07:15 +08:00
Jose Olarte III 47a7b03cca Refactor: simplify RegistrationNotice component interface
- Centralize all registration notice logic within upgraded RegistrationNotice component
- Clean up unused methods and imports in HomeView and AccountViewView
- Customizable message to maintain original contextual wordings unique to each view

Component is now more focused and follows Vue.js best practices
for conditional rendering.
2025-08-21 19:06:55 +08:00
Jose Olarte III 7f5a64dceb UI: update HomeView onboard alert style
- Style-wise, make it consistent with similar alerts
- Introduce visual hierarchy to buttons
- Responsive button layout
2025-08-21 17:22:33 +08:00
Jose Olarte III 612c0b51cc Fix: use route-specific parameter keys in deep link parser
Fix iOS deep link "Invalid Deep Link" error by updating parseDeepLink
to use correct parameter keys from ROUTE_MAP instead of always using 'id'.

- Replace hardcoded 'id' parameter assignment with dynamic lookup
- Use routeConfig.paramKey for route-specific parameter names (e.g., groupId for onboard-meeting-members)
- Maintain backward compatibility with fallback to 'id' for routes without explicit paramKey
2025-08-20 16:05:29 +08:00
Jose Olarte III 5a4bc9efc5 Merge branch 'master' into ios-contact-copy 2025-08-18 15:34:06 +08:00
Jose Olarte III 909d6ff561 Change log level to debug 2025-08-18 15:23:36 +08:00
Jose Olarte III 5f417aeabd Merge branch 'master' into playwright-test-60-fix 2025-08-18 14:32:12 +08:00
Jose Olarte III e15f540292 Fix: target success notification
- Changed target element from span to h4
2025-08-15 15:45:26 +08:00
Jose Olarte III 41c243e9f1 Switch to single-worker mode 2025-08-15 15:11:38 +08:00
Jose Olarte III 949487629d Merge branch 'master' into playwright-test-updates 2025-08-14 21:21:10 +08:00
Jose Olarte III 6d0f4d910f Fix: overloaded arguments + linting 2025-08-13 16:22:15 +08:00
Jose Olarte III 87ebe4ffae Fix: restore newer clipboard service call 2025-08-13 16:05:50 +08:00
Jose Olarte III 47509b1482 Merge branch 'master' into ios-contact-copy 2025-08-13 15:38:16 +08:00
Jose Olarte III 1dc534b61f Fix: update element locators
- Offer dialog was recently updated to use the component version of inputAmount
2025-08-12 15:09:30 +08:00
Jose Olarte III c969c536bf Fix: notify getting called before it's initialized
- Initialize notify earlier inside created()
2025-08-11 17:50:25 +08:00
Jose Olarte III 91e46f435e Merge branch 'offer-validation-logic' into build-improvement 2025-08-11 15:40:11 +08:00
Jose Olarte III 0277b05fef Fix: offer validation prematurely closes dialog
- Transferred form validation error handling to an earlier step
- Added validation for negative input (similar to gifting forms)
- Switched amount input to component version for consistency
2025-08-08 18:21:00 +08:00
Jose Olarte III bf08e57ce7 Fix: re-organize entity type conditional logic in gifting flow
- Add conditional checks for person vs project entity types when setting DID fields
- Simplify project ID assignment logic by removing redundant entity type checks
- Preserve existing recipient context when selecting givers in ContactGiftingView, especially when dealing with "Unnamed" entity
2025-08-07 18:29:58 +08:00
Jose Olarte III 18e6aa5a9a Fix: gifting error messages
- Replaced error messages in GiftedDetailsView
- Maintained consistency between GiftedDialog and GiftedDetailsView (error message constants, amountInput)
2025-08-07 18:20:09 +08:00
Jose Olarte III 795df6a8fb Test "You" explicitly; fallback is "Unnamed" 2025-08-07 15:33:45 +08:00
Jose Olarte III 919b48e61f Remove unneeded comment 2025-08-07 15:08:57 +08:00
Jose Olarte III 06f3a4c7c2 Refactor: simplify GiftedDialog with explicit entity type props
Replace complex updateEntityTypes() method with explicit giverEntityType and
recipientEntityType props. This makes the component more declarative and
maintainable by removing hidden logic and making entity type relationships
clear at the call site.

- Remove updateEntityTypes() method and related watchers
- Add explicit giverEntityType and recipientEntityType props with defaults
- Update all views to use inline logic for entity type determination
- Fix entity type preservation in navigation flows
- Enhance query parameter passing for better context preservation
- Fix recipient reset issue in ContactGiftingView
- Resolve entity type mismatch in HomeView project button flow

Files changed:
- GiftedDialog.vue: Remove complex logic, add explicit props
- EntitySelectionStep.vue: Enhanced query parameter handling
- ContactGiftingView.vue: Improved context preservation
- HomeView.vue, ProjectViewView.vue, ClaimView.vue, ContactsView.vue:
  Updated to use explicit entity type props
- Add refactoring documentation
2025-08-03 11:49:46 +08:00
Jose Olarte III 54bfaafbd0 Fix entity type matching in ClaimView
- Add recipientEntityTypeOverride prop to GiftedDialog component
- Add data-testid and data-recipient-entity-type-override attributes for testing
- Update updateEntityTypes() to respect recipientEntityTypeOverride when set
- Add watcher for recipientEntityTypeOverride prop changes
- Update ClaimView to pass recipient entity type override based on project context
- Improve recipient determination logic in ClaimView for person vs project recipients
2025-08-01 16:13:20 +08:00
Jose Olarte III e741790d70 Fix ClaimView affirm delivery action
- Add offer context support to gifting flow
- Add offerId prop to EntitySelectionStep for offer fulfillment context
- Pass offerId through GiftedDialog to EntitySelectionStep
- Update ContactGiftingView to handle offerId from route query parameters
- Extract offer details (description, amount, unitCode) for pre-population
2025-08-01 13:44:28 +08:00
Jose Olarte III 404a7cbc71 Add form field preservation in gifting flow
- Preserve description, amount, and unit code when navigating between gifting steps
- Add form field props to EntitySelectionStep and GiftedDialog components
- Update ContactGiftingView to handle form state persistence in URL parameters
2025-08-01 11:36:17 +08:00
Jose Olarte III 49bf13021f Removed icons.json 2025-07-31 21:29:45 +08:00
Jose Olarte III f4a7d437c8 Fix parameter passing in contact gift dialogs
- Replace @Emit decorator with direct $emit calls in ContactListItem
- Fix DID comparison from loose to strict equality in nameForDid function
- Resolve issue where giver/recipient names showed as "this unnamed user"

The @Emit decorator was not properly spreading array parameters, causing
the parent component to receive arrays instead of separate string parameters.
2025-07-31 20:13:55 +08:00
Jose Olarte III 433f3c1154 Fix GiftedDialog functionality
- Add description, amountInput, and unitCode parameters to GiftedDialog.open()
- Pass offer details to GiftedDialog in ProjectViewView
- Update ContactsView to handle new GiftedDialog parameters
2025-07-31 17:28:46 +08:00
Jose Olarte III 0582954cfa Remove 'customTitle' variable 2025-07-31 15:53:37 +08:00
Jose Olarte III 6d28a7d8a3 Function name change 2025-07-31 15:29:46 +08:00
Jose Olarte III 12b43bf684 Ref name change 2025-07-31 14:53:32 +08:00
Jose Olarte III 2b6a2d3612 Delete IconRenderer component 2025-07-30 20:13:09 +08:00
Jose Olarte III 934e18f728 Replaced IconRenderer with FontAwesome 2025-07-30 19:53:35 +08:00
Jose Olarte III 118e93b85a Fix: invalid clean command 2025-07-30 15:45:59 +08:00
Jose Olarte III 5cf1759653 Fix: switch to CSS-based text-truncate
- Eliminate dependence on arbitrary maxlength for truncation
- Ensure truncation is purely visual, and does not touch content
2025-07-29 19:34:40 +08:00
Jose Olarte III 48856d4fce Lint-fix 2025-07-28 16:08:20 +08:00
Jose Olarte III c3bd22fb83 Fix: iOS copy function
- Update ContactsView, ShareMyContactInfoView, ContactQRScanShowView to use new service
- Replace unreliable web navigator.clipboard with native Capacitor clipboard
- Add comprehensive error handling and logging for clipboard operations
- Sync Capacitor plugins to include clipboard functionality
2025-07-28 16:06:48 +08:00
Jose Olarte III c18a6b334f Added: native clipboard service
- Install @capacitor/clipboard@^6.0.0 for native clipboard support
- Create platform-agnostic ClipboardService with iOS/Android native API
2025-07-28 15:58:57 +08:00
Jose Olarte III ac22e37628 Fix: added back search area preview 2025-07-25 21:50:00 +08:00
Jose Olarte III e4097f7e4c Fix: properly initialize notify + bulletproofing 2025-07-25 21:19:12 +08:00
Jose Olarte III 526f21441f Fix: routed Set Search Area button 2025-07-25 21:08:54 +08:00
Jose Olarte III b7fac423c9 Cleanup: Search Area section markup 2025-07-25 15:12:56 +08:00
Jose Olarte III ff95c001f4 Fix: image retry in mobile app displays error 2025-07-24 18:59:20 +08:00
Jose Olarte III 5343c9a441 Update: front-facing camera mirrored preview 2025-07-23 17:09:24 +08:00
Jose Olarte III 431a27ef0d Update: Play Store link for Android devices 2025-07-23 17:08:46 +08:00
Jose Olarte III 931d3a4667 Fix: restored viewport-fit for safe-area-insets 2025-07-23 16:03:22 +08:00
Jose Olarte III 25e0d26ca5 Fix: updated more locators 2025-07-22 16:43:52 +08:00
Jose Olarte III 875bcb53b8 Update: switched back users and adjusted test instead 2025-07-21 21:31:56 +08:00
Jose Olarte III 584ae56763 Update: switched back users and adjusted test instead 2025-07-21 21:31:56 +08:00
Jose Olarte III 2dfae0425e Revert "Enhance handleContactVisibility to return both title and message"
This reverts commit 97cb5a0ac6.
2025-07-21 21:30:53 +08:00
Jose Olarte III 3cf75c5dbe Revert "Enhance handleContactVisibility to return both title and message"
This reverts commit 97cb5a0ac6.
2025-07-21 21:30:53 +08:00
Jose Olarte III 3840690ae3 Fix: switch users to test unregistered contacts 2025-07-21 18:47:34 +08:00
Jose Olarte III 5ad1ea4c3c Fix: switch users to test unregistered contacts 2025-07-21 18:47:34 +08:00
Jose Olarte III 5b82f48256 Update: locators match changes to activity list 2025-07-21 17:05:22 +08:00
Jose Olarte III 6905372281 Update: locators match changes to activity list 2025-07-21 17:05:22 +08:00
Jose Olarte III d6bd507123 Update: removed obsolete tests 2025-07-21 16:27:35 +08:00
Jose Olarte III 2fe54dd623 Update: removed obsolete tests 2025-07-21 16:27:35 +08:00
Jose Olarte III b790eb9310 Update: locators match new gifting dialog 2025-07-21 15:04:47 +08:00
Jose Olarte III 36ebdaeaa0 Update: locators match new gifting dialog 2025-07-21 15:04:47 +08:00
Jose Olarte III 0d80dc74ec Update: locators to match changes to homeview 2025-07-18 16:52:18 +08:00
Jose Olarte III c2f030678e Update: locators to match changes to homeview 2025-07-18 16:52:18 +08:00
Jose Olarte III fe3a90e421 Merge branch 'build-improvement' of ssh://173.199.124.46:222/trent_larson/crowd-funder-for-time-pwa into build-improvement 2025-07-18 15:14:45 +08:00
Jose Olarte III ca3fb8fa04 Merge branch 'build-improvement' of ssh://173.199.124.46:222/trent_larson/crowd-funder-for-time-pwa into build-improvement 2025-07-18 15:14:45 +08:00
Jose Olarte III 631bbeb182 Update: locator for contact link 2025-07-18 15:13:57 +08:00
Jose Olarte III 44c3eb0fc9 Update: locator for contact link 2025-07-18 15:13:57 +08:00
Jose Olarte III bf5fd0b5ce Update: locator for gifting button in homeview 2025-07-18 15:13:36 +08:00
Jose Olarte III 4bc5e05399 Update: locator for gifting button in homeview 2025-07-18 15:13:36 +08:00
Jose Olarte III e787886f1b Update: remove obsolete empty ID check 2025-07-17 17:26:00 +08:00
Jose Olarte III 90adb8f639 Update: remove obsolete empty ID check 2025-07-17 17:26:00 +08:00
Jose Olarte III 5c5af5b5cb Fix: Copy to Clipboard button targeting 2025-07-17 15:21:46 +08:00
Jose Olarte III 214832b651 Fix: Copy to Clipboard button targeting 2025-07-17 15:21:46 +08:00
Jose Olarte III 9461ad4c42 Merge branch 'build-improvement' of ssh://173.199.124.46:222/trent_larson/crowd-funder-for-time-pwa into build-improvement 2025-07-07 18:08:39 +08:00
Jose Olarte III a05fa116f7 Merge branch 'build-improvement' of ssh://173.199.124.46:222/trent_larson/crowd-funder-for-time-pwa into build-improvement 2025-07-07 18:08:39 +08:00
Jose Olarte III 26e6b16e03 Fix: notification init + safety checks 2025-07-07 18:08:30 +08:00
Jose Olarte III 3ad4f44d89 Fix: notification init + safety checks 2025-07-07 18:08:30 +08:00
Jose Olarte III 2917f87137 Fix: handle special "You" entity 2025-07-07 17:16:59 +08:00
Jose Olarte III e1db9083c2 Fix: handle special "You" entity 2025-07-07 17:16:59 +08:00
Jose Olarte III 5d17f371f2 Merge branch 'build-improvement' of ssh://173.199.124.46:222/trent_larson/crowd-funder-for-time-pwa into build-improvement 2025-07-07 16:20:20 +08:00
Jose Olarte III c28ddc0c5c Merge branch 'build-improvement' of ssh://173.199.124.46:222/trent_larson/crowd-funder-for-time-pwa into build-improvement 2025-07-07 16:20:20 +08:00
Jose Olarte III fe0d80eef9 Fix: stepType was being set to an object 2025-07-07 16:20:11 +08:00
Jose Olarte III 41dab36eb6 Fix: stepType was being set to an object 2025-07-07 16:20:11 +08:00
Jose Olarte III b57f7e4dd7 Feature: notify on click why entity is disabled 2025-07-04 19:12:56 +08:00
Jose Olarte III 993aa005fa Feature: notify on click why entity is disabled 2025-07-04 19:12:56 +08:00