* fix: make home hero text required and media optional
* fix: hero start-only scheduling, prefilled form and history with delete
* feat: add hero preview modal to admin form and fix icon home
* fix: default home hero timestamps to current date
* feat: preview hero from history rows in a modal
* fix: accept local hero urls and reload after save
* feat: admit localized content for home hero, base language and translations
* feat: add itemClass to override DropdownItem classes
* chore: format code with prettier
* feat: allow hero translations in any language with a searchable picker
- Searchable picker fed by the full ISO 639-1 catalog, not limited to UI locales
- No base language: the platform language only seeds the form and can be
removed once a second language exists
- Locale pattern validation in createHomeHero
- LanguagesDropdown controlled from the parent
- Chosen label shown in the picker input
- es.json hero keys
* fix: bind all 11 home_hero columns when storing a hero
The previous merge left 10 placeholders for 11 columns, so creating a hero row was failing.
* fix: drop unused TranslationRecord interface
* chore: format code with prettier
* feat: add updateHomeHero to overwrite a stored hero
* feat: preview heroes in any of their languages
* feat: validate title and content in every selected language
* feat: overwrite a hero from the history
* fix: rename admin home hero tabs
* chore: format code with Prettier
---------
Co-authored-by: Pep Villalonga <pep.villalonga@platoniq.net>
* feat: add shared profile manage components and utilities
* feat: add me section navigation and route restructuring
* feat: add personal/public profile forms with validation and actions
* chore: format code with prettier
* refactor: consolidate public profile action
* fix: remove public data from personal profile form
* fix: split public / private info forms
* fix: stale user handle, non-floating toasts
* feat: improve preferred language
* fix: remove non-necessary "Goteo" mentions
* fix: code style issues by eslint and prettier
---------
Co-authored-by: Daniel Subiabre <daniel.subiabre@platoniq.net>
* chore: move RiskCard, ChatMessage and ChatTextarea components to /components/review
* feat: add review domain types, mocks and services
* feat: expose review actions and open reviews routes
* feat: build review areas and chat screens
* fix: navigate from BackButton links
* chore: remove review temporary CTA from home
* chore: format code by prettier
* fix: show owned projects in profile promoted tab and move donated ones to donor type
* fix: prefer project cover and build owner IRI from operation path
* chore: remove Platoniq deploy infra for open core
* feat: make share widget host configurable via PUBLIC_WIDGET_URL
* fix: build widget link from current host
* docs: update README and drop deploy pipeline references
* feat: add project manage page for owners and admins
* fix: widen claim status columns and add bottom padding
* feat: add user search and CSV export to manage tables
* fix: address review on project manage page
* feat: show non-anchored toasts floating at bottom-right
* refactor: extract shared debounce util
* fix: project search in admin highlights
* fix: add save feedback, cover images and 84px cells to highlights
* fix: show selection and empty state in basic dropdown
* docs: update SKILL-template to current codebase (#507)
* docs: update SKILL-template to current codebase
* fix: remove unnecesary check command alias
* fix: update SDK regen command from `openapi` to `sdk`
* fix: indentation on command table
---------
Co-authored-by: Daniel Subiabre <daniel.subiabre@platoniq.net>
* feat: Improve footer config (#508)
* feat: hide footer funding section if empty
* feat: update footer social link type
* fix: move footer data out of ad-hoc lone config folder
* fix: code style issues by eslint and prettier
* chore: import zod from zod package in actions (#506)
* feat: show user avatar in header (#505)
* Feat/implement reward claims (#471)
* create RewardClaims after payment
* replace ClearCart with RewardClaims
* mount RewardClaim on payment verification
* format
* match charges by fields and order to avoid duplicate claims
* guard RewardClaims whit allSucceeded, soft-delete carts via finalised flag
* format
* feat: add POST /api/checkout/rewardClaims endpoint
* refactor: make RewardClaims.svelte a thin client that submit the cart
* fix: pass checkoutId into the verified-checkout reward claims flow
* fix: format
---------
Co-authored-by: Angel Di Pinto <angel.dipinto@platoniq.net>
* Feat/refactor activity section (#480)
* refactor ActivitySection (DonationsCard-MatchfundingCard-ProjectsCart)
* format
* refactor: apply DonationsCard (ld+json totals, batch slug[], money_total)
* refactor: ProjectsCard (ld-json totals, async, remove lang)
* refactor: MatchfundingCard (drop lang prop)
---------
Co-authored-by: Angel Di Pinto <angel.dipinto@platoniq.net>
* feat: implement promoter public profile form in /me/manage (#495)
* feat: implement promoter public profile form in /me/manage
* feat: add view profile button to /me/manage
* feat: persist social links and fix profile PATCH
* fix: load current user in /me/manage so social links show up
* fix: use design social icons on user profile
* feat: accept username or link in profile social fields
* fix: always send links on profile update so they are not cleared
* Fix: admin highlights save (#511)
* fix: cast highlight slot project ids to integer
* fix: drop highlight slots outside selected layout on save
* feat: add link, lists and quote to RichTextEditor with opt-out toolbar props (#509)
* feat: add link, lists and quote to RichTextEditor with opt-out toolbar props
* feat: add heading select to RichTextEditor and close link popover on outside click
* refactor: simplify search page state (#510)
* refactor: simplify search page state
* fix: update naming convention examples
---------
Co-authored-by: Daniel Subiabre <daniel.subiabre@platoniq.net>
* Feat/user preferences manage screen (#496)
* Render ManagePreferencesSection in /me/manage
* add ManagePreferencesSection component
* add manage preferences i18n key to es.json
* add manage preferences i18n keys
* add ManagePreferencesSection with form, language cookies and PATCH
* add dedicated /me/menege/preferences route
* link preferences screen from /me/manage sidebar
* fix: remove pointless user PATCH, adopt twMerge
---------
Co-authored-by: Angel Di Pinto <angel.dipinto@platoniq.net>
---------
Co-authored-by: Pep Villalonga <pep.villalonga@platoniq.net>
Co-authored-by: angeldipinto <72363089+angeldipinto@users.noreply.github.com>
Co-authored-by: Angel Di Pinto <angel.dipinto@platoniq.net>
* feat: add link, lists and quote to RichTextEditor with opt-out toolbar props
* feat: add heading select to RichTextEditor and close link popover on outside click
* feat: implement promoter public profile form in /me/manage
* feat: add view profile button to /me/manage
* feat: persist social links and fix profile PATCH
* fix: load current user in /me/manage so social links show up
* fix: use design social icons on user profile
* feat: accept username or link in profile social fields
* fix: always send links on profile update so they are not cleared
* create RewardClaims after payment
* replace ClearCart with RewardClaims
* mount RewardClaim on payment verification
* format
* match charges by fields and order to avoid duplicate claims
* guard RewardClaims whit allSucceeded, soft-delete carts via finalised flag
* format
* feat: add POST /api/checkout/rewardClaims endpoint
* refactor: make RewardClaims.svelte a thin client that submit the cart
* fix: pass checkoutId into the verified-checkout reward claims flow
* fix: format
---------
Co-authored-by: Angel Di Pinto <angel.dipinto@platoniq.net>
* feat: hide footer funding section if empty
* feat: update footer social link type
* fix: move footer data out of ad-hoc lone config folder
* fix: code style issues by eslint and prettier
* docs: update SKILL-template to current codebase
* fix: remove unnecesary check command alias
* fix: update SDK regen command from `openapi` to `sdk`
* fix: indentation on command table
---------
Co-authored-by: Daniel Subiabre <daniel.subiabre@platoniq.net>
* refactor: extract shared debounce util
* fix: project search in admin highlights
* fix: add save feedback, cover images and 84px cells to highlights
* fix: show selection and empty state in basic dropdown
---------
Co-authored-by: Pep Villalonga <pep.villalonga@platoniq.net>