514 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
9e036835bb Make referral links editable: add input field for customization, update share button and QR code to reflect changes dynamically. 2026-07-29 16:48:40 +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
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
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
01af701ab6 Add useScrollRestoration hook: preserve scroll position on back navigation and enhance router behavior for consistent user experience. 2026-07-28 16:02:06 +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
c999ed4786 Improve navigation history handling: restore scroll on back navigation by stamping initial history entry and prevent duplicate route tracking. 2026-07-28 02:31:24 +02:00
MartinBraquet
fd4276e19e Refactor press page: centralize locale logic with useDateLocale and optimize date formatting for hydration safety. 2026-07-28 02:14:27 +02:00
MartinBraquet
26f086ce14 Solid re-design of home / about / profile / press pages 2026-07-28 02:06:51 +02:00
MartinBraquet
a091c7ad88 Add CHANGELOG.md and integrate user-facing release notes with technical details into release.sh and /news page. Enhance /news with collapsible technical sections and improve localization. 2026-07-27 01:26:14 +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
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
e218fe4aa8 Update empty state subtitle for notifications with new text clarifying triggers and announcements 2026-07-26 12:52:17 +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
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
bf4c1460af Update Twitter description meta tag to use OG_DESCRIPTION constant for consistency 2026-07-24 21:04:11 +02:00
MartinBraquet
381a6a0b7a Standardize meta descriptions by introducing OG_DESCRIPTION constant 2026-07-24 20:28:20 +02:00
MartinBraquet
9ab38056ab Update app description to emphasize directory features and ad-free experience 2026-07-24 20:11:44 +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
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
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
8d66e324e8 Redesign and enhance About page layout and content
- Updated `VoteEvidence` and `NotifySpotlight` components with improved layouts, scaling, and responsiveness.
- Added live mobile sharing button leveraging the Web Share API on supported devices.
- Simplified and modernized repo activity metrics, introducing display floors and "last updated" live ping messaging.
- Improved German and French translations for new and existing components.
- Removed outdated or redundant components and feature cards for cleaner structure and focus.
- Refined media handling, accessibility, and content ordering for better usability and readability.
2026-07-23 16:18:31 +02:00
MartinBraquet
46cd312b9a Add user reporting functionality to message channels
- Introduced the ability to report users directly from the message channel menu.
- Added `ReportUser` modal for selecting and reporting specific users.
- Updated icon usage and adjusted supporting logic in the `[channelId].tsx` file.
2026-07-23 14:18:36 +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
e2f49c6090 Fix 2026-07-11 11:24:53 +02:00
MartinBraquet
bd19aa6e7a Fix: update SEO logic to handle disabled or member-only profiles 2026-07-11 11:24:07 +02:00
MartinBraquet
797e125822 Add loading animation for user profile page when current user is undefined 2026-07-11 00:48:51 +02:00
MartinBraquet
860cac1fd1 Add nice compass loading animation 2026-07-05 22:18:47 +02:00
Okechi Jones-Williams
6d2f5fc4d6 Fix for issue #58 (#60) 2026-06-13 14:37:05 +02:00
Okechi Jones-Williams
8b93251710 [Fix] Fix for issue #54 (#59)
* Fix for issue #54

* Linting and Prettier
2026-06-12 13:47:29 +02:00
MartinBraquet
98ef626455 DRY and improve sign in/up design 2026-06-09 00:02:54 +02:00
MartinBraquet
558fdfbca4 [Fix] Handle the back button on mobile when returning to the startup page 2026-06-07 20:23:22 +02:00
MartinBraquet
e85be4e029 [Fix] Call get-membership-channel only once per path name 2026-06-06 20:21:48 +02:00
MartinBraquet
c90f9c7180 Fix back button sometimes failing on Android 2026-06-06 19:23:59 +02:00
MartinBraquet
9b4e9dd9b1 Improve emoji design for stats 2026-06-03 17:35:21 +02:00
MartinBraquet
e714c523bb Improve emoji design 2026-06-03 16:30:22 +02:00
MartinBraquet
e2367d4372 Improve ban message 2026-05-31 12:06:40 +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
6f412e60bf Add loading profile skeleton 2026-05-28 17:19:00 +02:00
MartinBraquet
806e9f358a Add loading indicator with timeout for ProfilesPage while user data is being fetched 2026-05-23 19:46:02 +02:00
MartinBraquet
1adad6fde5 Add loading indicator to ProfilesPage while user data is being fetched 2026-05-23 19:35:50 +02:00
MartinBraquet
cd5d581e63 Simplify user page error handling: consolidate account deletion and profile not found states into a single fallback component 2026-05-10 13:34:45 +02:00