zenno: use spans for skill tooltips
This commit is contained in:
@@ -36,62 +36,62 @@
|
|||||||
}
|
}
|
||||||
return l[0];
|
return l[0];
|
||||||
});
|
});
|
||||||
const activationClass = $derived(s.activations.length === 1 ? null : 'my-2 border rounded-md');
|
const activationClass = $derived(s.activations.length === 1 ? null : 'block my-2 border rounded-md');
|
||||||
|
|
||||||
const spanClass = $derived(mention ? 'italic' : 'font-bold');
|
const spanClass = $derived(mention ? 'italic' : 'font-bold');
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#snippet condition(disj: string[])}
|
{#snippet condition(disj: string[])}
|
||||||
{#each disj as conj, i (conj)}
|
{#each disj as conj, i (conj)}
|
||||||
<div class="font-mono text-sm">{conj}</div>
|
<span class="-mb-1 block font-mono text-sm">{conj}</span>
|
||||||
{#if i !== disj.length - 1}
|
{#if i !== disj.length - 1}
|
||||||
<div class="text-xs italic">or</div>
|
<span class="text-xs italic">or</span>
|
||||||
{/if}
|
{/if}
|
||||||
{/each}
|
{/each}
|
||||||
{/snippet}
|
{/snippet}
|
||||||
|
|
||||||
{#snippet abilities(abils: Ability[])}
|
{#snippet abilities(abils: Ability[])}
|
||||||
{#each abils as a, i (i)}
|
{#each abils as a, i (i)}
|
||||||
<div class="text-sm">
|
<span class="block text-sm">
|
||||||
{ABILITY_TYPE_FORMAT[a.type](a.value)}
|
{ABILITY_TYPE_FORMAT[a.type](a.value)}
|
||||||
{ABILITY_SCALE_NAME[a.value_usage]}
|
{ABILITY_SCALE_NAME[a.value_usage]}
|
||||||
{#if a.target && a.target !== Target.Self}
|
{#if a.target && a.target !== Target.Self}
|
||||||
{TARGET_FORMAT[a.target](a.target_value)}
|
{TARGET_FORMAT[a.target](a.target_value)}
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</span>
|
||||||
{/each}
|
{/each}
|
||||||
{/snippet}
|
{/snippet}
|
||||||
|
|
||||||
<span class="group relative inline-block">
|
<span class="group relative inline-block hyphens-none">
|
||||||
<div
|
<span
|
||||||
class="skill-tip invisible absolute bottom-4 -left-1/2 flex w-80 flex-col rounded-lg border px-2 text-center opacity-0 shadow-lg transition-all group-hover:visible group-hover:bottom-6 group-hover:opacity-100"
|
class="skill-tip invisible absolute bottom-4 -left-1/2 flex w-80 flex-col rounded-lg border px-2 text-center opacity-0 shadow-lg transition-all group-hover:visible group-hover:bottom-6 group-hover:opacity-100"
|
||||||
role="tooltip"
|
role="tooltip"
|
||||||
>
|
>
|
||||||
<div class="border-b py-1">
|
<span class="block border-b py-1 hyphens-auto">
|
||||||
{s.description}
|
{s.description}
|
||||||
</div>
|
</span>
|
||||||
{#each s.activations as act, i (i)}
|
{#each s.activations as act, i (i)}
|
||||||
<div class={activationClass}>
|
<span class={activationClass}>
|
||||||
{#if act.precondition}
|
{#if act.precondition}
|
||||||
<div class="border-b py-1">
|
<span class="block border-b py-1">
|
||||||
<div class="text-xs italic">Precondition</div>
|
<span class="text-xs italic">Precondition</span>
|
||||||
{@render condition(splitCond(act.precondition))}
|
{@render condition(splitCond(act.precondition))}
|
||||||
</div>
|
</span>
|
||||||
{/if}
|
{/if}
|
||||||
<div class="border-b py-1">
|
<span class="block border-b py-1">
|
||||||
{@render condition(splitCond(act.condition))}
|
{@render condition(splitCond(act.condition))}
|
||||||
</div>
|
</span>
|
||||||
<div class="py-1">
|
<span class="block py-1">
|
||||||
{@render abilities(act.abilities)}
|
{@render abilities(act.abilities)}
|
||||||
{#if act.duration != null && act.duration > 0}
|
{#if act.duration != null && act.duration > 0}
|
||||||
<div class="text-sm">
|
<span class="block text-sm">
|
||||||
for {tenThousandths(act.duration)}s
|
for {tenThousandths(act.duration)}s
|
||||||
{DURATION_SCALE_NAME[act.dur_scale]}
|
{DURATION_SCALE_NAME[act.dur_scale]}
|
||||||
</div>
|
</span>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</span>
|
||||||
</div>
|
</span>
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</span>
|
||||||
<span class={spanClass}>{s.name}</span>
|
<span class={[spanClass, 'cursor-pointer']}>{s.name}</span>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user