DUNGEONS-34: implement Webka local streaming app
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
15
frontend/components/GlassCard.vue
Normal file
15
frontend/components/GlassCard.vue
Normal file
@@ -0,0 +1,15 @@
|
||||
<script setup lang="ts">
|
||||
const props = withDefaults(defineProps<{ as?: string }>(), { as: "section" });
|
||||
function highlight(e: PointerEvent) {
|
||||
if (matchMedia("(prefers-reduced-motion: reduce)").matches) return;
|
||||
const element = e.currentTarget as HTMLElement;
|
||||
const r = element.getBoundingClientRect();
|
||||
element.style.setProperty("--glass-x", `${e.clientX - r.left}px`);
|
||||
element.style.setProperty("--glass-y", `${e.clientY - r.top}px`);
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<component :is="props.as" class="glass" @pointermove="highlight"
|
||||
><slot
|
||||
/></component>
|
||||
</template>
|
||||
Reference in New Issue
Block a user