Add orders page

This commit is contained in:
Dominic Ferrando
2026-07-17 15:18:06 -04:00
parent d4dacbaded
commit 086f458db5
4 changed files with 100 additions and 3 deletions
@@ -0,0 +1,62 @@
<script lang="ts">
import { api } from "$lib/api.js";
import type { Webflow } from "@blade-and-brawn/commerce";
const { data } = $props();
const isOrderSynced = async (wOrder: Webflow.Orders.Order) => {
const pOrders = await data.orders.printful;
return pOrders.some((pOrder) => pOrder.external_id === wOrder.orderId);
};
</script>
{#await data.orders.webflow}
<p>Loading...</p>
{:then wOrders}
<div class="w-full mt-10 overflow-x-auto">
<table class="table">
<thead>
<tr>
<th>Id</th>
<th>Status</th>
</tr>
</thead>
<tbody>
{#each wOrders as wOrder}
<tr class="hover:bg-base-300">
<td
><button
onclick={async () => {
const res = await api.commerce
.orders({
wOrderId: wOrder.orderId,
})
.get();
console.log(res.data);
}}
class="cursor-pointer underline"
>
{wOrder.orderId}
</button></td
>
<td>
{#await isOrderSynced(wOrder) then isSynced}
{#if isSynced}
<div class="badge badge-success">
Synced
</div>
{:else}
<div class="badge badge-error">
Desynced
</div>
{/if}
{/await}
</td>
</tr>
{/each}
</tbody>
</table>
</div>
{:catch error}
<p>Something went wrong: {error.message}</p>
{/await}