summaryrefslogtreecommitdiffhomepage
path: root/src/features/surface-host/ui/SurfaceTable.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/features/surface-host/ui/SurfaceTable.svelte')
-rw-r--r--src/features/surface-host/ui/SurfaceTable.svelte14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/features/surface-host/ui/SurfaceTable.svelte b/src/features/surface-host/ui/SurfaceTable.svelte
new file mode 100644
index 0000000..764cc36
--- /dev/null
+++ b/src/features/surface-host/ui/SurfaceTable.svelte
@@ -0,0 +1,14 @@
+<script lang="ts">
+ import Table from "../../../components/Table.svelte";
+ import { parseTablePayload } from "../logic/table";
+
+ let { payload }: { readonly payload: unknown } = $props();
+
+ // Parse defensively; an unparseable payload yields null → render nothing
+ // (graceful skip, per the custom-field contract).
+ const data = $derived(parseTablePayload(payload));
+</script>
+
+{#if data !== null}
+ <Table columns={data.columns} rows={data.rows} />
+{/if}