109 Commits

Author SHA1 Message Date
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
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
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
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
ec13ea5888 Set showPhotos default to true in display options logic 2026-06-20 19:33:51 +02:00
MartinBraquet
e85be4e029 [Fix] Call get-membership-channel only once per path name 2026-06-06 20:21:48 +02:00
MartinBraquet
baf006a53b Fix use api getter caching 2026-06-06 20:11:08 +02:00
MartinBraquet
a9825ed06d Hide compatibility questions card if empty 2026-06-04 17:20:32 +02:00
MartinBraquet
fc783b9ab7 Clarify user assignment in profile-info.tsx and remove unused refreshProfile prop from ProfileCarousel. 2026-05-10 14:27:22 +02:00
MartinBraquet
4f1e69c711 Replace usePromptSigninIfSignedOut with useRedirectIfSignedOut for streamlined signin handling and remove the unused hook 2026-04-09 13:23:55 +02:00
MartinBraquet
518af3b3da Implement usePromptSigninIfSignedOut hook and enhance signin flow with redirect path support 2026-04-09 12:22:06 +02:00
MartinBraquet
ff23a8c1bc Wrap useProfile with ProfileProvider and refactor to use React Context 2026-04-02 15:00:48 +02:00
MartinBraquet
0cb6226643 Refine theme handling with dark mode support and update UI styles accordingly 2026-03-31 15:10:37 +02:00
MartinBraquet
a31765b7ae Refactor profile and form submission logic to support partial updates and improve type handling 2026-03-31 13:41:24 +02:00
MartinBraquet
2c04b2a6aa Add user dependency to refreshPinnedQuestionIds in PinnedQuestionIdsProvider 2026-03-21 21:08:07 +01:00
MartinBraquet
bdafa43472 Add pinned compatibility questions feature with backend support and UI integration 2026-03-19 17:00:34 +01:00
MartinBraquet
d3634d8b1c Move interestChoices to app context to fix db blast 2026-03-13 14:35:20 +01:00
MartinBraquet
3de6adae2e Refine cards and allow users to toggle each card field ON or OFF 2026-03-12 00:36:36 +01:00
MartinBraquet
54ce5891f6 Add card size selector 2026-03-11 17:40:28 +01:00
MartinBraquet
3d56bb4fe0 Clear logs 2026-03-10 23:48:14 +01:00
MartinBraquet
9808b4a2e7 Clean display 2026-03-10 20:19:05 +01:00
MartinBraquet
dbf12a2ab2 Fix zod types and unseen icon not showing 2026-03-10 16:22:44 +01:00
MartinBraquet
9e58e12013 Encrypt early messages that were sent before AES encryption got implement 2026-03-10 00:39:04 +01:00
MartinBraquet
6f45c03a29 Show number of answers and community importance on prompts 2026-03-09 19:24:32 +01:00
MartinBraquet
24d2fe9c32 Sort compat prompts by community importance and answer count 2026-03-09 02:27:10 +01:00
MartinBraquet
6c54a9adf0 Add option to view pics on profile cards 2026-03-08 17:38:43 +01:00
MartinBraquet
13f103a3ca Hide logs in prod 2026-03-08 01:17:00 +01:00
MartinBraquet
d8a39f7101 Clean 2026-03-07 15:59:42 +01:00
MartinBraquet
3a0712c193 Fix messaging pagination and scrolling 2026-03-07 15:40:51 +01:00
MartinBraquet
1165927337 Fix get message being called for each convo 2026-03-07 13:21:36 +01:00
MartinBraquet
2825ded7c0 Clean 2026-03-06 00:55:36 +01:00
MartinBraquet
69161612f6 Get firebase User even if user/privateUser not set 2026-03-06 00:38:40 +01:00
MartinBraquet
f854476614 Get api call 2026-03-06 00:20:04 +01:00
MartinBraquet
5f32e5d025 Fix profile not found on some signup 2026-03-05 17:51:25 +01:00
MartinBraquet
dcacf98ea3 Collapse the 3 onboarding API calls into 1 2026-03-04 15:22:36 +01:00
MartinBraquet
0d8d81e09c Fix typecheck 2026-03-01 17:15:28 +01:00
MartinBraquet
579ed6de7c Use logger debug 2026-03-01 04:05:14 +01:00
MartinBraquet
b030dd1a52 Improve naming 2026-03-01 01:48:10 +01:00
MartinBraquet
8548b85d03 Fix local storage read (now with ttl attached) 2026-02-28 01:45:12 +01:00
MartinBraquet
1722cb531f Add TTL support to persistent cache hook 2026-02-27 14:59:39 +01:00
MartinBraquet
b710fa9f60 Finish notif translations 2026-02-23 23:49:51 +01:00
MartinBraquet
f70a74d20e Upgrade eslint to v9 2026-02-23 14:48:03 +01:00
Martin Braquet
ba9b3cfb06 Add pretty formatting (#29)
* Test

* Add pretty formatting

* Fix Tests

* Fix Tests

* Fix Tests

* Fix

* Add pretty formatting fix

* Fix

* Test

* Fix tests

* Clean typeckech

* Add prettier check

* Fix api tsconfig

* Fix api tsconfig

* Fix tsconfig

* Fix

* Fix

* Prettier
2026-02-20 17:32:27 +01:00
MartinBraquet
5e3c10d26a Fix /get-channel-memberships and /get-channel-seen-time called all the time 2026-02-19 14:41:11 +01:00
MartinBraquet
27e93da06a Make answers to compatibility prompts searchable 2026-02-19 14:11:22 +01:00
MartinBraquet
cf843f66c4 Refactor measurement system imports and enhance filter formatting 2026-02-19 01:30:59 +01:00
MartinBraquet
cb98314bec Add metric vs imperial switch 2026-02-19 01:00:58 +01:00
MartinBraquet
dbdaa9d7ec Remove unused useIsPageVisible hook and adjust event fetching to only occur on initial mount 2026-02-18 20:14:04 +01:00
MartinBraquet
46082c5f64 Add events page 2026-02-18 18:34:18 +01:00
MartinBraquet
07ce2780c6 Refactor user profile handling by removing deprecated fields and improving link management 2026-02-17 22:02:47 +01:00