on main help sign in
making definitive sigil entries "search"
e6b3ebdJohn Hyde
ui/src/components/search/SearchBar.svelte+13
@@ -32,6 +32,19 @@
32 }
32 }
33 }
33 }
34
34
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+
35 let timer;
48 let timer;
36 $: {
49 $: {
37 clearTimeout(timer);
50 clearTimeout(timer);
ui/src/lib/sigil.ts+8
@@ -53,6 +53,14 @@ export class SigilQuery {
53 return this.activeSymbols.every(symbol => !symbol.isPlausible);
53 return this.activeSymbols.every(symbol => !symbol.isPlausible);
54 }
54 }
55
55
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+
56 get string(): string {
64 get string(): string {
57 return this.symbols.map((symbol) => symbol.components.join()).join(' | ')
65 return this.symbols.map((symbol) => symbol.components.join()).join(' | ')
58 }
66 }