reactive-ui-patterns
Remote functions reactive UI patterns. Use for smooth in-place updates, preventing page jumps, and managing loading states with .current property.
$ Installieren
git clone https://github.com/spences10/devhub-crm /tmp/devhub-crm && cp -r /tmp/devhub-crm/.claude/skills/reactive-ui-patterns ~/.claude/skills/devhub-crm// tip: Run this command in your terminal to install the skill
SKILL.md
name: reactive-ui-patterns
prettier-ignore
description: Remote functions reactive UI patterns. Use for smooth in-place updates, preventing page jumps, and managing loading states with .current property.
Reactive UI Patterns
Quick Start
<script lang="ts">
const data_query = get_data(); // Store in variable for .current access
async function save(id: string, value: string) {
await update_data({ id, value });
await data_query.refresh(); // Updates in place!
}
</script>
{#if data_query.error}
<p>Error loading data</p>
{:else if data_query.loading && data_query.current === undefined}
<p>Loading...</p>
{:else}
{@const items = data_query.current ?? []}
<div class:opacity-60={data_query.loading}>
{#each items as item}<!-- Content updates smoothly -->{/each}
</div>
{/if}
Core Principles
- Store queries:
const query = get_data()enables.currentproperty access - Use
.current: Prevents page jumps, keeps scroll position during updates - Initial load only: Show spinner when
.current === undefined, not on every refresh - Avoid
{#await}: Causes jarring page reloads - use stored query pattern instead
Reference Files
- current-property.md - Deep dive on
.currentproperty - anti-patterns.md - Common mistakes to avoid
- examples.md - Real-world implementation examples
Repository

spences10
Author
spences10/devhub-crm/.claude/skills/reactive-ui-patterns
6
Stars
0
Forks
Updated1w ago
Added1w ago