import { _ as __nuxt_component_0 } from './nuxt-link-1NBbHb-h.mjs'; import { defineComponent, ref, reactive, unref, withCtx, createTextVNode, toDisplayString, openBlock, createBlock, createVNode, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderClass, ssrRenderList, ssrRenderComponent, ssrRenderStyle } from 'vue/server-renderer'; import { u as useFormatter } from './useFormatter-hycy3urM.mjs'; import { a as useI18n } from './server.mjs'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; import '../nitro/nitro.mjs'; import 'node:http'; import 'node:https'; import 'node:events'; import 'node:buffer'; import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'vue-router'; import 'node:url'; import './region-0mvXqaMM.mjs'; import 'pinia'; import '../routes/renderer.mjs'; import 'vue-bundle-renderer/runtime'; import 'unhead/server'; import 'devalue'; import 'unhead/utils'; import 'unhead/plugins'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", __ssrInlineRender: true, setup(__props) { const { t } = useI18n(); const { formatDate } = useFormatter(); const loading = ref(true); const error = ref(false); const providers = ref([]); const stats = ref({ total: 0, pending: 0, approved: 0, rejected: 0, flagged: 0, total_validations: 0, staging_pending: 0 }); const toast = ref(""); const filters = reactive({ search: "", status: "", source: "", sort_by: "created_at", sort_order: "desc", skip: 0, limit: 50 }); function statusClass(status) { const map = { pending: "bg-amber-500/10 text-amber-400", approved: "bg-emerald-500/10 text-emerald-400", rejected: "bg-rose-500/10 text-rose-400", flagged: "bg-purple-500/10 text-purple-400" }; return map[status] || "bg-slate-500/10 text-slate-400"; } function statusLabel(status) { const map = { pending: t("providers.status_pending"), approved: t("providers.status_approved"), rejected: t("providers.status_rejected"), flagged: t("providers.status_flagged") }; return map[status] || status; } return (_ctx, _push, _parent, _attrs) => { const _component_NuxtLink = __nuxt_component_0; _push(`

${ssrInterpolate(_ctx.$t("providers.title"))}

${ssrInterpolate(_ctx.$t("providers.subtitle"))}

${ssrInterpolate(_ctx.$t("providers.stats_total"))}

${ssrInterpolate(unref(stats).total)}

${ssrInterpolate(_ctx.$t("providers.stats_pending"))}

${ssrInterpolate(unref(stats).pending)}

${ssrInterpolate(_ctx.$t("providers.stats_approved"))}

${ssrInterpolate(unref(stats).approved)}

${ssrInterpolate(_ctx.$t("providers.stats_rejected"))}

${ssrInterpolate(unref(stats).rejected)}

${ssrInterpolate(_ctx.$t("providers.stats_flagged"))}

${ssrInterpolate(unref(stats).flagged)}

`); if (unref(loading)) { _push(`
${ssrInterpolate(_ctx.$t("providers.loading"))}
`); } else if (unref(error)) { _push(`

${ssrInterpolate(_ctx.$t("providers.error"))}

`); } else { _push(`
`); ssrRenderList(unref(providers), (provider) => { var _a, _b, _c, _d; _push(``); }); _push(``); if (unref(providers).length === 0) { _push(``); } else { _push(``); } _push(`
${ssrInterpolate(_ctx.$t("providers.col_id"))}${ssrInterpolate(_ctx.$t("providers.col_name"))}${ssrInterpolate(_ctx.$t("providers.col_address"))}${ssrInterpolate(_ctx.$t("providers.col_status"))}${ssrInterpolate(_ctx.$t("providers.col_source"))}${ssrInterpolate(_ctx.$t("providers.col_validation"))}${ssrInterpolate(_ctx.$t("providers.col_created"))}${ssrInterpolate(_ctx.$t("providers.col_actions"))}
${ssrInterpolate(provider.id)}`); _push(ssrRenderComponent(_component_NuxtLink, { to: `/providers/${provider.id}`, class: "text-sm font-medium text-indigo-400 hover:text-indigo-300 transition" }, { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(`${ssrInterpolate(provider.name)}`); } else { return [ createTextVNode(toDisplayString(provider.name), 1) ]; } }), _: 2 }, _parent)); _push(`${ssrInterpolate(((_a = provider.address_detail) == null ? void 0 : _a.full_address_text) || [(_b = provider.address_detail) == null ? void 0 : _b.zip, (_c = provider.address_detail) == null ? void 0 : _c.city, (_d = provider.address_detail) == null ? void 0 : _d.street_name].filter(Boolean).join(" ") || "\u2014")}${ssrInterpolate(statusLabel(provider.status))}
${ssrInterpolate(provider.source)}`); if (provider.source_table) { _push(`${ssrInterpolate(provider.source_table)}`); } else { _push(``); } _push(`
= 20 ? "bg-amber-500" : "bg-slate-500", "h-full rounded-full transition-all"])}" style="${ssrRenderStyle({ width: Math.min(provider.validation_score, 100) + "%" })}" data-v-aee9c48f>
${ssrInterpolate(provider.validation_score)}
${ssrInterpolate(unref(formatDate)(provider.created_at))}
`); _push(ssrRenderComponent(_component_NuxtLink, { to: `/providers/${provider.id}`, class: "p-1.5 rounded-lg text-slate-400 hover:text-white hover:bg-slate-700 transition", title: _ctx.$t("providers.view_details") }, { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(``); } else { return [ (openBlock(), createBlock("svg", { class: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, [ createVNode("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z" }), createVNode("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z" }) ])) ]; } }), _: 2 }, _parent)); _push(`
${ssrInterpolate(_ctx.$t("providers.no_providers"))}

${ssrInterpolate(_ctx.$t("providers.results_count", { count: unref(providers).length, total: unref(stats).total }))}

${ssrInterpolate(_ctx.$t("common.prev"))}${ssrInterpolate(_ctx.$t("providers.page", { page: Math.floor(unref(filters).skip / unref(filters).limit) + 1 }))}${ssrInterpolate(_ctx.$t("common.next"))}
`); } if (unref(toast)) { _push(`
${ssrInterpolate(unref(toast))}
`); } else { _push(``); } _push(``); }; } }); const _sfc_setup = _sfc_main.setup; _sfc_main.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/providers/index.vue"); return _sfc_setup ? _sfc_setup(props, ctx) : void 0; }; const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-aee9c48f"]]); export { index as default }; //# sourceMappingURL=index-BmHAejAu.mjs.map