on main help sign in
making definitive sigil entries "search"
commite6b3ebd790942b041d6c5952a67b0b66bb09301e authorJohn Hyde <johnhydefour@gmail.com> dateWed 17 Aug 2022, 16:25 (4 years ago) parent67ad836
2 files changed+21
ui/src/components/search/SearchBar.svelte+13 ui/src/lib/sigil.ts+8
ui/src/components/search/SearchBar.svelte+13
@@ -32,6 +32,19 @@
3232 }
3333 }
3434
35+ $: {
36+ if (showSigilInput && sigilQuery.isDefinitive) {
37+ const querySyls = sigilQuery.query.flat();
38+ search = '~' + querySyls[0];
39+ if (querySyls.length > 1) {
40+ search += querySyls[1];
41+ if (querySyls.length > 2) {
42+ search += '-' + querySyls[2] + '-' + querySyls[3];
43+ }
44+ }
45+ }
46+ }
47+
3548 let timer;
3649 $: {
3750 clearTimeout(timer);
ui/src/lib/sigil.ts+8
@@ -53,6 +53,14 @@ export class SigilQuery {
5353 return this.activeSymbols.every(symbol => !symbol.isPlausible);
5454 }
5555
56+ get query(): string[][] {
57+ return this.activeSymbols.map(symbol => symbol.plausibleSyllables);
58+ }
59+
60+ get isDefinitive() {
61+ return this.query.every(syls => syls.length === 1);
62+ }
63+
5664 get string(): string {
5765 return this.symbols.map((symbol) => symbol.components.join()).join(' | ')
5866 }