on main help sign in
finally fix that weird bug
commitf3084312340ca73716c1864baaa7c6e7f3134f11 authorJohn Hyde <johnhydefour@gmail.com> dateTue 13 Dec 2022, 21:16 (4 years ago) parente735a6c
2 files changed+33−23
ui/src/lib/apps.ts+3−1 ui/src/routes/Home.svelte+30−22
ui/src/lib/apps.ts+3−1
@@ -23,11 +23,13 @@ export function getApp(ship: string, desk: string): Promise<any> {
2323export async function getAppByPath(path: string, retry: number = 2): Promise<any> {
2424 try {
2525 return await api.scry<any>({ app: 'treaty', path: `/treaty/${path}` });
26− } catch {
26+ } catch (e) {
2727 if (retry > 0) {
2828 console.log(`Got error when fetching app: ${path}.\nTrying at most ${retry} more time(s)`);
2929 await sleep(750);
3030 return getAppByPath(path, retry - 1);
31+ } else {
32+ throw e;
3133 }
3234 }
3335}
ui/src/routes/Home.svelte+30−22
@@ -34,11 +34,40 @@
3434 urlSearchMode = getUrlSearchMode(searchParams);
3535 urlChangedSinceShipQuery = true;
3636 navigating = false;
37+ console.log('url changed most recently!');
3738 }
3839 }
3940 $: {
4041 urlChangedSinceShipQuery = (search || true) && searchMode && false;
4142 }
43+ function autoNav() {
44+ console.log('judgement day, mfers!');
45+ if ((search !== urlSearch || searchMode !== urlSearchMode)) {
46+ if (urlChangedSinceShipQuery) {
47+ search = urlSearch;
48+ searchMode = urlSearchMode;
49+ console.log('url wins!');
50+ } else {
51+ console.log('search wins!');
52+ navigating = true;
53+ // create a temp one because the real one doesn't always update in time!
54+ let tempAnalysis = new SearchAnalysis(search);
55+ if (params.mode === 'chart') {
56+ navToChart(tempAnalysis.patpIsValid);
57+ } else {
58+ if (tempAnalysis.patpIsValid) {
59+ console.log('going to ship view!', search, tempAnalysis.patp);
60+ navToShipView(tempAnalysis.patp, true);
61+ } else {
62+ const fromShipMode = params.mode === 'ship';
63+ console.log('going to search view!');
64+ navToSearch(fromShipMode);
65+ }
66+ }
67+ }
68+ }
69+ }
70+ $: urlSearch, urlSearchMode, search, searchMode, autoNav();
4271 function nav(path, addToHistory = false) {
4372 (addToHistory ? push : replace)(path);
4473 }
@@ -51,7 +80,7 @@
5180 nav('/' + buildQuerystring({ mode: searchMode }), addToHistory);
5281 }
5382 }
54− function navToShipView(addToHistory = false) {
83+ function navToShipView(patp, addToHistory = false) {
5584 params.mode = 'ship';
5685 params.arg = patp;
5786 if (patp === search) {
@@ -87,27 +116,6 @@
87116 navHome(addToHistory);
88117 }
89118 }
90− function autoNav() {
91− if ((search !== urlSearch || searchMode !== urlSearchMode)) {
92− if (urlChangedSinceShipQuery) {
93− search = urlSearch;
94− searchMode = urlSearchMode;
95− } else {
96− navigating = true;
97− if (params.mode === 'chart') {
98− navToChart(analysis.patpIsValid);
99− } else {
100− if (patp) {
101− navToShipView(true);
102− } else {
103− const fromShipMode = params.mode === 'ship';
104− navToSearch(fromShipMode);
105− }
106− }
107− }
108− }
109− }
110− $: urlSearch, urlSearchMode, search, searchMode, autoNav();
111119 $: {
112120 let properMode = params.mode;
113121 if (properMode === 'chart') {