RenaiApp/src/renderer/components/content/Work.svelte

49 lines
988 B
Svelte

<script>
import { onDestroy } from 'svelte';
import { workRepository } from '../../store/repositories/entities/work-repository';
export let id = 0;
/** @type {WorkSerializedInterface | undefined} */
let work;
let unsubscribe = () => {};
$: unsubscribe = workRepository.subscribe(id, (serialized) => {
work = serialized;
});
onDestroy(() => {
unsubscribe();
});
</script>
<div class="work">
{#if work}
<dl>
<div>
<dt>id</dt>
<dd>{work?.id}</dd>
</div>
<div>
<dt>name</dt>
<dd>{work?.nameCanonical}</dd>
</div>
<div>
<input
type="text"
on:change="{(input) => {
workRepository.update(id, (w) => {
w.nameCanonical = input.target.value;
return w;
});
}}"
/>
</div>
<div>
<dt>languages</dt>
<dd>{work?.languages.join(', ')}</dd>
</div>
</dl>
{/if}
</div>