nobswebdev
9cd7059928
Expose blog image URLs on admin API and fix storefront card layout.
...
Map storage keys to public paths in BlogPostsService responses so the CMS can resolve uploads consistently, and wrap blog card thumbnails in a fixed aspect-ratio container.
2026-09-16 19:46:11 +02:00
nobswebdev
9c7b8470d3
Add dedicated blog image upload config separate from product thumbs.
...
Introduce MULTER_BLOG_IMAGE_* and VITE_BLOG_IMAGE_* env vars with backend multer helper and CMS config wiring for prod builds.
2026-09-16 19:13:23 +02:00
nobswebdev
e5eb773404
Use descriptive required-field validation messages in CMS forms.
...
Replace generic "Required" copy with field-specific messages for product, variant, and digital stock forms.
2026-09-16 16:58:13 +02:00
nobswebdev
0cd7158f7d
Align CMS title fallbacks and mutation error handling.
...
Add blog post untitled helper, use product title helper in order views, and surface API validation messages on product save/delete.
2026-09-16 16:20:52 +02:00
nobswebdev
09ad236cb9
Drop explicit empty alt attributes from storefront-image call sites.
...
Decorative thumbnails rely on the partial default instead of repeating alt='' at each call site.
2026-09-16 13:57:21 +02:00
nobswebdev
a3d1842fb3
Add storefront blog pages with nav, templates, and SEO meta.
...
Wire blogEnabled into shop render locals and expose public blog index and detail routes when the shop toggle is on.
2026-09-16 13:55:12 +02:00
nobswebdev
73f7ffed00
Expose blog toggle via shop settings API and storefront branding.
...
Add PATCH /shop-settings/blog-enabled and surface blogEnabled in ShopSettingsView and StorefrontBranding.
2026-09-16 11:48:59 +02:00
nobswebdev
abe6208e4e
Add blog thumbnail and banner upload endpoints with storage keys.
...
Store image filenames in DB, resolve paths for cleanup on replace/delete, and reuse product-thumb multer limits.
2026-09-16 11:40:05 +02:00
nobswebdev
d38def2302
Add blog post admin CRUD API.
...
Expose JWT-protected /blog-posts endpoints for draft creation, listing, update, and delete.
2026-09-15 20:22:49 +02:00
nobswebdev
92ccbec545
add blog post title validation config
2026-09-15 20:05:25 +02:00
nobswebdev
40bf16c03e
Add blog schema with BlogPost entity and shop blog toggle.
...
Introduces blog_posts table and blogEnabled on shop_settings for optional storefront blog.
2026-09-15 19:36:30 +02:00
nobswebdev
54ec6edd0d
remove reduced motion styling
2026-09-14 15:59:53 +02:00
nobswebdev
8372c30e40
Merge pull request 'Slave/add minimal js' ( #8 ) from slave/add-minimal-js into master
...
Reviewed-on: #8
2026-09-14 13:21:32 +00:00
nobswebdev
0345fe042e
Add copy-to-clipboard for crypto payment amounts and addresses.
...
Mount storefront JS assets, hide copy controls without JavaScript, and load per-page copy handling on checkout and order views.
2026-09-14 15:20:17 +02:00
nobswebdev
a9ffc57608
Add top margin to invoice payment QR code for even spacing.
2026-09-13 23:55:11 +02:00
nobswebdev
49d6b597c2
Lower default Bitcoin confirmation tiers for faster on-chain checkout.
...
Use 1/2/3/6 confirmations by order value instead of 1/3/5/6, since Bitcoin blocks are much slower than Monero.
2026-09-13 12:52:04 +02:00
nobswebdev
0ab7f21bea
Fix monero-wallet-rpc startup on mainnet by omitting --mainnet.
...
Monero treats mainnet as the default network; only --stagenet and --testnet are valid flags.
2026-09-12 23:01:20 +02:00
nobswebdev
155549a2ec
Align CMS select dropdowns with their inputs using fit-input-width.
...
Remove global el-select popper width caps that caused mismatched dropdown sizing on full-width fields.
2026-09-11 21:27:17 +02:00
nobswebdev
f1715f7e7f
Switch shop nav from Cart to Checkout during an active checkout session.
...
Show item quantity on both nav states and highlight checkout while the user is on the payment page.
2026-09-11 20:22:22 +02:00
nobswebdev
ffc9a0bbe5
Add system theme preference to the storefront.
...
Default to system when no theme cookie is set so pages follow OS appearance, and expose Light, Dark, and System in the theme switcher.
2026-09-11 19:15:46 +02:00
nobswebdev
77cd686347
Advertise the onion site on clearnet via Onion-Location header.
2026-09-11 15:26:03 +02:00
nobswebdev
08a0bdcdb8
Include www subdomain in clearnet TLS issuance.
...
Request apex and www from Let's Encrypt and serve both names in nginx.
2026-09-10 16:50:26 +02:00
nobswebdev
93c132b0df
Fix SimpleX branding in shop footer link label.
2026-09-09 16:33:04 +02:00
nobswebdev
771d95d1cd
Stack and center the shop header on mobile.
...
Column-layout logo, nav, and crypto rates with full-width wrapping for many order links.
2026-09-09 16:27:58 +02:00
nobswebdev
254736356b
Show storefront feedback as fixed top-center toasts.
...
Use CSS-only dismiss animations, render the partial at the end of body, and add top margin to cart issue messages.
2026-09-09 16:07:58 +02:00
nobswebdev
738e406725
Rename sf-discount-error to sf-cart-issue for cart validation messages.
...
The class is used for stock, discount, and cart-total issues—not only discounts.
2026-09-09 15:38:15 +02:00
nobswebdev
de4630635d
Merge pull request 'restore scroll position after adding to cart' ( #7 ) from slave/storefront-products-index-add-to-cart-ux-improvement into master
...
Reviewed-on: #7
2026-09-09 11:45:50 +00:00
nobswebdev
6b358011b0
restore scroll position after adding to cart
2026-09-09 13:44:25 +02:00
nobswebdev
8729098f20
Merge pull request 'Require min 1 confirmation in payment tier config.' ( #6 ) from slave/get-rid-of-mempool-conf-tier into master
...
Reviewed-on: #6
2026-09-08 21:33:26 +00:00
nobswebdev
deb5f8c2c3
Require min 1 confirmation in payment tier config.
...
Disallow minConfirmations: 0 for BTC and XMR tiers at startup validation, update env examples and deploy docs, and drop tx-detected UI copy and legacy tests.
2026-09-08 23:31:23 +02:00
nobswebdev
b3e683cd71
Merge pull request 'Slave/btc rbf edge case fix' ( #5 ) from slave/btc-rbf-edge-case-fix into master
...
Reviewed-on: #5
2026-09-08 17:02:47 +00:00
nobswebdev
4458edb0d1
Prune stale unconfirmed invoice payments during wallet polling.
...
Refactor processInvoice into upsert and prune helpers so absent 0-conf payments are removed when the wallet no longer reports them.
2026-09-08 18:30:16 +02:00
nobswebdev
dcd499664a
Filter superseded Bitcoin transfers in Electrum wallet client.
...
Detect RBF conflicts via shared input outpoints so invoice polling no longer ingests both the original and replacement mempool transactions.
2026-09-08 18:30:06 +02:00
nobswebdev
0dcffb394e
Cache storefront images aggressively while keeping CSS revalidatable.
...
Split static asset mounts by type and centralize paths in storefrontAssetPaths so icon URLs stay aligned with the server.
2026-09-07 14:06:44 +02:00
nobswebdev
e6c21e58bb
Merge pull request 'Slave/btc integration' ( #4 ) from slave/btc-integration into master
...
Reviewed-on: #4
2026-09-07 11:11:09 +00:00
nobswebdev
8639176af4
Throw on unsupported payment methods in issueInvoice.
...
Prevent checkout sessions from being created without an invoice when
the payment method switch has no matching case.
2026-09-07 12:39:31 +02:00
nobswebdev
68503ea01d
Add payment method icons to storefront navbar and cart.
...
Show BTC/XMR icons beside exchange rates and pay buttons.
2026-09-07 12:28:14 +02:00
nobswebdev
dd234421a4
Rename cryptoCurrency to paymentLabel in storefront invoice views.
...
Align invoice view naming with InvoiceExtended and CMS.
2026-09-07 12:28:09 +02:00
nobswebdev
2d8a508898
Fix Monero withdraw form reset after successful withdrawal.
...
Use resetFields so validation state clears without re-triggering required rules on an empty address.
2026-09-07 02:08:22 +02:00
nobswebdev
de52534271
Add Bitcoin wallet withdraw and seed reveal UI in CMS.
...
Wire admin actions to the backend API with client-side address validation and configurable max fee rate.
2026-09-07 02:08:17 +02:00
nobswebdev
626f2ea4f0
add bitcoin withdraw max fee validation config
2026-09-07 01:35:57 +02:00
nobswebdev
6c894d58ba
Add Bitcoin wallet admin withdraw and seed reveal API.
...
Expose JWT-protected withdraw-all and reveal-seed endpoints with address validation and password verification, matching Monero wallet admin behavior.
2026-09-06 23:28:53 +02:00
nobswebdev
3a72d0521a
Add sweepAll to Electrum wallet RPC client.
...
Consolidate payto, deserialize, and broadcast into a single sweep helper for max-payment withdrawals.
2026-09-06 23:28:47 +02:00
nobswebdev
8d9054b119
pass wallet password to electrum config on backend
2026-09-06 21:08:13 +02:00
nobswebdev
c1e28c7545
add fee priority selector to Monero wallet withdraw form.
...
Expose GUI-style priority options in the CMS and include the chosen priority in withdrawal confirmation.
2026-09-06 18:21:13 +02:00
nobswebdev
83cb437f19
add fee priority to Monero wallet withdrawal API.
...
Pass sweep_all priority through the withdraw endpoint so admins can choose transaction fee speed.
2026-09-06 18:21:07 +02:00
nobswebdev
564b016f47
use explicit nested routes for settings and wallet CMS tabs.
2026-09-06 16:08:02 +02:00
nobswebdev
82932ce7c8
add Bitcoin wallet status tab in CMS.
2026-09-06 16:07:56 +02:00
nobswebdev
33600d5c1c
consolidate confirmation tiers and show Bitcoin tiers in shop settings.
2026-09-06 16:07:49 +02:00
nobswebdev
7640f5d74d
generalize CMS order invoice payment panel for multi-crypto invoices.
2026-09-06 16:07:44 +02:00