feat: Add terms automagically when creating unicode cards

This commit is contained in:
Dendy 2025-09-08 08:25:31 +02:00
parent 1ab67249bf
commit 76f5f30a47
1 changed files with 18 additions and 1 deletions

View File

@ -10,6 +10,8 @@ class UnicodeNote extends Note
const string DECK = 'unicode';
private ?int $codepoint = null;
/** @var Term[] */
private array $terms = [];
public static function fromCharacter(string $character): self
{
@ -37,6 +39,7 @@ class UnicodeNote extends Note
'fields' => [
'Character' => $this->getCharacter(),
'Codepoint' => $this->getHex(),
'Examples' => implode("\n", array_map(fn(Term $t) => $t->toAnkiVocabDef(), $this->terms)),
],
]);
}
@ -96,4 +99,18 @@ class UnicodeNote extends Note
$this->fields['Codepoint'] = $this->getHex();
return $this;
}
/** @return Term[] */
public function getTerms(): array
{
return $this->terms;
}
/** @param Term[] $terms */
public function setTerms(array $terms): static
{
$this->terms = $terms;
$this->fields['Examples'] = implode("<br/>", array_map(fn(Term $t) => $t->toAnkiVocabDef(), $this->terms));
return $this;
}
}