Remove useNostrOrders composable and related Checkout page

- Delete the useNostrOrders composable as it is no longer needed.
- Update MerchantStore.vue to utilize nostrmarketService for publishing orders instead of the removed composable.
- Refactor market store to check the readiness of nostrmarketService instead of useNostrOrders.
- Remove the Checkout.vue page, streamlining the checkout process and improving code maintainability.
This commit is contained in:
padreug 2025-09-05 04:22:54 +02:00
parent e504b1f7e2
commit 36638d1080
6 changed files with 16 additions and 701 deletions

View file

@ -320,12 +320,11 @@ import {
BarChart3
} from 'lucide-vue-next'
import type { OrderStatus } from '@/stores/market'
import { nostrOrders } from '@/composables/useNostrOrders'
import { nostrmarketService } from '../services/nostrmarketService'
import { auth } from '@/composables/useAuth'
const router = useRouter()
const marketStore = useMarketStore()
const nostrOrdersComposable = nostrOrders
// Local state
const isGeneratingInvoice = ref<string | null>(null)
@ -502,7 +501,7 @@ const sendInvoiceToCustomer = async (order: any, invoice: any) => {
// Send the updated order to the customer via Nostr
// This will include the invoice information
await nostrOrdersComposable.publishOrderEvent(updatedOrder, order.buyerPubkey)
await nostrmarketService.publishOrder(updatedOrder, order.buyerPubkey)
console.log('Updated order with invoice sent via Nostr to customer:', order.buyerPubkey)
} catch (error) {

View file

@ -76,6 +76,18 @@ export class NostrmarketService {
return hub
}
/**
* Check if the service is ready for Nostr operations
*/
get isReady(): boolean {
try {
this.getAuth()
return true
} catch {
return false
}
}
/**
* Convert hex string to Uint8Array (browser-compatible)
*/

View file

@ -1,6 +1,5 @@
import { defineStore } from 'pinia'
import { ref, computed, readonly, watch } from 'vue'
import { nostrOrders } from '@/composables/useNostrOrders'
import { invoiceService } from '@/lib/services/invoiceService'
import { paymentMonitor } from '@/lib/services/paymentMonitor'
import { nostrmarketService } from '../services/nostrmarketService'
@ -595,7 +594,7 @@ export const useMarketStore = defineStore('market', () => {
const sendPaymentConfirmation = async (order: Order) => {
try {
if (!nostrOrders.isReady.value) {
if (!nostrmarketService.isReady) {
console.warn('Nostr not ready for payment confirmation')
return
}
@ -612,7 +611,7 @@ export const useMarketStore = defineStore('market', () => {
// }
// Send confirmation to customer
await nostrOrders.publishOrderEvent(order, order.buyerPubkey)
await nostrmarketService.publishOrder(order, order.buyerPubkey)
console.log('Payment confirmation sent via Nostr')
} catch (error) {