• v1.3.0 32f192403e

    Q-Shop v1.3.0
    All checks were successful
    build-and-zip / build (push) Successful in 1m36s
    build-and-zip / build (release) Successful in 1m24s
    Stable

    greenflame089 released this 2025-10-23 22:57:28 +00:00 | 0 commits to main since this release

    Q-Shop v1.3.0 — Release Notes

    Release date: 2025-10-23

    Overview

    This minor release focuses on shipping clarity. We’ve introduced a hierarchical shipping selector, surfaced those destinations throughout the UI, and added a new “Sort by Location” option for the shop list. Legacy shops remain compatible, but owners are encouraged to migrate to the structured format for better visibility. We also fixed a navigation annoyance where using the back button forced a full reload and second authentication.

    Highlights

    Location-aware ship-to data

    • shipsTo now stores a list of canonical identifiers representing regions, countries, or U.S. states. The selector lets owners toggle entire continents or drill down to individual destinations.
    • A new optional “Shipping Info” text field captures amplifying details (delivery partners, exclusions, digital-only caveats, etc.).
    • Legacy string-based shipsTo values are preserved. They render inside the Shipping Info panel and do not populate the structured checklist until the owner edits the shop.
    • We provide default grouping for the public shop list: legacy shops appear under “See shipping info” so users still know to read the notes.

    Sort shops by shipping destination

    • The storefront now offers “Sort by Location” alongside the existing “Recently Updated/Created” filters.
    • Shops are grouped by resolved labels (e.g., “Europe”, “Canada”, “California”) with collapsible sections. Portions of the tree can be collapsed/expanded per user preference.
    • Structured data drives grouping; legacy string entries are skipped from the primary locations list to avoid ambiguous labels.

    Navigation polish

    • The browser’s back button now returns you to the prior screen without forcing a full reload. This avoids the extra authentication prompt that previously appeared when navigating back from detail pages.

    Migration and compatibility

    • No schema change is required for existing data; legacy strings remain valid and migrate automatically once owners edit their shop.
    • Structured ids are normalised, so search and future filters can rely on consistent keys.
    • Encourage owners to update their shipping selections. Structured data makes shops more discoverable and signals current maintenance to customers.

    File touchpoints

    • Core logic: src/constants/shippingRegions.ts, src/components/common/ShippingRegionsSelect.tsx, src/wrappers/GlobalWrapper.tsx.
    • UI: src/components/modals/CreateStoreModal.tsx, src/components/modals/EditStoreModal.tsx, src/pages/StoreList/StoreList.tsx, src/pages/Store/StoreDetails/StoreDetails.tsx, src/pages/Store/Store/Store.tsx.
    • Utilities & state: src/state/features/{storeSlice,globalSlice}.ts, src/hooks/useGlobalSearch.ts, src/utils/checkStructure.ts.

    Testing notes

    • Verify that editing a shop with the new selector saves an array of ids and displays the summary and shipping info correctly.
    • Confirm that a legacy shop (string shipsTo) shows the note under “Shipping Info” and is omitted from the location grouping.
    • Exercise the back button across shop detail pages to confirm it no longer triggers a reload/auth cycle.

    Thanks to everyone helping test the new shipping workflow—this lays the groundwork for richer filtering in upcoming releases.

    Downloads
  • v1.2.2 f30461ec26

    Q-Shop v1.2.2
    All checks were successful
    build-and-zip / build (push) Successful in 1m14s
    build-and-zip / build (release) Successful in 1m18s
    Stable

    greenflame089 released this 2025-09-25 04:18:57 +00:00 | 5 commits to main since this release

    Q‑Shop v1.2.2 — Release Notes

    Release date: 2025-09-22

    Summary

    Emergency recovery release for shop owners who lost their product listings when a datacontainer was republished empty. The “Recreate Shop Data” action now rebuilds the datacontainer from your published catalogues instead of starting from scratch.

    Changes

    • Repair datacontainers from catalogues
      • The advanced recovery button now searches for every q-store-catalogue-* resource owned by the shop and hydrates it before republishing the datacontainer.
      • Products recovered from catalogues keep their created timestamp, category, status, and QORT price.
      • Soft-deleted catalogue entries are ignored so they do not reappear.
    • Owner feedback
      • Successful rebuilds report how many products were recovered.
      • If no catalogue products are found the owner receives a warning, but the datacontainer is republished to restore structure.
    • Safety checks
      • Duplicate catalogue identifiers are skipped.
      • Missing store identifiers now surface an explicit error instead of silently publishing an empty map.

    Notes

    • Scope: Changes are limited to src/components/modals/EditStoreModal.tsx.
    • No schema changes: Catalogue and product resource formats are unchanged; the datacontainer still matches previous structure.
    • Testing: Validate by clearing the datacontainer on a dev store, leaving catalogue resources intact, then using “Recreate Shop Data” to restore products.
    Downloads
  • v1.2.1 aa91cf9762

    Q-Shop v1.2.1
    All checks were successful
    build-and-zip / build (push) Successful in 1m25s
    build-and-zip / build (release) Successful in 1m18s
    Stable

    greenflame089 released this 2025-09-15 16:23:10 +00:00 | 6 commits to main since this release

    Q‑Shop v1.2.1 — Release Notes

    Release date: 2025‑09‑15

    Summary

    This release focuses on store owner productivity and faster navigation. Shop owners get a more capable Products table with sortable columns and a quick Delete action, and shoppers get a new Recently Visited section on the Store List to jump back into shops quickly.

    Changes

    • Store management — Products table
      • New: Product Type and Category columns.
      • New: Click any column header to sort ascending/descending.
      • New: Delete Product button for quick removals.
        • Includes appropriate confirmation and immediate UI feedback.
    • Store list — Recently Visited
      • New: Collapsible Recently Visited section appears above the main list.
      • New: Shows up to two rows (adapts to screen size: up to 8 on large screens).
      • New: Remembers expand/collapse state across sessions.
      • Behavior: When expanded, loads these shops first; when collapsed, it does not load until you expand it.

    Notes

    • Persistence: Recently Visited uses localStorage in the browser and stores only { owner, id, visitedAt } per shop. You can clear it by clearing site storage in your browser.
    • Backward compatible: No data migrations or configuration changes are required.
    • Build: npm ci && npm run build — output is written to dist/.

    Developer hints

    • Recently Visited keys
      • List: recentlyVisitedStores (array of { owner, id, visitedAt }, capped at 50).
      • UI state: recentlyVisitedExpanded (string "true"|"false").
    • UI components involved
      • Store list view: src/pages/StoreList/StoreList.tsx.
      • Store visit hook-in: src/pages/Store/Store/Store.tsx updates the recent list.
    Downloads
  • v1.2.0 74ae8e9585

    Q-Shop v1.2.0
    All checks were successful
    build-and-zip / build (push) Successful in 1m18s
    build-and-zip / build (release) Successful in 1m23s
    Stable

    greenflame089 released this 2025-09-13 15:15:51 +00:00 | 10 commits to main since this release

    Q‑Shop v1.2.0 — Release Notes

    Release date: 2025‑09‑13

    Summary

    Quality‑of‑life improvements focused on finding content faster and navigating large pages more easily. Adds search for shops and items, richer sorting, visual loading progress, and clearer review context.

    Changes

    • Search
      • New: Search shops on the Store List page by name/description.
      • New: Search items within a store by title/description.
    • Sorting
      • New: Sort by Recently Updated or by Date Created (Newest/Oldest) where item grids are shown.
      • Updated sorts persist while navigating within the same view.
    • Navigation
      • New: Scroll‑to‑top button appears after you scroll down and returns you to the top with one click.
    • Feedback
      • New: Loading progress indicator for data‑heavy views to make waits more transparent.
    • Reviews
      • Improved: Review lists show clearer context (which product/shop is being reviewed) to avoid confusion.

    Notes

    • Backward compatible: no data migrations or config changes required.
    • Build: npm ci && npm run build. Output in dist/.
    Downloads
  • v1.1.2 caf60152bf

    Q-Shop v1.1.2
    All checks were successful
    build-and-zip / build (push) Successful in 1m16s
    build-and-zip / build (release) Successful in 1m5s
    Stable

    greenflame089 released this 2025-08-23 19:19:04 +00:00 | 19 commits to main since this release

    Q‑Shop v1.1.2 — Release Notes

    Release date: 2025‑08‑23

    Summary

    Adds a new Service product type and full support for free (0‑price) items, including end‑to‑end checkout without sending a payment transaction.

    Changes

    • Product types
      • New: Service — intended for paid services (no goods delivered).
      • Checkout logic treats Service like Digital (no shipping section when the cart contains only Digital/Service items).
    • Free/0‑price items
      • Product creation/editing accepts 0 as a valid price (QORT and supported coins).
      • Cart/Checkout displays 0 amounts and correctly computes totals.
      • When the order total is 0, payment is skipped; the order is still created and a Q‑Mail notification is sent to the seller.
      • Validation updated to allow 0; negative prices remain blocked.
    • Minor UI/logic tweaks
      • Total and per‑item price UI now renders when the amount is 0.

    Notes

    • Backward compatible: existing products are unaffected.
    • Build: npm ci && npm run build. Output in dist/.
    Downloads
  • v1.1.1 d9c2db33a1

    Q-Shop v1.1.1
    All checks were successful
    build-and-zip / build (push) Successful in 1m49s
    Stable

    greenflame089 released this 2025-08-23 10:40:37 +00:00 | 21 commits to main since this release

    Q‑Shop v1.1.1 — Release Notes

    Release date: 2025‑08‑23

    Summary

    Minor UI/UX improvements and a fix to price entry for all supported coins.

    Changes

    • Product pricing form
      • Shows price fields for every coin your shop supports (hides others).
      • Pre-fills existing prices when editing a product.
    • Product card price display
      • Uses PNG icons for all coins.
      • For non‑QORT selections, shows: [COIN icon] amount [QORT icon] qortEquivalent.
      • QORT amounts rounded to 2 decimals; no letter tickers.
    • Exchange rate card (sidebar)
      • Removed background panel to prevent text overflow.
      • Icon-based display with both directions:
        • [QORT icon] 1 = X [COIN icon]
        • [COIN icon] 1 = Y [QORT icon]
      • Compact formatting (>=1 → 4 decimals; <1 → 4 significant digits).
      • Removed the arrow/icons row below the subtitle.

    Notes

    • This is a patch over v1.1.0 (which introduced BTC/LTC/DOGE/DGB/RVN support, Edit Shop improvements, and initial pricing UX updates).
    • Build: npm ci && npm run build. Artifacts in dist/.
    Downloads
  • v1.1.0 37b3fc0427

    Q-Shop v1.1.0
    All checks were successful
    build-and-zip / build (push) Successful in 1m12s
    Stable

    greenflame089 released this 2025-08-23 10:03:35 +00:00 | 22 commits to main since this release

    Q‑Shop v1.1.0 — Release Notes

    Release date: 2025‑08‑23

    Highlights

    • New coin support: BTC, LTC, DOGE, DGB, RVN in addition to QORT (native) and ARRR.
    • Improved store editing experience and safety controls.
    • Clearer pricing UX with dynamic exchange card and date sorting restored.

    What’s New

    • Supported coins
      • Added BTC, LTC, DOGE, DGB, RVN across the app: store setup, badges, filtering, pricing, and icons.
      • Centralized PNG icon mapping for all coins in src/constants/coin-icons.ts.
    • Edit Store modal
      • Cancel reliably closes the modal.
      • Advanced Settings restored with a “Recreate Shop Data” action:
        • Publishes a fresh empty Data Container (DOCUMENT) to QDN for the current shop.
        • Resets cached product lists to avoid UI inconsistencies.
        • Confirmation modal with warnings to prevent accidental use.
      • Supported Coins dropdown now uses PNG icons for all coins.
      • Local draft preservation: unsaved edits persist while the modal is open (localStorage) and can be cleared.
    • Sidebar filters (Store page)
      • Prices In: de‑duplicated header; single clear section.
      • Exchange Rate card:
        • Hidden when viewing prices in QORT.
        • Shows dynamic coin icon for the selected coin.
        • Displays both directions: 1 QORT = X COIN and 1 COIN = Y QORT.
      • Date Product Added: restored “Most Recent” and “Oldest” sort options.

    Improvements

    • Pricing lookup now integrates per‑coin keys via getPriceHint() with graceful fallback to QORT when rate is unavailable.
    • Safer store edit flow with explicit error notifications and loading indicators.

    Fixes

    • TypeScript/JSX issues in EditStoreModal.tsx causing build failures.
    • Inconsistent close behavior for the edit modal.
    • Mixed icon sources (SVG vs. PNG) resolved for consistency.

    Developer Notes

    • Build: npm ci && npm run build (Node LTS). Output in dist/.
    • Icons: coin assets located under src/assets/img/ and referenced via coinPng().
    • Recreate Shop Data publishes identifier: <storeId>-datacontainer to QDN with an empty products map. Use only for recovery.

    Upgrade Guide

    • No config changes required.
    • After updating, shop owners can edit their store to add newly supported coins and addresses. Pricing UX updates apply automatically.

    Known Considerations

    • Exchange rates rely on recent trade portal data; when unavailable, the app reverts to QORT pricing and notifies the user.
    Downloads