2023-01-16 09:45:12 +00:00
|
|
|
import { AppDetailsUrlQueryParams } from "@dashboard/apps/urls";
|
|
|
|
import { stringifyQs } from "@dashboard/utils/urls";
|
2023-01-10 10:04:30 +00:00
|
|
|
import urlJoin from "url-join";
|
|
|
|
|
|
|
|
import { Dialog, SingleAction } from "../types";
|
|
|
|
|
|
|
|
export type AppListUrlDialog = "remove-app" | "app-activate" | "app-deactivate";
|
|
|
|
export type AppListUrlQueryParams = Dialog<AppListUrlDialog> & SingleAction;
|
|
|
|
|
|
|
|
export const AppSections = {
|
|
|
|
appsSection: "/new-apps/",
|
|
|
|
};
|
|
|
|
|
|
|
|
export const AppPaths = {
|
|
|
|
appListPath: AppSections.appsSection,
|
|
|
|
resolveAppPath: (id: string) => urlJoin(AppSections.appsSection, id, "app"),
|
|
|
|
appInstallPath: urlJoin(AppSections.appsSection, "install"),
|
|
|
|
};
|
|
|
|
|
|
|
|
export const AppUrls = {
|
|
|
|
resolveAppListUrl: (params?: AppListUrlQueryParams) =>
|
|
|
|
AppPaths.appListPath + "?" + stringifyQs(params),
|
|
|
|
resolveAppUrl: (id: string, params?: AppDetailsUrlQueryParams) =>
|
|
|
|
AppPaths.resolveAppPath(encodeURIComponent(id)) + "?" + stringifyQs(params),
|
|
|
|
resolveAppInstallUrl: (manifestUrl: string) =>
|
|
|
|
`${AppPaths.appInstallPath}?manifestUrl=${manifestUrl}`,
|
|
|
|
};
|