Files
crowd-fund-web/.github
76b244092d chore: sync main to develop (#484)
* implement getActive method for active banners

* render active banners

* update handleDateSelect to match current system time

* add translation keys for banners

* format

* feat: improve project prop passing to RewardsModal

* fix: code style issues by eslint

* feat: remove legacy apis from RewardCard

* chore: prettier run

* fix: clean RewardsCard of legacy code

* fix: make RewardsModal work changes on local state draft var

* feat: add image upload modal for campaign cover

* change filter handle for q

* add user accounting and integrate charges in user details

* feat: show total collected

* fix: use q filter

* format

* add financial details and recent charges to user details row

* add missing translation keys for user details

* fix/admin-projects

* format

* refactor: update project translations

* unify status keys in table and API format

* update translation key name to inputLabel, use library Button component

* update use "EUR"

* use SDK path constants and dynamic currency in fetchTotalEarned

* format

* use PUBLIC_DEFAULT_CURRENCY

* remove duplicate getCurrencySymbol

* feat: add home highlights page

* fix: admin nav active state, sidebar scrollbar and home banner wrapper

* chore: format

* fix: persist banner dismissal in a cookie

* fix: make banner close button circular

* fix: use formatCurrency for money values

* fix: normalizer banner start/end dates

* fix: date greaterThan key

* extract HomeBanners

* chore: update dependencies

* fix: solve PR mistakes

* fix: solve PR mistakes

* refactor: convert HomeBanners to svelte

* New translations es.json (Catalan)

[ci skip]

* New translations es.json (English)

[ci skip]

* New translations es.json (Catalan)

[ci skip]

* New translations es.json (English)

[ci skip]

* fix: avoid rendering empty helper space in TextInput

* refactor: reward modal new design with new aside feature and mobile resposiveness

* refactor: unify reward cards into shared library Reward component

* fix: make public rewards grid responsive

* refactor: move register and login i18n keys under pages.checkout

* feat: add checkout register page

* refactor: remove legacy auth register page and form

* fix: unify territory inputs into TerritoryInput

* fix: restore banner dismissal in HomeBanners

* fix: update translation keys of validation for required fields

* fix: pass draft instead of Project to Rewards step

* feat: add validation to rewards modal

* fix: code style issues

* feat: allow FileUpload component to accept helperText and error

* feat: implement validation for reward cover file upload

* fix: solve PR mistakes

* fix: make TextArea onInput give text value

* feat: implement validation on rewards modal

* fix: bad prop passing to RewardsCard.svelte

* fix: update rewards step after reward created

* fix: restore cards for each reward

* feat: add accounting owner resolver and badge component

* refactor: use AccountingOwnerBadge in charges table

* refactor: use AccountingOwnerBadge in filter tags and composer

* chore: remove unused map props from FilterTagsConfig

* fix: remove console logs on banners repo

* fix: no-op of date normalization previous to action call

* feat: get closed banners as soon as component loads client-side

* fix: code style issues by prettier

* fix: handle error on banner creation

* fix: match RichTextEditor text styles to rendered campaign text

* fix: unify modal validation messages

* fix: remove weird border from deletemodal bottom sections

* feat: handle writing and deleting of existing rewards

* New translations es.json (English)

[ci skip]

* feat: mutability of existing rewards in RewardsStep

* refactor: unify filter composer selection

* feat: add highlights DB schema, repository and actions

* feat: connect admin panel to highlights repository and actions

* feat: render homepage highlights from database config

* refactor: use baseUrl option for relay calls

* chore: replace modal backdrop hex with overlay token

* feat: add admin home hero section

* chore: pnpm run

* fix: import RequestOptions from generated client

* chore: pre-bundle app deps discovered at render time

* Implement CheckoutCartItem component

* use CheckoutCartItem in checkout cart

* add i18n labels

* add project cover to CheckoutCartItem

* align MinusIcon size whith PlusIcon

* format

* chore: update SDK

* feat: spearhead budget step restoration

* fix: use project ids and keep highlight history, search via relay

* fix: change project_id table property type

* chore: format code with prettier

* New translations es.json (English)

[ci skip]

* New translations es.json (Catalan)

[ci skip]

* fix: leave TextInput as it was originally

* fix: avoid using template string for formatCurrency function, remove Platoniq's VAT specific message and add TO-DO

* feat: update wrangler environments

* chore: update worker types

* fix: disable Astro's default session handling

* use SDK zod  schema in 'checkout/Register'

* fix: define names of each worker env

* rename Email input errorMessage prop to error

* remove duplicate register submit i18n key

* Sometimes it feels like the entire JavaScript ecosystem breaks things for no single fucking reason at all, just because they think it is funny or because if they didn't then they would have to actually ship stuff instead of constantly feeding hype of what-is-about-to-come, they keep re-inventing the wheel like they are Robert Moses adding lanes to fix traffic, backwards-compatibility is a joke that only gets respected on the shittiest pieces of the ecosystems. I hate JavaScript.

* chore: reuse common.remove in DropdownMenu

* format

* feat: add db migrations to deploy script

* use reward cover over project cover in CheckoutItem

* chore: pnpm format

* fix: seed --header-height before first paint

* fix: bugs in register action

* feat: refactor private area OwnedProjectsSection with 4 tabs

* feat: allow hiding font size and alignment in RichTextEditor

* refactor: narrow action errors with isInputError

* feat: serve home hero content from D1

* New translations es.json (English)

[ci skip]

* New translations es.json (Catalan)

[ci skip]

* hotfix: bad db name for db: scripts in package.json

* fix: solve PR mistakes

* feat: convert Hero to Svelte and seed default hero image

* fix: bad DeleteModal usage

* fix: code style issues by prettier

* feat: let filter subjects declare their referent component

* fix: disabled input label no longer lets the border show through

* fix: dangling merge conflicts

* fix: blank newline at end of es.json

* New translations es.json (English)

[ci skip]

* New translations es.json (Catalan)

[ci skip]

* feat: status-based cards and funding tab in owned projects section

* fix: format code with prettier

* fix: update Reward cards

* feat: update SDK with non-optional project for ProjectBudgetItem

* feat: send new budget items to API

* feat: add simple landing page with Astro for /admin

* refactor: centralize admin nav sections

* chore: format code with prettier

* fix: calc money for budgets after updates

* feat: restore save/delete operations of AdminBudgetCard

* feat: rename AdminBudgetCard to BudgetCard

* feat: actionable continue button in checkout pages

* New translations es.json (English)

[ci skip]

* New translations es.json (Catalan)

[ci skip]

* feat: empty state in Carousel component, Button href support and CTACard dark variant refactor + use Button component with its kinds

* fix: update astro and cf adapter versions to fix deep-bug in hydration chain

* feat: add per-tab empty state messages to owned projects section

* fix: bad color title

* fix: code style issues by prettier

* feat: validate tax id format by issuing country in register

* New translations es.json (English)

[ci skip]

* New translations es.json (Catalan)

[ci skip]

* feat: add admin link to user dropdown

* refactor: improve admin landing cards

* chore: review client directives on Svelte islands

* fix: address review on tax id validation

* fix: show empty state and loader instead of flashing empty message (now correct hasItems var)

* fix: use domain.carousel.empty key for carousel empty message

* docs: add Carousel story

* fix: pin astro and cf adapter to avoid dev server OOM

* chore: pin workerd inspector port to 9229

* feat: functional collaborations CRUD in project draft with zod validation

* feat: remove dependency on cypress

* feat: enable collaborations step in project draft wizard

* feat: remove cypress config

* feat: remove cypress tests

* feat: remove eslint-plugin-cypress

* feat: remove dangling cypress config and pipeline references

* feat: remove cypress references in docs

* chore: pnpm format

* New translations es.json (English)

[ci skip]

* New translations es.json (Catalan)

[ci skip]

* fix: pass explicit emptyMessage to Empty story so it renders in Storybook

* fix: make mounted state reactive so empty message renders in Carousel

* feat: add floating label support to RichTextEditor and use it in project modals

* chore: comment donation certificate UI in open-core

* chore: remove donation certificate i18n keys and assets

---------

Co-authored-by: Angel Di Pinto <angel.dipinto@platoniq.net>
Co-authored-by: Pep Villalonga <pep.villalonga@platoniq.net>
Co-authored-by: OlivierSchulbaum <dev@goteo.org>
Co-authored-by: Dayv1dDev <david.moreno@platoniq.net>
Co-authored-by: David Moreno Cámara <139916751+Dayv1dDev@users.noreply.github.com>
2026-09-18 15:10:10 +02:00
..