* Web: Detangling some circular dependencies in Admin and User Admin, User, and Flow should not dependend upon each other, at least not in a circular way. If Admin and User depend on Flow, that's fine, but Flow should not correspondingly depend upon elements of either; if they have something in common, let's put them in `@goauthentik/common` or find some other smart place to store them. This commit refactors the intentToLabel and actionToLabel functions into `@goauthentik/common/labels` and converts them to static tables for maintenance purposes. * web: "Consistency is the hobgoblin of small minds" - Ralph Waldo Emerson * web: I found these confusing to look at, so I added comments. * web: remove admin-to-user component reference(s) (#6856) There was only one: AppIcon. This has been moved to `components`. Touching the LibraryApplications page triggered a cyclomatic complexity check. Extracting the expansion block and streamlining the class and style declarations with lit directives helped.
17 lines
580 B
TypeScript
17 lines
580 B
TypeScript
import { EventWithContext } from "@goauthentik/common/events";
|
|
import { KeyUnknown } from "@goauthentik/elements/forms/Form";
|
|
|
|
import { TemplateResult, html } from "lit";
|
|
|
|
export function EventGeo(event: EventWithContext): TemplateResult {
|
|
let geo: KeyUnknown | undefined = undefined;
|
|
if (Object.hasOwn(event.context, "geo")) {
|
|
geo = event.context.geo as KeyUnknown;
|
|
const parts = [geo.city, geo.country, geo.continent].filter(
|
|
(v) => v !== "" && v !== undefined,
|
|
);
|
|
return html`${parts.join(", ")}`;
|
|
}
|
|
return html``;
|
|
}
|