Newer
Older
smart-home-server / webclient / src / js / index.js
import { hud, navigationShow, navigationHide } from "./components/hud.js";
import { Screens } from "./components/Screens.js";
import Toasts from "./components/toasts.js"
import Helper from "./components/helper.js"
import { SmartHomeApi } from "./sh/SmartHomeApi.js";
import { routes } from "./routes.js";
import Modals from "./components/modals.js";
import confirmPopup from "./components/confirm-popup.js";

document.addEventListener("DOMContentLoaded", e => {
	console.log("App init");

	window.Toasts = Toasts;
	window.Helper = Helper;
	window.Modals = Modals;
	window.confirmPopup = confirmPopup;

	hud();
	const sh_api = new SmartHomeApi({
	  base_url: "http://shswebclient.local",
	  token: "YOUR_TOKEN",
	  timeout_ms: 3000,
	  on_unauthorized: ({ error }) => console.log("auth problem:", error),
	  proxy_path: "/proxy.php",
	});

	// api.scripts.actions_list((err, data, meta) => console.log(data));
	// api.scripts.scopes_list((err, data, meta) => console.log(data));
	// api.devices.info(4, (err, data, meta) => console.log(data));

	const screens = new Screens(".screens", ".load-screen", ".error-screen");
	
	routes(screens, sh_api);

	console.log(screens.getScreens());

	screens.onSwitch((scr, alias) => {
		navigationHide();
	});

	screens.routing();

	window.Screens = screens;
});