diff --git a/src/components/events/PurchaseTicketDialog.vue b/src/components/events/PurchaseTicketDialog.vue index 2ec7657..efdff70 100644 --- a/src/components/events/PurchaseTicketDialog.vue +++ b/src/components/events/PurchaseTicketDialog.vue @@ -4,7 +4,7 @@ import { onUnmounted } from 'vue' import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription } from '@/components/ui/dialog' import { Button } from '@/components/ui/button' import { Badge } from '@/components/ui/badge' -import { useTicketPurchase } from '@/composables/useTicketPurchase' +import { useTicketPurchase } from '@/modules/events/composables/useTicketPurchase' import { useAuth } from '@/composables/useAuth' import { User, Wallet, CreditCard, Zap, Ticket } from 'lucide-vue-next' import { formatEventPrice, formatWalletBalance } from '@/lib/utils/formatting' diff --git a/src/components/layout/Navbar.vue b/src/components/layout/Navbar.vue index 0b6033c..fd21b84 100644 --- a/src/components/layout/Navbar.vue +++ b/src/components/layout/Navbar.vue @@ -43,7 +43,7 @@ const totalBalance = computed(() => { }) // Try to get chat service from DI (may not be available if chat module not loaded) -const chatService = tryInjectService(SERVICE_TOKENS.CHAT_SERVICE) +const chatService = tryInjectService(SERVICE_TOKENS.CHAT_SERVICE) as any // Compute total unread messages (reactive) const totalUnreadMessages = computed(() => { diff --git a/src/modules/market/components/OrderHistory.vue b/src/modules/market/components/OrderHistory.vue index 943d0c6..a841392 100644 --- a/src/modules/market/components/OrderHistory.vue +++ b/src/modules/market/components/OrderHistory.vue @@ -254,10 +254,11 @@ import { Badge } from '@/components/ui/badge' import { Package, Store, Zap, Copy, QrCode, CheckCircle } from 'lucide-vue-next' import { toast } from 'vue-sonner' import type { OrderStatus } from '@/stores/market' +// Order type no longer needed since we use any for readonly compatibility const router = useRouter() const marketStore = useMarketStore() -const relayHub = injectService(SERVICE_TOKENS.RELAY_HUB) +const relayHub = injectService(SERVICE_TOKENS.RELAY_HUB) as any const { handlePayment, isPayingWithWallet, hasWalletWithBalance } = useLightningPayment() // const orderEvents = useOrderEvents() // TODO: Move to market module @@ -305,7 +306,7 @@ const pendingPayments = computed(() => allOrders.value.filter(o => !isOrderPaid( const isDevelopment = computed(() => import.meta.env.DEV) // Methods -const isOrderPaid = (order: Order) => { +const isOrderPaid = (order: any) => { // Prioritize the 'paid' field from Nostr status updates (type 2) if (order.paid !== undefined) { return order.paid @@ -314,7 +315,7 @@ const isOrderPaid = (order: Order) => { return order.paymentStatus === 'paid' } -const getEffectiveStatus = (order: Order) => { +const getEffectiveStatus = (order: any) => { // If paid, return 'paid' regardless of original status if (isOrderPaid(order)) { return order.shipped ? 'shipped' : 'paid' diff --git a/src/modules/market/composables/useLightningPayment.ts b/src/modules/market/composables/useLightningPayment.ts index c2351b1..bc9ae69 100644 --- a/src/modules/market/composables/useLightningPayment.ts +++ b/src/modules/market/composables/useLightningPayment.ts @@ -67,7 +67,11 @@ export function useLightningPayment() { paidAt: Math.floor(Date.now() / 1000), paymentHash: paymentResult.payment_hash, feeMsat: paymentResult.fee_msat, - items: [...order.items] // Convert readonly to mutable + items: [...order.items], // Convert readonly to mutable + shippingZone: order.shippingZone ? { + ...order.shippingZone, + countries: order.shippingZone.countries ? [...order.shippingZone.countries] : undefined + } : order.shippingZone } marketStore.updateOrder(orderId, updatedOrder) } diff --git a/src/modules/market/composables/useMarket.ts b/src/modules/market/composables/useMarket.ts index c5e96f8..1e84f53 100644 --- a/src/modules/market/composables/useMarket.ts +++ b/src/modules/market/composables/useMarket.ts @@ -395,7 +395,6 @@ export function useMarket() { console.log('🔔 Received order-related DM:', event.id, 'from:', event.pubkey.slice(0, 8)) // TODO: Confirm if this should use nostrStore.account?.pubkey or authService.user.value?.pubkey - const userPubkey = nostrStore.account?.pubkey || authService.user.value?.pubkey const userPrivkey = nostrStore.account?.privkey || authService.user.value?.prvkey if (!userPrivkey) { diff --git a/src/modules/market/composables/usePaymentStatusChecker.ts b/src/modules/market/composables/usePaymentStatusChecker.ts index fb2c608..234c7f1 100644 --- a/src/modules/market/composables/usePaymentStatusChecker.ts +++ b/src/modules/market/composables/usePaymentStatusChecker.ts @@ -3,13 +3,11 @@ import { useAuth } from '@/composables/useAuth' import { useMarketStore } from '../stores/market' // Simplified bolt11 parser to extract payment hash -function parseBolt11(bolt11: string): { paymentHash?: string } { +function parseBolt11(_bolt11: string): { paymentHash?: string } { try { - // Remove lightning: prefix if present - const cleanBolt11 = bolt11.replace(/^lightning:/, '') - // Very basic bolt11 parsing - in a real app you'd use a proper library // For now, we'll return empty since this requires complex bech32 decoding + // Note: Remove lightning: prefix if present: bolt11.replace(/^lightning:/, '') return {} } catch (error) { console.error('Failed to parse bolt11:', error) @@ -94,7 +92,11 @@ export function usePaymentStatusChecker() { status: 'paid' as const, paymentStatus: 'paid' as const, paidAt: Math.floor(Date.now() / 1000), - items: [...order.items] // Convert readonly to mutable + items: [...order.items], // Convert readonly to mutable + shippingZone: order.shippingZone ? { + ...order.shippingZone, + countries: order.shippingZone.countries ? [...order.shippingZone.countries] : undefined + } : order.shippingZone } marketStore.updateOrder(orderId, updatedOrder) diff --git a/src/modules/market/services/nostrmarketService.ts b/src/modules/market/services/nostrmarketService.ts index 5cb03fb..bc9ea60 100644 --- a/src/modules/market/services/nostrmarketService.ts +++ b/src/modules/market/services/nostrmarketService.ts @@ -68,12 +68,12 @@ export interface NostrmarketOrderStatus { } export class NostrmarketService { - private get relayHub() { + private get relayHub(): any { const hub = injectService(SERVICE_TOKENS.RELAY_HUB) if (!hub) { throw new Error('RelayHub not available. Make sure base module is installed.') } - return hub + return hub as any } /** @@ -299,7 +299,7 @@ export class NostrmarketService { }) const event = finalizeEvent(eventTemplate, prvkeyBytes) - const result = await relayHub.publishEvent(event) + const result = await this.relayHub.publishEvent(event) console.log('Order published to nostrmarket:', { orderId: order.id, @@ -345,7 +345,11 @@ export class NostrmarketService { paymentStatus: 'pending' as const, status: 'pending' as const, // Ensure status is pending for payment updatedAt: Math.floor(Date.now() / 1000), - items: [...order.items] // Convert readonly to mutable + items: [...order.items], // Convert readonly to mutable + shippingZone: order.shippingZone ? { + ...order.shippingZone, + countries: order.shippingZone.countries ? [...order.shippingZone.countries] : undefined + } : order.shippingZone } // Generate QR code for the payment request @@ -415,7 +419,11 @@ export class NostrmarketService { const updatedOrder = { ...order, updatedAt: Math.floor(Date.now() / 1000), - items: [...order.items] // Convert readonly to mutable + items: [...order.items], // Convert readonly to mutable + shippingZone: order.shippingZone ? { + ...order.shippingZone, + countries: order.shippingZone.countries ? [...order.shippingZone.countries] : undefined + } : order.shippingZone } // Update payment status diff --git a/src/modules/market/views/CheckoutPage.vue b/src/modules/market/views/CheckoutPage.vue index c9d17b4..e96f898 100644 --- a/src/modules/market/views/CheckoutPage.vue +++ b/src/modules/market/views/CheckoutPage.vue @@ -270,7 +270,7 @@ - - \ No newline at end of file diff --git a/src/pages/OrderHistory.vue b/src/pages/OrderHistory.vue deleted file mode 100644 index 377e9ea..0000000 --- a/src/pages/OrderHistory.vue +++ /dev/null @@ -1,426 +0,0 @@ - - - diff --git a/src/pages/events.vue b/src/pages/events.vue deleted file mode 100644 index 6186ac8..0000000 --- a/src/pages/events.vue +++ /dev/null @@ -1,168 +0,0 @@ - - - -