openskynet / ui /src /i18n /lib /lit-controller.ts
Darochin's picture
Mirror OpenSkyNet workspace snapshot from Git HEAD
fc93158 verified
import type { ReactiveController, ReactiveControllerHost } from "lit";
import { i18n } from "./translate.ts";
export class I18nController implements ReactiveController {
private host: ReactiveControllerHost;
private unsubscribe?: () => void;
constructor(host: ReactiveControllerHost) {
this.host = host;
this.host.addController(this);
}
hostConnected() {
this.unsubscribe = i18n.subscribe(() => {
this.host.requestUpdate();
});
}
hostDisconnected() {
this.unsubscribe?.();
}
}