Backend: - CRUD complet documents/items/versions (update, delete, accept, reject, reorder) - Service IPFS (upload/retrieve/pin via kubo HTTP API) - Service sanctuaire : pipeline SHA-256 + IPFS + on-chain (system.remark) - Verification integrite des entrees sanctuaire - Recherche par reference (document -> entrees sanctuaire) - Serialisation deterministe des documents pour archivage - 14 tests unitaires supplementaires (document service) Frontend: - 9 composants : StatusBadge, MarkdownRenderer, DiffView, ItemCard, ItemVersionDiff, DocumentList, SanctuaryEntry, IPFSLink, ChainAnchor - Page detail item avec historique des versions et diff - Page detail sanctuaire avec verification integrite - Modal de creation de document + proposition de version - Archivage document vers sanctuaire depuis la page detail Documentation: - API reference mise a jour (9 nouveaux endpoints) - Guides utilisateur documents et sanctuaire enrichis Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
34 lines
942 B
Vue
34 lines
942 B
Vue
<script setup lang="ts">
|
|
const props = defineProps<{
|
|
txHash: string | null
|
|
block: number | null
|
|
}>()
|
|
|
|
const truncatedHash = computed(() => {
|
|
if (!props.txHash) return null
|
|
if (props.txHash.length <= 20) return props.txHash
|
|
return props.txHash.slice(0, 10) + '...' + props.txHash.slice(-6)
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<template v-if="txHash">
|
|
<div class="inline-flex items-center gap-2">
|
|
<div class="flex items-center gap-1.5">
|
|
<UIcon name="i-lucide-link" class="text-sm text-gray-500" />
|
|
<span class="font-mono text-xs text-gray-700 dark:text-gray-300">
|
|
{{ truncatedHash }}
|
|
</span>
|
|
</div>
|
|
<UBadge v-if="block" color="neutral" variant="subtle" size="xs">
|
|
Bloc #{{ block.toLocaleString('fr-FR') }}
|
|
</UBadge>
|
|
</div>
|
|
</template>
|
|
<template v-else>
|
|
<UBadge color="warning" variant="subtle" size="xs">
|
|
Non ancre
|
|
</UBadge>
|
|
</template>
|
|
</template>
|