<script setup>
const props = defineProps({ mappings: Array });
</script>
<template>
  <div v-if="mappings?.length" class="pt-4">
    <h3 class="font-semibold mb-2">Current Saved Mappings</h3>
    <div class="overflow-x-auto">
      <table class="min-w-full border bg-white text-sm">
        <thead>
          <tr class="bg-gray-50 text-left text-xs uppercase text-gray-600">
            <th class="p-2 border">Source column</th>
            <th class="p-2 border">Target field</th>
            <th class="p-2 border">Transform</th>
            <th class="p-2 border">Mode</th>
            <th class="p-2 border">Options</th>
          </tr>
        </thead>
        <tbody>
          <tr
            v-for="m in mappings"
            :key="m.id || m.source_column + m.target_field"
            class="border-t"
          >
            <td class="p-2 border">{{ m.source_column }}</td>
            <td class="p-2 border">{{ m.target_field }}</td>
            <td class="p-2 border">{{ m.transform || "—" }}</td>
            <td class="p-2 border">{{ m.apply_mode || "both" }}</td>
            <td class="p-2 border">
              <template v-if="m.options">
                <span v-if="m.options.key" class="inline-block mr-2"
                  >key: <strong>{{ m.options.key }}</strong></span
                >
                <span v-if="m.options.type" class="inline-block"
                  >type: <strong>{{ m.options.type }}</strong></span
                >
              </template>
              <span v-else>—</span>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
</template>
