855 Commits

Author SHA1 Message Date
MartinBraquet
38b83d3323 Adjust primary button styles in onboarding and compatibility screens for consistency with signup flow and improved prominence 2026-07-30 00:40:03 +02:00
MartinBraquet
8935e8c10c Enable smooth scrolling to top of paginated lists in compatibility questions and adjust font size for improved readability. 2026-07-29 23:39:14 +02:00
MartinBraquet
a4ec08bacc Adjust relative timestamp text color for improved contrast 2026-07-29 23:38:48 +02:00
MartinBraquet
df1ecbf75e Redesign vote buttons with color-coded choices for improved usability and refactor proposal components with new styles, filters, and status indicators. 2026-07-29 23:38:31 +02:00
MartinBraquet
c7b552ac43 Adjust chat message text color based on sender identity 2026-07-29 22:40:09 +02:00
MartinBraquet
423361938c Refactor reusable components and improve test utilities: extract clickCheckbox and optionChip helpers, streamline personality slider updates, and integrate missing data-testid attributes for better test targeting. 2026-07-29 21:55:51 +02:00
MartinBraquet
8bf0ec0590 Clarify testing documentation: discourage monorepo-wide yarn test usage and add scoped testing examples. 2026-07-29 20:35:47 +02:00
MartinBraquet
12262f834f Show search summary when no profiles match filters: display a visual summary of applied filters to improve user feedback and search clarity. 2026-07-29 19:47:58 +02:00
MartinBraquet
9745237302 Extract Section and SectionHeading components: refactor to reduce duplication, improve readability, and streamline profile section composition. 2026-07-29 19:17:12 +02:00
MartinBraquet
0b696ff0b4 Make referral links editable: add input field for customization, update share button and QR code to reflect changes dynamically. 2026-07-29 16:49:02 +02:00
MartinBraquet
b55ba93bfe Implement useHideBottomNavOnKeyboard hook: hide bottom nav on keyboard open for private messages, adjust layout logic, and update styles. 2026-07-29 16:48:15 +02:00
MartinBraquet
33b047b02c Refine profile page: unify small text styles with new font-microcaps, replace custom separators with DottedList, and update layout gaps for improved spacing logic and theme consistency. 2026-07-29 14:12:53 +02:00
MartinBraquet
69872de7a5 Refine profile layout and styles: adjust grid widths for better alignment, update endorsements/connect section nesting, and improve text color for consistent readability. 2026-07-29 13:35:18 +02:00
MartinBraquet
8b5fac755e Refine profile-about layout: adjust section order for clarity, prioritize "Orientation" above "Languages," update rendering logic for "Gender identity." 2026-07-29 13:02:38 +02:00
MartinBraquet
2f5dfe0c74 Update profile text for inclusive pronoun usage in connect-actions and comment sections 2026-07-28 21:05:44 +02:00
MartinBraquet
52347ec0b3 Reorganize and refine optional profile form: introduce dedicated "Photos" category for improved layout and visibility; update German and French translations accordingly. 2026-07-28 20:41:11 +02:00
MartinBraquet
a26fa8eb3d Refactor profile navigation and layout: remove BackButton, modularize form section indexing with customizable root, improve scroll logic for section bar and modal transitions. 2026-07-28 20:26:17 +02:00
MartinBraquet
a31ae0b3de Add comprehensive GeneralSettings component: refactor settings layout with structured cards, introduce new theme, font, and language pickers, enhance account and privacy management options with improved UX. 2026-07-28 20:24:19 +02:00
MartinBraquet
32f686a0e6 Improve GetNotifiedButton: dynamically adjust button text based on bookmark state. 2026-07-28 20:23:29 +02:00
MartinBraquet
c7150da21f Refactor profile layout and navigation: align BackButton with form padding, simplify ProfileFormSectionBar behavior, adjust spacing for consistent visual hierarchy. 2026-07-28 19:39:04 +02:00
MartinBraquet
766de00d7c Refactor profile photo components: replace ProfileGallery with modular ProfileHeroPhoto, ProfilePhotoCarousel, and shared useProfilePhotos; enhance layout, improve accessibility, and remove redundant implementations. 2026-07-28 18:28:23 +02:00
MartinBraquet
adeed6a802 Improve SendMessageButton styles: adjust padding, rounding, and text size for better readability and usability; add envelope icon for visual clarity. 2026-07-28 18:27:44 +02:00
MartinBraquet
a6e2dcdbb1 Add SyncAutolink extension: automatically update or remove link marks in editors when URLs are edited; integrate into message editors, bios, and comments for consistent link behavior. 2026-07-28 18:26:07 +02:00
MartinBraquet
abd52b4226 Add linkifyTrailingUrl utility: ensure URLs at the end of text are properly linked before submission; integrate into editors, comments, messages, and bio inputs. Upgrade linkifyjs to v4.3.2. 2026-07-28 16:22:13 +02:00
MartinBraquet
ed941308a9 Refactor Filters button: relocate within Row for better layout consistency and remove redundant implementation. 2026-07-28 16:16:11 +02:00
MartinBraquet
7a50931f49 Add moderation tools: AccountOnHoldNotice component for user ban messaging variations, BannedUserModBar for moderator actions, and backend support for banReason. 2026-07-28 13:21:50 +02:00
MartinBraquet
476fe214db Add profile form navigation: sticky section index for desktop and collapsible bar for mobile; introduce useLongPressReveal hook for touch actions; improve form and layout styles for better usability and consistency. 2026-07-28 03:20:51 +02:00
MartinBraquet
26f086ce14 Solid re-design of home / about / profile / press pages 2026-07-28 02:06:51 +02:00
MartinBraquet
2576bb3ab2 Enable long-press action for touch devices to reveal profile card actions; refine pointer and context menu event handling for improved usability. 2026-07-27 17:00:04 +02:00
MartinBraquet
061c30e7f5 Adjust top padding for safe area insets in filters modal and media modal buttons for better responsive UI handling. 2026-07-27 01:24:35 +02:00
MartinBraquet
a5c4969d48 Introduce new components and utilities: ProfileAvatar, ShareCTAButton, custom video extensions, and responsive hooks.
- Added `ProfileAvatar` for consistent avatar rendering across profiles, with fallback initials and gradient backgrounds.
- Created `ShareCTAButton` for sharing links with native sharing support and clipboard fallback.
- Integrated custom `tiptap` video extension (`tiptap-video`) for video support in rich text editing.
- Introduced `useColumnCount` for responsive column count management in dynamic masonry layouts.
- Enhanced onboarding flow with refined "Share My Profile" feature using the new share button.
- Updated styles and layout in filtered profiles and onboarding screens for better consistency and responsiveness.
2026-07-27 00:51:20 +02:00
MartinBraquet
b6536a9b58 Simplify bio tooltip text for clarity and consistency in profile filtering explanation. 2026-07-26 16:06:18 +02:00
MartinBraquet
24fbd59f18 Add hint for centering face in profile picture with localized translations (DE, FR) 2026-07-26 15:09:07 +02:00
MartinBraquet
20732a5cbe Update filter labels for conciseness and consistency across components and translations. 2026-07-26 14:52:22 +02:00
MartinBraquet
fdc57f80af Add "Get Notified" button for saved searches and improve filters UI behavior:
- Introduced `GetNotifiedButton` for bookmarking searches and receiving notifications when new profiles match.
- Optimized responsive behavior of filters for desktop and mobile layouts.
- Enhanced "no profiles found" state with a clear call-to-action and improved visual design.
- Updated translations for notification strings in German and French.
2026-07-26 14:25:46 +02:00
MartinBraquet
deeb05f2e0 Add structured FAQ page with search, categories, and deep links
- Implemented `parseFaq` to transform markdown into structured data for improved rendering and SEO.
- Introduced `react-markdown` with custom styling for better alignment with the application design.
- Added search functionality with query matching and automatic expansion of relevant answers.
- Designed a sticky navigation rail for easier category navigation.
- Enabled deep linking to questions and categories for external reference.
- Created reusable components for FAQ items and markdown rendering.
- Updated markdown file handling to exclude FAQ from generic loader (`MD_PATHS`).
2026-07-26 13:41:08 +02:00
MartinBraquet
3f73afb693 Wrap required profile form in a styled surface container for consistent UI with onboarding screens. Adjust layout and input widths in required form for better alignment and responsiveness. 2026-07-26 12:53:09 +02:00
MartinBraquet
680431ed75 Revamp notifications UI and settings
- Redesigned notification cards with improved spacing and layout for better readability.
- Introduced a skeleton state and enhanced empty state for notifications with visual cues and localized text updates.
- Split notification settings into "Social" and "Other" categories for clearer organization.
- Added "Opt out of all notifications" as a separate toggle card.
- Refactored the option rendering logic and header structure for consistent alignment.
- Localized new strings for German and French translations.
2026-07-26 11:16:31 +02:00
MartinBraquet
fb24068729 Declare microphone-related permissions for voice recording in AndroidManifest and handle runtime permission errors appropriately in Android app. Update versionCode to 133 and add localized strings for improved error messaging. 2026-07-25 18:34:24 +02:00
MartinBraquet
4c76b643e3 Add voice recording, transcription, and audio player components
- Implemented `AudioPlayer` for custom audio playback controls.
- Added `useAudioRecorder` hook for managing microphone audio recording with visual feedback.
- Introduced audio transcription API integration using OpenAI Whisper.
- Created `blobToBase64` utility to encode recorded blobs for API consumption.
- Added IndexedDB-based `recording-store` for saving in-progress recordings.
- Developed `VoiceAutofillSection` for guided recording, playback, transcription, and editing.
2026-07-25 18:01:58 +02:00
MartinBraquet
fe5dc02321 Add customizable icon support to CopyLinkOrShareButton and update profile sharing icon
- Introduced `icon` prop to `CopyLinkOrShareButton` for greater flexibility.
- Updated `ShareProfileButton` to use `ShareIcon` for improved clarity and visual consistency.
2026-07-25 00:11:07 +02:00
MartinBraquet
d3e0835e43 Merge branch 'refs/heads/worktree-stay-on-delete' 2026-07-25 00:03:21 +02:00
MartinBraquet
19e253061d Add targeted share sheet content for profile sharing
- Enhanced `CopyLinkOrShareButton` to support optional title and text for OS share sheets.
- Updated profile sharing to include contextual text about Compass' features and profile relevance.
- Localized share content in German and French JSON translations.
- Adjusted "Copy Link" button label to "Share" for clarity in supported languages.
2026-07-24 23:57:56 +02:00
MartinBraquet
35c7ee178f Encourage users to keep their account when deleting for lack of matches
When someone picks a scarcity reason in the delete survey (not enough
relevant people, community not active enough, messages unanswered), show
a callout making the case for staying: keeping the account is free,
saved-search alerts come to them, and staying keeps them findable by
people who join later. Two compatible people who join at different times
and both delete never meet.

Also relabels the modal's cancel button to "Keep my account" in that case.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-24 23:54:53 +02:00
MartinBraquet
6dbfab2237 Add useCountUp hook and integrate animated counting stats into About page
- Introduced `useCountUp` hook to facilitate animated counting of numbers with easing effects.
- Updated About page to display member, country, and conversation stats with count-up animations.
- Added API data retrieval and Intersection Observer logic to trigger animations on scroll.
- Replaced `GeneralButton` in About page with a custom `<Link>` for consistent styling and hover effects.
- Enhanced visual hierarchy by applying animations and styles adapted for reduced-motion users.
2026-07-24 21:07:39 +02:00
MartinBraquet
de99d2decc Add social preview card rendering and deployment
- Introduced `OgCard` React component as the default Open Graph preview card for social sharing (1200x630).
- Added `BrandFonts` module to load web fonts for accurate rendering.
- Integrated `OgCard` into the media creator pipeline as a `<Still>` with a new `still:og` script.
- Updated upload script to version the output and ensure compatibility with caching policies.
- Included new card meta tags across web pages, defaulting to this design for links without a custom preview.
- Extended theme and README to document font usage, card details, and deployment workflow.
2026-07-24 18:34:18 +02:00
MartinBraquet
3a38e8affb Add neurotype and accessibility fields to profiles
- Added `accessibility_notes` (free text) to profiles to capture members' practical access needs while avoiding filterable attributes.
- Introduced `neurotype` (selectable values with details option) and GIN indexing to enable efficient keyword searches.
- Updated UI components, filters, and forms to support these new profile attributes.
- Modified backend and tests to handle the changes and ensure consistency across filtering, seeding, and display logic.
- Bumped API version to `1.49.0`.
2026-07-24 16:27:41 +02:00
MartinBraquet
cfa39ec88c Bump Android app version to 1.31.1 2026-07-24 04:38:10 +02:00
MartinBraquet
95d217fb61 Add StatDonut, WorldHeatmap, and support for full country lists on stats page
- Introduced `StatDonut` and `WorldHeatmap` components for improved data visualization.
- Enhanced API to provide full country lists instead of a top-N subset for accurate map shading.
- Removed hardcoded country truncation logic in favor of dynamic slicing in the frontend.
- Updated age grouping logic to consolidate older age ranges and simplify backend queries.
- Refactored stats page layout to reduce redundancy and improve clarity of data presentation.
2026-07-24 02:57:51 +02:00
MartinBraquet
5645007ff8 Add demographic distribution cards and backend support for /stats page
- Implemented demographic breakdowns for profile fields like gender, age, orientation, and more.
- Added `DistributionCard` component to render ranked bar lists for frontend visualization.
- Introduced backend aggregation logic for demographic stats with thresholds to ensure data anonymity and validity.
- Updated API response to include `demographics` field for frontend integration.
2026-07-24 01:47:37 +02:00