158 Commits

Author SHA1 Message Date
MartinBraquet
c3c5eca87c Allow scroll chaining in short scroll panels by disabling overscroll-behavior containment 2026-07-30 19:29:49 +02:00
MartinBraquet
7abbf7e39a Implement visual viewport height handling and toggleable emoji/reaction support. 2026-07-30 02:23:46 +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
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
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
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
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
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
24fbd59f18 Add hint for centering face in profile picture with localized translations (DE, FR) 2026-07-26 15:09:07 +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
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
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
MartinBraquet
b3351707e2 Optimize editor performance by reducing excessive re-renders
- Introduced `useEditorState` hook for targeted subscriptions in components (e.g., text length, active marks, editor state).
- Disabled global re-rendering on every transaction within the editor.
- Improved typing responsiveness across components by limiting reflows and re-renders caused by keystrokes.
- Updated components (`LLMExtractSection`, `comment-input`, `editable-bio`, etc.) to leverage `useEditorState` for localized updates.
- Refined floating toolbar behavior with `requestAnimationFrame` for smoother scrolling and reduced layout thrashing.
2026-07-23 18:14:30 +02:00
MartinBraquet
f79f85bdde Refine chart animation trigger logic
- Adjusted IntersectionObserver to wait for the entire chart frame to enter the viewport before triggering animation, using `threshold: 1`.
- Updated observer options for smoother and more intuitive growth visualization.
2026-07-23 18:04:24 +02:00
MartinBraquet
f168ce2466 Enhance About page with updated help cards, improved sharing functionality, growth visualization, and refined translations 2026-07-23 17:32:56 +02:00
MartinBraquet
ba3af2e5d7 Add alert loop video generation and platform stats enhancements
- Created `capture-alert.mjs` to generate alert loop video for the about page claim "Get Notified About Searches."
- Added `CountrySpread` widget for a ranked bar display of member distribution by country.
- Implemented `StatBand` component for live platform statistics on the about page.
- Introduced template rendering script (`render-search-alert.tsx`) for generating search alert email visuals.
- Updated documentation and improved workflows for media creation, video rendering, and data integration.
2026-07-23 00:28:45 +02:00
MartinBraquet
d35066d485 Add vote-tally capture and "How a decision gets made" section
- Introduced `capture-vote.mjs` script to capture real voting proposal cards as visual evidence.
- Added `VoteEvidence` component to the about page to support the "Democratic" governance claim with verifiable proof from the `/vote` page.
- Integrated desktop and mobile screenshot handling, switching via `<picture>` media queries for optimal display.
- Updated about page layout to embed the proof next to the assertion, removing redundancy from the feature cards.
- Documented implementation details and selection rationale in `marketing-visuals.md`.
- Enhanced build scripts and updated image handling to support vote screenshots (WebP format, lazy-loaded).
2026-07-22 02:34:18 +02:00
MartinBraquet
0136f1f386 Add search demo video generation and integration
- Introduced `capture-search.mjs` script for end-to-end mobile search flow captures.
- Added `SearchDemo` scene as a Remotion composition for the home-page hero clip.
- Integrated dynamic video selection based on theme in `home/search-demo.tsx` component.
- Included `fetch-media.mjs` script for fetching demo assets during build.
- Enabled optional email verification bypass for local captures (`dev-flags.ts`).
- Updated related documentation and scripts for media creation and deployment.
2026-07-22 01:39:45 +02:00
MartinBraquet
373721999f Simplify tooltip logic and add dismissal support for touch devices. 2026-07-13 14:04:50 +02:00
MartinBraquet
6efaae788a Replace StarIcon with BookmarkIcon in StarButton component 2026-06-18 23:05:37 +02:00
MartinBraquet
c90f9c7180 Fix back button sometimes failing on Android 2026-06-06 19:23:59 +02:00
MartinBraquet
aa145dab92 Fix bold text color in editor that was too contrasting 2026-06-05 13:49:04 +02:00
Okechi Jones-Williams
549eba0bbe [User functionality] Messages UI page and messaging helpers added for end-to-end scenarios (#53)
* Added Database checks to the onboarding flow

* Added compatibility page setup
Added more compatibility questions

* Finished up the onboarding flow suite
Added compatibility question tests and verifications
Updated tests to cover Keywords and Headline changes recently made
Updated tests to cover all of the big5 personality traits

* .

* Fix: Merge conflict

* .

* Fix: Added fix for None discriptive error issue #36
Updated signUp.spec.ts to use new fixture
Updated Account information variable names
Deleted "deleteUserFixture.ts" as it was incorporated into the "base.ts" file

* Linting and Prettier

* Minor cleaning

* Added Google account to the Onboarding flow

* Added account cleanup for google accounts

* Started work on Sign-in tests
Updated seedDatabase.ts to throw an error if the user already exists, to also add display names and usernames so they seedUser func acts like a normal basic user
Some organising of the google auth code

* Linting and Prettier

* Added checks to the deleteUser func to check if the accout exists
Added account deletion checks

* Linting and Prettier

* Formatting update, fixed homePage locator for signin

* .

* .

* .

* Coderabbitai fix's

* Fix

* Improve test utilities and stabilize onboarding flow tests

* Changes requested

* Changed POM/Fixture structure to use an app class to instantiate the page objects

* Apply suggestion from @MartinBraquet

* Delete .vscode/settings.json

* Apply suggestion from @MartinBraquet

* Apply suggestion from @MartinBraquet

* Apply suggestion from @MartinBraquet

* Linting and Prettier

* Updated People page

* Fix app.ts

* Updated peoplePage.ts: continued adding functions to use filters
Updated filters.tsx: added data testid

* Coderabbitai fix's

* .

* Updated People page
Added data test attributes to search.tsx and profile-grid.tsx

* Lint and Prettier

* .

* Continued work on filter tests
Added testid attributes to people page so the info from the results can be accessed

* Added more filter tests

* Added tests for hiding profiles

* Added a context manager to test with multiple accounts interacting with each other
Added an option to verify the users email when creating an account

* Added Tests for sending/recieving messages
Added tests for staring/favoriting profiles
Added testIds where necessary
Added messagesPage.ts
Updated peoplePage.ts

* Linting and Prettier

* Coderabbit suggestions

* CodeRabbit suggestion #2

* Fix #1

* Minor fixes

* TC fix

---------

Co-authored-by: MartinBraquet <martin.braquet@gmail.com>
2026-05-29 01:00:57 +02:00
MartinBraquet
770c02ac88 Add orientation profile field and extend gender options 2026-05-24 15:37:05 +02:00
MartinBraquet
9262e4a2be Refactor maxHeight handling in messaging and editor components for consistency 2026-05-18 18:43:21 +02:00
MartinBraquet
ccb5de6e95 Allow dynamic editor max height to prevent UI overflow issues 2026-05-18 16:36:29 +02:00
MartinBraquet
443f08b558 Add message and star button to profile cards in people page 2026-05-12 14:33:04 +02:00
MartinBraquet
f708e54405 Adjust text color in widgets and chat messages for improved readability 2026-05-10 12:32:27 +02:00
MartinBraquet
532c741405 Add image lightbox to RichContent: enable fullscreen modal view for images with onClick functionality 2026-05-10 11:21:31 +02:00
MartinBraquet
857c9eb65b Redesign input and empty state components: improve search input interactions with clear button and icons, update compatibility questions empty state styling, and adjust profile form input widths and button properties for consistency and usability. 2026-05-10 11:21:17 +02:00
MartinBraquet
60548e54dc Update Checkbox styles: adjust label text color for checked state to improve visual clarity 2026-05-09 16:32:40 +02:00
MartinBraquet
afba69c8bc "Refactor buttons, grids, and layout components: replace custom Button components with <button> elements for consistency, update dimensions, spacing, and styling for improved UI cohesion across the application." 2026-05-08 19:44:43 +02:00
MartinBraquet
ce10ddf366 Major re-design of the profile pages 2026-05-08 13:55:50 +02:00
MartinBraquet
d1720ce644 Restructure Organization, Social, and Stats pages with new card-based layouts, improved styling, and enhanced loading states for better readability and UX. 2026-05-01 15:14:20 +02:00
MartinBraquet
b057f179d6 Update button styles, text classes, and French translations for consistency and clarity 2026-05-01 13:11:52 +02:00
MartinBraquet
ce9ce2c5cb Update colors 2026-04-30 17:02:48 +02:00
MartinBraquet
48b41aae5f Add dark mode colors 2026-04-30 16:04:25 +02:00
MartinBraquet
ae72e5cf3f Change color palette 2026-04-30 14:13:56 +02:00
MartinBraquet
70de4ccb81 Add custom-link class to ProseMirror container for styling adjustments in editor component. 2026-04-14 14:33:01 +02:00
MartinBraquet
413dde659f Cancel loading logic if hide button clicked or profile opened in new tab; add onPointerDown prop to HideProfileButton. 2026-04-10 12:02:31 +02:00
MartinBraquet
63a361d4b6 Update primary color usage in multiple components for improved consistency and accessibility 2026-04-10 11:55:37 +02:00
MartinBraquet
08f61828a9 Refine Checkbox component styles by adding text-sm for consistent text sizing 2026-04-09 13:59:18 +02:00
MartinBraquet
c4a012c4d0 Add notification preferences for platform updates and improve UI for notification settings 2026-04-08 11:02:10 +02:00
MartinBraquet
7c591ca73e Enhance message composer: add minRows support, character count validation, and dynamic placeholder customization 2026-04-05 21:09:09 +02:00
Okechi Jones-Williams
d2c9d12b39 test(e2e): add auth, settings, social and organization page coverage
* Added Database checks to the onboarding flow

* Added compatibility page setup
Added more compatibility questions

* Finished up the onboarding flow suite
Added compatibility question tests and verifications
Updated tests to cover Keywords and Headline changes recently made
Updated tests to cover all of the big5 personality traits

* .

* Fix: Merge conflict

* .

* Fix: Added fix for None discriptive error issue #36
Updated signUp.spec.ts to use new fixture
Updated Account information variable names
Deleted "deleteUserFixture.ts" as it was incorporated into the "base.ts" file

* Linting and Prettier

* Minor cleaning

* Organizing helper func

* Added Google account to the Onboarding flow

* .

* Added account cleanup for google accounts

* Started work on Sign-in tests
Updated seedDatabase.ts to throw an error if the user already exists, to also add display names and usernames so they seedUser func acts like a normal basic user
Some organising of the google auth code

* Linting and Prettier

* Added checks to the deleteUser func to check if the accout exists
Added account deletion checks

* Linting and Prettier

* Added POM's for social and organisation page
Updated settings POM

* Formatting update, fixed homePage locator for signin

* .

* .

* .

* Coderabbitai fix's

* Fix

* Improve test utilities and stabilize onboarding flow tests

* Changes requested

* Seperated deletion tests from onboarding

* Update `.coderabbit.yaml` with improved internationalization guidance and formatting adjustments

* Clean up `.vscode/settings.json` and add it to `.gitignore`

* Add Playwright E2E test guidelines to `.coderabbit.yaml`

* Standardize and improve formatting in `TESTING.md` for better readability and consistency.

* Refactor onboarding flow tests and related utilities; improve formatting and remove redundant tests.

---------

Co-authored-by: MartinBraquet <martin.braquet@gmail.com>
2026-04-04 14:21:40 +02:00
MartinBraquet
b5deefbec1 Enforce text length limits in editor paste handling, adjust API request size limit, and crop excessive content in LLM profile extraction 2026-04-01 13:52:34 +02:00