Add centralized unit definitions
This commit is contained in:
67
hdyc-svelte/src/lib/components/QuickDefinitionCard.svelte
Normal file
67
hdyc-svelte/src/lib/components/QuickDefinitionCard.svelte
Normal file
@@ -0,0 +1,67 @@
|
||||
<script lang="ts">
|
||||
import { getDefinition } from '$lib/data/unitDefinitions';
|
||||
import type { CalculatorDef } from '$lib/data/calculators';
|
||||
|
||||
export let config: CalculatorDef;
|
||||
|
||||
const label1 = config.labels.in1 || 'Unit 1';
|
||||
const label2 = config.labels.in2 || 'Unit 2';
|
||||
|
||||
const def1 = getDefinition(label1);
|
||||
const def2 = getDefinition(label2);
|
||||
</script>
|
||||
|
||||
<section class="definition-card">
|
||||
<h3>Unit definitions</h3>
|
||||
<div class="definition-grid">
|
||||
<article>
|
||||
<strong>{label1}</strong>
|
||||
<p>{def1 ?? `Definition pending for ${label1}.`}</p>
|
||||
</article>
|
||||
<article>
|
||||
<strong>{label2}</strong>
|
||||
<p>{def2 ?? `Definition pending for ${label2}.`}</p>
|
||||
</article>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<style>
|
||||
.definition-card {
|
||||
margin: 0 2rem 2rem;
|
||||
padding: 1.25rem 1.5rem;
|
||||
border-radius: 12px;
|
||||
background: var(--section-bg);
|
||||
border: 1px solid var(--border);
|
||||
}
|
||||
|
||||
.definition-card h3 {
|
||||
margin: 0 0 0.75rem;
|
||||
font-size: 1rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.definition-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.definition-grid article {
|
||||
background: var(--card-bg);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 10px;
|
||||
padding: 0.9rem;
|
||||
}
|
||||
|
||||
.definition-grid strong {
|
||||
display: block;
|
||||
font-size: 0.95rem;
|
||||
margin-bottom: 0.4rem;
|
||||
}
|
||||
|
||||
.definition-grid p {
|
||||
margin: 0;
|
||||
font-size: 0.85rem;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user