196 Commits

Author SHA1 Message Date
Julien Calixte
0099e51f94 fix(transaction): initialize CurrencyInput with a real currency code
vue-currency-input required a currency code for Intl.NumberFormat;
passing undefined threw inside the mount watcher, leaving the input
without listeners so amount stayed null on submit.

Use CurrencyDisplay.hidden to keep the symbol out of the field since
the currency selector is rendered separately.
2026-06-02 21:24:39 +02:00
Julien Calixte
901f7f4c02 fix(sync): send credentials on cross-origin couchdb requests
PouchDB 8+ ignores the legacy ajax config, so withCredentials had no
effect and the AuthSession cookie was stripped from cross-origin sync
requests. Switch to a fetch wrapper that sets credentials: 'include'
so replication authenticates and pushes local docs to the remote.
2026-06-02 21:23:47 +02:00
Julien Calixte
7c3d34d02e refactor(forms): use arktype schemas for form validation
Replaces imperative validate() blocks in TransactionCreate, signup,
and AccountNew with schema-driven validation. Drops the dead
"(!currency && !date && payFor.length === 0)" branch in
TransactionCreate that was hiding behind the generic error.
2026-06-01 22:17:56 +02:00
Julien Calixte
0fc7118fd4 feat(validation): add arktype form schemas and i18n keys
Introduces field-specific validation messages so toasts name the
exact field and rule that failed instead of a catch-all "tous les
champs sont requis".
2026-06-01 22:17:50 +02:00
Julien Calixte
d61f391203 chore: add arktype dependency 2026-06-01 22:17:44 +02:00
Julien Calixte
360244dc08 refactor(exchange): switch rates API to frankfurter.dev
Drop HRK and RUB from the currency list since frankfurter.dev no longer
publishes them, and request only the rates we need via the symbols param.
2026-06-01 21:47:19 +02:00
Julien Calixte
39accae46e refactor(map): switch reverse geocoding from Bing to Mapbox
Reuse the existing Mapbox token instead of maintaining a separate Bing
Maps key. Note the coordinate order flips to lon,lat for the Mapbox
geocoding endpoint.
2026-06-01 21:47:09 +02:00
Julien Calixte
029fbae471 chore(deploy): add Dockerfile and nginx config for Coolify SPA hosting
Multi-stage build: node:22-alpine + pnpm builds, nginx:1.27-alpine
serves. VITE_* env vars are passed as build args because Vite inlines
them into the JS bundle at build time. nginx config does SPA fallback,
caches /assets/* immutably, and forces no-store on sw.js/index.html so
PWA updates propagate.
2026-06-01 21:41:21 +02:00
Julien Calixte
31ac3ba8ee migration 2026-06-01 21:38:24 +02:00
Julien Calixte
1ee1430e30 docs(readme): document pnpm + Vite workflow
Replaces the Vue CLI / npm commands with pnpm dev/build/typecheck/lint
and lists the VITE_* env vars the new code expects.
2026-06-01 21:03:41 +02:00
Julien Calixte
d4dab8c03f feat!: rewrite frontend in Vue 3 with Pinia, DaisyUI, vite-plugin-pwa
Migrates every component from class-based vue-property-decorator to
<script setup> + Composition API. Replaces Vuex 3 + vuex-class with a
single Pinia store (persisted via pinia-plugin-persistedstate). Swaps
Bulma + bulma-{checkradio,switch,pricingtable} for DaisyUI 5 utilities
on Tailwind 4. Replaces register-service-worker with vite-plugin-pwa
(workbox, skipWaiting/clientsClaim preserved).

Plugins replaced:
- vue-class-component / vue-property-decorator -> <script setup>
- vuex / vuex-class / vuex-persist -> pinia + persistedstate
- vue-i18n 8 -> vue-i18n 11 (composition mode, legacy: false)
- vue-click-outside -> @vueuse/core onClickOutside
- @xkeshi/vue-qrcode -> qrcode.vue
- vue-currency-input 1 -> vue-currency-input 3 (composable wrapper)
- bus-event (Vue instance) -> mitt
- Vue filters -> plain functions imported per component

BREAKING: drops Stripe / pricing entirely (Payment, PricingTable,
/pricing route, vue-stripe-checkout, bulma-pricingtable).

Clears unused Cypress and Jest test scaffolding; leaves a Vitest
harness behind for future tests.
2026-06-01 21:03:34 +02:00
Julien Calixte
f6a518a43d chore(build): adopt Vite, pnpm, ESLint flat config; drop Vue CLI
Replaces Vue CLI 4 with Vite 7 + @tailwindcss/vite + vite-plugin-pwa,
yarn with pnpm, tslint with ESLint 9 flat config, and Jest with Vitest.
Drops Netlify deploy config and the dead FontAwesome npm token.

Bumps the entire dependency surface: Vue 3.5, Pinia 2, vue-router 4,
vue-i18n 11, Tailwind 4, DaisyUI 5, TypeScript 5.7, axios 1.x,
mapbox-gl 3.x, date-fns 4.x, uuid 11.x, pouchdb-browser 9.x.
2026-06-01 21:03:09 +02:00
Julien Calixte
37019b655a chore(deps): migrate from node-sass to dart-sass
node-sass is deprecated and its native bindings fail to build on
recent Node versions. Replace with the maintained `sass` package and
bump sass-loader to v10 (last major supporting webpack 4).
2026-06-01 18:42:05 +02:00
Julien Calixte
639429e18b refactor(icons): replace FontAwesome with Tabler Icons
Drop the three @fortawesome/* packages (v5, with a stagnant Vue 2
binding) in favor of @tabler/icons-webfont. The old <awe-icon>
wrapper is replaced by <vaquant-icon>, named after the project so
future icon-library swaps don't require another rename.
2026-06-01 18:33:58 +02:00
Julien Calixte
5fe9905df7 Merge pull request #8 from jcalixte/dependabot/npm_and_yarn/ini-1.3.8
⬆️ Bump ini from 1.3.5 to 1.3.8
2020-12-13 20:46:10 +01:00
dependabot[bot]
48a6ab9012 ⬆️ Bump ini from 1.3.5 to 1.3.8
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-12 13:40:27 +00:00
d764a817da 🐛 (transaction) set default locale 2020-08-29 14:54:32 +02:00
12e33cf1de 🔊 (transaction) display variables for debug transaction creation 2020-08-29 14:29:35 +02:00
a041b0fa48 🐛 (transaction) display pay for 2020-08-29 12:18:45 +02:00
8bb47289c7 🐛 (transaction) init transaction date 2020-08-27 23:04:00 +02:00
8860925b76 (date-fns) 2020-08-27 23:03:45 +02:00
9fadd24b8c 🐛 (transaction list) add timestamp to transaction date 2020-08-27 22:21:04 +02:00
8d498b57e5 🐛 (transaction) pay by is mandatory 2020-08-27 22:12:40 +02:00
64a781e761 💄 (fab) fix padding right 2020-08-27 21:54:33 +02:00
b94f66274a (transaction tag) add drink tag! 2020-08-27 21:44:39 +02:00
57c87fa40b 🐛 (transaction) try to fix focus on validating 2020-08-25 22:35:46 +02:00
d6e07dcc01 ♻️ (account) set account id in store when public 2020-08-25 21:44:01 +02:00
35530ab264 🐛 (transaction) init location to null 2020-08-25 21:36:11 +02:00
f4f54a0b33 🐛 (account) init live for public account created 2020-08-25 21:12:56 +02:00
06eb76cece 🐛 (account card) remove unecessary link 2020-08-25 21:12:32 +02:00
e974facc28 🐛 (sync) init sync if online 2020-08-25 20:58:56 +02:00
5191d2e32c 🐛 (transaction) fix notif in transactions 2020-08-25 20:37:21 +02:00
16d0e9dcb0 💄 (tag) better agencement 2020-08-25 20:07:31 +02:00
95e3b1ec3e 🌐 (login) all lower case 2020-08-23 12:26:26 +02:00
45de1d2ec6 (share) add error notif if the account doesn't exist 2020-08-23 12:21:43 +02:00
9e006a16dc 🐛 (share) go to account after first sync 2020-08-23 12:08:12 +02:00
7819c762fb Merge branch 'master' of github.com:jcalixte/vaquant 2020-08-23 11:58:55 +02:00
e3d0bd1008 🐛 (share) fix share url 2020-08-23 11:56:34 +02:00
Julien Calixte
9c4ff51a66 Merge pull request #4 from jcalixte/dependabot/npm_and_yarn/lodash-4.17.19
⬆️ Bump lodash from 4.17.15 to 4.17.19
2020-08-12 14:01:04 +02:00
Julien Calixte
69f705caee Merge pull request #5 from jcalixte/dependabot/npm_and_yarn/elliptic-6.5.3
⬆️ Bump elliptic from 6.5.2 to 6.5.3
2020-08-12 09:13:44 +02:00
dependabot[bot]
c6f4027ef7 ⬆️ Bump elliptic from 6.5.2 to 6.5.3
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-08-01 20:22:53 +00:00
dependabot[bot]
7fdcb1851d ⬆️ Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-20 06:07:00 +00:00
1d88fe66ef 🔧 (pwa) revert display to standalone
it looks weird on android otherwise
2020-06-30 23:01:53 +02:00
6933601977 💄 (account card) fix account card disposition in account grid 2020-06-21 14:59:58 +02:00
Julien Calixte
71e68daf48 🔧 (pwa) test minimal-ui display 2020-05-21 07:16:38 +02:00
da5d518e90 fix style for transaction item 2020-05-20 13:18:37 +02:00
3508a75c6a remove obsolete css rules for notyf 2020-05-20 13:10:00 +02:00
f764af4220 fix css.gg import 2020-05-20 13:03:51 +02:00
Julien Calixte
7414608ed8 🎨 (account card) better color contrast 2020-04-25 01:06:05 +02:00
Julien Calixte
8698d94acb 🐛 (account) fix share container margin 2020-04-25 01:05:47 +02:00