mirror of
https://github.com/turt2live/matrix-dimension.git
synced 2024-10-01 01:05:53 -04:00
36 lines
1.3 KiB
TypeScript
36 lines
1.3 KiB
TypeScript
import { Component } from "@angular/core";
|
|
import { Router } from "@angular/router";
|
|
import { AdminApiService } from "../shared/services/admin/admin-api.service";
|
|
|
|
@Component({
|
|
templateUrl: "./admin.component.html",
|
|
styleUrls: ["./admin.component.scss"],
|
|
})
|
|
export class AdminComponent {
|
|
|
|
public version = "";
|
|
|
|
constructor(private router: Router, adminApi: AdminApiService) {
|
|
adminApi.getVersion().then(r => this.version = r.version);
|
|
}
|
|
|
|
public goto(adminRoute: string) {
|
|
const currentRoute = this.router.routerState.snapshot.url;
|
|
const baseRoute = currentRoute.substring(0, currentRoute.indexOf("/admin"));
|
|
|
|
const route = adminRoute ? [baseRoute, "admin", adminRoute] : [baseRoute, "admin"];
|
|
this.router.navigate(route);
|
|
}
|
|
|
|
public isActive(adminRoute: string, exact?: boolean) {
|
|
let currentRoute = this.router.routerState.snapshot.url;
|
|
currentRoute = currentRoute.substring(currentRoute.indexOf('/admin'));
|
|
|
|
// Specifically for the dashboard handling
|
|
if (adminRoute === "" && !currentRoute.endsWith("/")) currentRoute = currentRoute + "/";
|
|
|
|
if (exact) return currentRoute === "/admin/" + adminRoute;
|
|
return currentRoute.startsWith("/admin/" + adminRoute);
|
|
}
|
|
}
|