refactor: improve router type safety and usage

- Add explicit Router type imports across views
- Replace $router type casting with proper typing
- Use $router.back() instead of $router.go(-1) for consistency
- Add proper route and router typings to components
- Clean up router navigation methods
- Fix router push/back method calls

This commit improves type safety and consistency in router usage across
the application's view components.
This commit is contained in:
Matthew Raymer
2025-02-26 06:50:08 +00:00
parent a2e19d7e9a
commit f6802cd160
56 changed files with 581 additions and 251 deletions

View File

@@ -98,7 +98,7 @@ import {
LRectangle,
LTileLayer,
} from "@vue-leaflet/vue-leaflet";
import { Router } from "vue-router";
import { MASTER_SETTINGS_KEY } from "../db/tables/settings";
import { db, retrieveSettingsForActiveAccount } from "../db/index";
@@ -111,6 +111,7 @@ import { db, retrieveSettingsForActiveAccount } from "../db/index";
},
})
export default class FeedFilters extends Vue {
$router!: Router;
onCloseIfChanged = () => {};
hasSearchBox = false;
hasVisibleDid = false;

View File

@@ -82,6 +82,7 @@ import { GiverReceiverInputInfo } from "../libs/util";
@Component
export default class GivenPrompts extends Vue {
$notify!: (notification: NotificationIface, timeout?: number) => void;
$router!: Router;
CATEGORY_CONTACTS = 1;
CATEGORY_IDEAS = 0;
@@ -145,7 +146,7 @@ export default class GivenPrompts extends Vue {
// proceed with logic but don't change values (just in case some actions are added later)
this.visible = false;
if (this.currentCategory === this.CATEGORY_IDEAS) {
(this.$router as Router).push({
this.$router.push({
name: "contact-gift",
query: {
prompt: this.IDEAS[this.currentIdeaIndex],

View File

@@ -53,7 +53,10 @@
target="_blank"
class="text-blue-500"
>
<font-awesome icon="arrow-up-right-from-square" class="fa-fw" />
<font-awesome
icon="arrow-up-right-from-square"
class="fa-fw"
/>
</a>
</span>
</span>

View File

@@ -41,7 +41,11 @@
@click="acceptUrl"
/>
<!-- so that there's no shifting when it becomes visible -->
<font-awesome v-else icon="check" class="text-white bg-white px-2 py-2" />
<font-awesome
v-else
icon="check"
class="text-white bg-white px-2 py-2"
/>
</span>
</div>
</div>

View File

@@ -219,6 +219,7 @@ import { OnboardPage } from "../libs/util";
})
export default class OnboardingDialog extends Vue {
$notify!: (notification: NotificationIface, timeout?: number) => void;
$router!: Router;
activeDid = "";
firstContactName = null;
@@ -254,7 +255,7 @@ export default class OnboardingDialog extends Vue {
finishedOnboarding: true,
});
if (goHome) {
(this.$router as Router).push({ name: "home" });
this.$router.push({ name: "home" });
}
}
}

View File

@@ -69,7 +69,9 @@
class="rounded-r border border-slate-400 bg-slate-200 text-center text-blue-500 mt-2 px-2 py-2 w-20"
@click="hourAm = !hourAm"
>
<span v-if="hourAm"> AM <font-awesome icon="chevron-down" /> </span>
<span v-if="hourAm">
AM <font-awesome icon="chevron-down" />
</span>
<span v-else> PM <font-awesome icon="chevron-up" /> </span>
</span>
</span>