106 Commits

Author SHA1 Message Date
Nicolas Dorier
54cec83507 Refactor access to the ViewModel of the MainLayout (#6970) 2025-11-01 00:02:11 +09:00
nicolas.dorier
b1cba47adf [Features] Subscriptions 2025-10-28 15:33:23 +09:00
nicolas.dorier
d059dc11a4 Fix flaky test 2025-07-07 10:13:58 +09:00
nicolas.dorier
89bc9a2a2f Do not use HttpContextAccessor in Blazor context 2025-07-04 16:55:40 +09:00
nicolas.dorier
7fdd01d01e Fix flaky CanUsePOSCart 2025-06-13 09:36:31 +09:00
Nicolas Dorier
46aafe7b8d Enable the Charge button on KeyPad when amount is 0 (#6785) 2025-06-11 23:57:40 +09:00
nicolas.dorier
8f3c67b3ee Fix: Custom amount in Product List mode would return error 404 2025-06-11 22:16:24 +09:00
nicolas.dorier
2fa87e33fc Display the keypad's running total more prominently 2025-06-04 12:33:16 +09:00
Nicolas Dorier
5f7a686833 Show tax rate in receipt, adjust keypad display (#6739)
* Show tax rate in receipt, adjust keypad display

* Adjust small nits in the view
2025-05-20 13:31:29 +09:00
Nicolas Dorier
932d313dee Can apply tax rates to PoS items (#6724) 2025-05-19 10:35:46 +09:00
Honza Pobořil
d3359f4c55 Added inputmode="decimal“ to POS Cart app (#6673)
So the iOS will show numpad for this fields.
2025-04-14 08:08:12 +02:00
Dennis Reimann
a9fbba5825 UI: Fix and unify localizer usage for page titles
Issue was caused by duplicate translation through a combination of `StringLocalizer` and `text-translate="true"` usage. Fixes #6622.
2025-03-11 10:54:17 +01:00
nicolas.dorier
d3d6b2d15c Make HtmlTags safer, properly sanitize in the view as well 2025-01-19 11:00:09 +09:00
Nicolas Dorier
92a92a7fff Rename and add to greenfield HtmlTags and HtmlMetaTags for apps (#6557) 2025-01-15 23:48:10 +09:00
Nisaba
2250853b3e HTML lang setting and Head tags for POS and Crowdfund public pages (#6229)
* HTML lang setting and Head tags for POS and Crowdfund public pages

* updates #6229

* updates 6229

* resolve conflict

* updated according to Nicolas' recommendations

* updates #6229

* Add RawMeta method in safe.cs

* ...

* resolve conflicts

* resolve conflict

* resolve conflicts

* Updates as Nicolas request

* updates

---------

Co-authored-by: d11n <mail@dennisreimann.de>
2025-01-15 14:49:25 +09:00
d11n
a8d1f55544 Editor: Use offcanvas for all breakpoints (#6441)
Avoids scrolling the editor out of the viewport. Closes #6436.

Done for the POS/Crowdfund editor, as well as the Forms one.
2024-12-04 15:18:27 +01:00
Dennis Reimann
5cf3819743 Show Invoices link regardless of archival status 2024-11-26 06:52:51 +01:00
Dennis Reimann
f7f3244b3d UI: Move app's invoices link to the top 2024-11-25 18:02:07 +01:00
d11n
8b776ed9e5 POS: Update button icons (#6390)
Adjusts the POS buttons to match what we defined for the app in btcpayserver/app#93.
2024-11-13 07:50:15 +01:00
d11n
ff79a31066 Refactoring: Move AppItem to Client lib and use the class for item list (#6258)
* Refactoring: Move AppItem to Client lib and use the class for item list

This makes it available for the app, which would otherwise have to replicate the model. Also uses the proper class for the item/perk list of the app models.

* Remove unused app item payment methods property

* Do not ignore nullable values in JSON

* Revert to use Newtonsoft types
2024-11-05 11:49:30 +09:00
d11n
a6e18736d6 Keypad updates (#6338)
* Add keypad icons

Closes #6195.

* Keypad JS fixes
2024-10-29 23:44:37 +09:00
d11n
a962e60de9 More Translations (#6318)
* Store selector

* Footer

* Notifications

* Checkout Appearance

* Users list

* Forms

* Emails

* Pay Button

* Edit Dictionary

* Remove newlines, fix typos

* Forms

* Pull payments and payouts

* Various pages

* Use local docs link

* Fix

* Even more translations

* Fixes #6325

* Account pages

* Notifications

* Placeholders

* Various pages and components

* Add more
2024-10-25 22:48:53 +09:00
d11n
77fba4aee3 Add more translations (#6302)
* Newlines

* Dashboard

* Add more translations

* Moar

* Remove &nbsp; from translated texts

* Dictionary controller translations

* Batch 1 of controller updates

* Batch 2 of controller updates

* Component translations

* Batch 3 of controller updates

* Fixes
2024-10-17 22:51:40 +09:00
d11n
272cc3d3c9 POS: Option for user sign in via the QR code (#6231)
* Login Code: Turn into Blazor component and extend with data for the app

* POS: Add login code for POS frontend

* Improve components, fix test
2024-09-26 19:10:14 +09:00
d11n
443a350bad App Service: Validate IDs when parsing items template (#6228)
Validates missing and duplicate IDs on the edit actions and when creating/updating apps via the API.
Fails gracefully by excluding existing items without ID or with duplicate ID for the rest of the cases.

Fixes #6227.
2024-09-26 15:52:16 +09:00
Dennis Reimann
672491c66c UI: Offcanvas fixes 2024-08-20 18:12:32 +02:00
Nicolas Dorier
94760792af Add parts of the UI to translate (#6119) 2024-07-25 22:46:02 +09:00
Nicolas Dorier
50dafd2452 Uniform primary action id's of pages (#6118) 2024-07-25 08:23:28 +02:00
d11n
bc6d037341 POS: Improve padding on mobile and unify card look with tiles (#6088)
On mobile, the description content was lacking horizontal padding. This adjusts it while also unifying the cards to work like the tiles on checkout: Below 400px width, we pull the to the edges of the screen, which makes it looks nicer and display better than as if they'd also have an outer margin.

Adjustments take effect on all POS view variants.
2024-07-11 00:12:58 +09:00
d11n
0f8da123b8 UI: Move section navigation to sidebar (#5744)
* UI: Move section navigation to sidebar

* Scroll active nav link into view

* Move CTAs to top right

* Server Settings: Make Policies first page

* Responsive table fixes

* Spacing fixes

* Add breadcrumb samples

* store settings fixes

* payment request fixes

* updates pull payment title

* adds invoice detail fix

* updates server settings breadcrumbs + copy fix

* Don't open Server Settings on Plugins page

* Add breadcrumbs to pull payment views

* adds breadcrumbs to account

* server and store breadcrumb fixes

* fixes access tokens

* Fix payment processor breadcrumbs

* fixes webhook 404

* Final touches

* Fix test

* Add breadcrumb for email rules page

* Design system updates

---------

Co-authored-by: dstrukt <gfxdsign@gmail.com>
2024-06-19 15:23:10 +02:00
d11n
e5a09cbeaa POS: Don't show free items in print view (#6009)
We cannot generate a proper LNURL response for free items, hence we should not show them in the print view.

Closes #5999.
2024-06-05 22:11:26 +09:00
d11n
fc9d4f96a7 Design system and icon updates for 2.0 (#5938)
* Design system updates

* Icon fix

* Add new icons, replace show/hide

* Icon replacements

* Test fix

* Icon replacements in Vault

* More icon replacements

* Final icon replacements, remove Font Awesome
2024-05-20 08:57:46 +09:00
d11n
4c303d358b Branding updates for 2.0 (#5947)
* Remove deprecated CSS options

Closes #5945.

* Greenfield: Add brandColor to store APIs

Closes #5946.

* Migrate file IDs to URLs

Closes #5953.

* Greenfield: Add CSS and logo URL to store settings API

Closes #5945.

* Add migration test

* Store and Server branding can reference file's via fileid:ID

* Add PaymentSoundUrl to Store API

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2024-05-09 09:18:02 +09:00
d11n
eba3475a1b Theme docs link fix (#5972)
We recently removed the section the anchor links to and we'll remove the links entirely in #5947.
2024-05-08 09:11:04 +09:00
nicolas.dorier
4208110d57 Remove CheckoutV1 2024-04-05 16:58:13 +09:00
Nicolas Dorier
6cc1751924 The Big Cleanup: Refactor BTCPay internals (#5809) 2024-04-04 16:31:04 +09:00
d11n
14f8c73b08 POS: Increase size of quantity buttons (#5877)
Closes #5873.
2024-03-28 09:01:56 +09:00
d11n
1fe766cb16 Keypad: Fix images (#5857) 2024-03-22 15:16:59 +01:00
d11n
09dbe44bca Onboarding: Invite new users on store level (#5719)
* Onboarding: Invite new users

- Separates the user self-registration and invite cases
- Adds invitation email for users created by the admin
- Adds invitation tokens to verify user was invited
- Adds handler action for invite links
- Refactors `UserEventHostedService`
- Fixes #5726.

* Add permissioned form tag helper

* Better way of changing a user's role

* Test fixes
2024-03-19 14:58:33 +01:00
Chukwuleta Tobechi
d0e11f1ec4 changing check box to toggle in various setting views (#5769)
* Resolves: check box to toggle in various setting views

* resolve conflicts

* Notification logic reversal

* remove transform property in the toggle

* Handle email tls certificate check

* Unifications and fixes

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2024-03-14 15:16:48 +01:00
d11n
9b5c8a8254 POS: Add item list to keypad (#5814)
* Add admin option to show item list for keypad view

* Refactor common POS Vue mixin

* Add item list to POS keypad

* Add recent transactions to cart

* Keypad: Pass tip and discount as cart does

* Keypad and cart tests

* Improve offcanvas button

---------

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2024-03-14 11:11:54 +01:00
Andrew Camilleri
e497903bf4 Support Admin being able to view stores (#5782)
* Support Admin being able to view stores

* fix null check

* Delete obsolete empty view

* Add test

* Apply CanViewStoreSettings policy changes

Taken from #5719

* Fix Selenium tests

* Update dashboard permission requirement

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2024-03-14 10:25:40 +01:00
Chukwuleta Tobechi
f1ff913cbe PoS app to show POS view for easy setup (#5825)
* PoS app to show POS view for easy setup

* update selenium test

* Updates

* Add QR code icon

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2024-03-14 08:52:33 +01:00
d11n
22996ea21e UI: Deprecate the custom CSS options (#5735)
* UI: Deprecate the custom CSS options

As discussed with @pavlenex we are deprecating the custom CSS options for particular entities (payemnt request, pull payment, POS, crowdfund) in favor of the store branding approach.

This displays the custom CSS section only if these values are set already.

* Add IDs to html element

This will allow styling of individual entities.
2024-02-23 13:42:00 +01:00
d11n
4ae1046571 Server Settings: Customize instance name and add contact URL (#5718)
* Server Settings: Customize instance name and add contact URL

- The custom instance name would improve #5563
- Added contact URL closes #4806

* Fix custom logo display
2024-02-21 20:54:39 +01:00
d11n
96da7f0322 UI: Form validation summary matches alert style (#5576)
Fixes #5564.
2023-12-21 23:43:12 +09:00
d11n
7066a2a577 Keypad: Show recent transactions only when logged in (#5534)
Fixes #5530. For the use case of giving access to cashiers we need to find another solution than showing the recent transactions for signed out users.
2023-12-04 22:14:37 +09:00
d11n
44b7ed0e6e Store Branding: Refactoring and logo as favicon (#5519)
* Store Branding: Refactoring and logo as favicon

- Encapsulates store branding properties into their own view model
- Uses the logo as favicon on public pages

* Refactorings

* Updates
2023-12-01 16:13:44 +01:00
d11n
bdf56c0a6f Keypad: List recent transactions (#5478)
* Keypad: List recent transactions

Closes #5379.

* UI updates

* Optional: No border

* Fix class

* Decrease keypad max-width
2023-11-30 18:19:03 +09:00
d11n
6d288271cd Unify public page styles (#5462)
Based on #5413 and needs it to get merged first.

- Uses `--wrap-max-width` on `.public-page-wrap` rather than inner `.container` classes
- Applies `.tile` class to boxes and makes them connect to the edge of the screen below `400px` width.
2023-11-21 10:13:26 +01:00