diff --git a/app/components/CalcResultContent.vue b/app/components/CalcResultContent.vue
index 8211973..fe2e185 100644
--- a/app/components/CalcResultContent.vue
+++ b/app/components/CalcResultContent.vue
@@ -27,6 +27,7 @@
:unit="getOfferData(option.sourceUuid)?.unit"
:stages="getRouteStages(option)"
:kyc-profile-uuid="getKycProfileUuid(option.sourceUuid)"
+ @select="navigateToOffer(option.sourceUuid)"
/>
@@ -68,6 +69,7 @@ import type { RouteStageItem } from '~/components/RouteStagesList.vue'
import { GetOfferDocument, GetSupplierProfileByTeamDocument } from '~/composables/graphql/public/exchange-generated'
const route = useRoute()
+const localePath = useLocalePath()
const searchStore = useSearchStore()
const { execute } = useGraphQL()
@@ -175,6 +177,16 @@ const getKycProfileUuid = (offerUuid?: string | null) => {
return supplier?.kycProfileUuid || null
}
+// Navigate to offer detail page
+const navigateToOffer = (offerUuid?: string | null) => {
+ if (!offerUuid) return
+ const offer = offersData.value.get(offerUuid)
+ if (!offer?.teamUuid || !productUuid.value || !destinationUuid.value) return
+
+ // Navigate to /catalog/suppliers/[supplierId]/[productId]/[hubId]
+ navigateTo(localePath(`/catalog/suppliers/${offer.teamUuid}/${productUuid.value}/${destinationUuid.value}`))
+}
+
// Load offer details for prices
const loadOfferDetails = async (options: ProductRouteOption[]) => {
if (options.length === 0) {
diff --git a/app/components/KycProfileCard.vue b/app/components/KycProfileCard.vue
new file mode 100644
index 0000000..4cbf5c8
--- /dev/null
+++ b/app/components/KycProfileCard.vue
@@ -0,0 +1,155 @@
+
+