UNPKG

@bloxbean/yaci-viewer

Version:

A Cardano blockchain data viewer for developers. It works with the Yaci-Store backend, supporting both a local devnet and public networks.

52 lines (49 loc) 4.18 kB
import { T as store_get, a0 as ensure_array_like, Z as attr, _ as stringify, X as escape_html, W as unsubscribe_stores, a1 as bind_props, x as pop, v as push } from './index-vBtQgGkr.js'; import './client-x9PZM0zh.js'; import { p as page } from './stores-B4ORdDby.js'; import { t as truncate } from './util-C18qA3ke.js'; import './exports-DAzLyLdf.js'; function _page($$payload, $$props) { push(); var $$store_subs; let activeUrl; let data = $$props["data"]; let pages = []; console.log(data); if (!data.votes) data.votes = []; activeUrl = store_get($$store_subs ??= {}, "$page", page).url.searchParams.get("page"); { pages.forEach((page2) => { let splitUrl = page2.href.split("?"); let queryString = splitUrl.slice(1).join("?"); const hrefParams = new URLSearchParams(queryString); let hrefValue = hrefParams.get("page"); if (hrefValue === activeUrl) { page2.active = true; } else { page2.active = false; } }); pages = pages; } const each_array = ensure_array_like(data.votes); $$payload.out += `<section class="container mx-auto text-sm"><h2 class="text-xl font-bold text-center text-gray-500 mb-4">Votes</h2> <div class="flex flex-wrap justify-between mt-4 mb-2"><button class="px-4 py-2 text-blue-500 font-medium rounded-md bg-gray-100 hover:bg-gray-200 transition-colors" role="button">&lt; Previous</button> <button class="px-4 py-2 text-blue-500 font-medium rounded-md bg-gray-100 hover:bg-gray-200 transition-colors" role="button">Next ></button></div> <div class="overflow-x-auto"><table class="w-full bg-white border border-gray-300"><thead><tr><th class="py-2 px-4 bg-gray-100 font-bold text-center">Transaction Hash</th><th class="py-2 px-4 bg-gray-100 font-bold text-center">Block</th><th class="py-2 px-4 bg-gray-100 font-bold text-center">Gov Action Id</th><th class="py-2 px-4 bg-gray-100 font-bold text-center">Voter Type</th><th class="py-2 px-4 bg-gray-100 font-bold text-center">Vote</th><th class="py-2 px-4 bg-gray-100 font-bold text-center">Voter Hash</th><th class="py-2 px-4 bg-gray-100 font-bold text-center">Anchor URL</th><th class="py-2 px-4 bg-gray-100 font-bold text-center">Anchor Hash</th></tr></thead><tbody><!--[-->`; for (let index = 0, $$length = each_array.length; index < $$length; index++) { let vote = each_array[index]; $$payload.out += `<tr${attr("class", index % 2 === 0 ? "bg-gray-50" : "bg-white")}><td class="py-2 px-4"><a${attr("href", `/transactions/${stringify(vote.tx_hash)}`)} class="text-blue-500"><span class="ml-2">${escape_html(truncate(vote.tx_hash, 30, "..."))}</span></a></td><td class="py-2 px-4 text-center"><a${attr("href", `/blocks/${stringify(vote.block_number)}`)} class="text-blue-500">${escape_html(vote.block_number)}</a></td><td class="py-2 px-4">${escape_html(vote.gov_action_tx_hash)}#${escape_html(vote.gov_action_index)}</td><td class="py-2 px-4 text-center">${escape_html(vote.voter_type)}</td><td class="py-2 px-4 text-center">${escape_html(vote.vote)}</td><td class="py-2 px-4">${escape_html(truncate(vote.voter_hash, 30, "..."))}</td>`; if (vote.anchor_url) { $$payload.out += "<!--[-->"; $$payload.out += `<td class="py-2 px-4"><a${attr("href", vote.anchor_url)} target="_blank">${escape_html(vote.anchor_url)}</a></td> <td class="py-2 px-4">${escape_html(vote.anchor_hash)}</td>`; } else { $$payload.out += "<!--[!-->"; $$payload.out += `<td class="py-2 px-4 text-center">_</td> <td class="py-2 px-4 text-center">_</td>`; } $$payload.out += `<!--]--></tr>`; } $$payload.out += `<!--]--></tbody></table></div> <div class="flex flex-wrap justify-between mt-2 mb-2"><button class="px-4 py-2 text-blue-500 font-medium rounded-md bg-gray-100 hover:bg-gray-200 transition-colors" role="button">&lt; Previous</button> <button class="px-4 py-2 text-blue-500 font-medium rounded-md bg-gray-100 hover:bg-gray-200 transition-colors" role="button">Next ></button></div></section>`; if ($$store_subs) unsubscribe_stores($$store_subs); bind_props($$props, { data }); pop(); } export { _page as default }; //# sourceMappingURL=_page.svelte-jWMiLGnn.js.map