import { html, css, LitElement } from "lit";
import { customElement, property } from "lit/decorators.js";
import interact from "interactjs";
import * as Config from "./config";
import * as Twitch from "./twitch";
import "./index.css";
console.log("welcome to \"the junkyard\"");
@customElement("fig-window")
export class Window extends LitElement {
x: number;
y: number;
constructor() {
super();
this.x = 0;
this.y = 0;
interact(this).draggable({
listeners: {
move(event) {
event.target.x += event.dx
event.target.y += event.dy
event.target.style.left = `${event.target.x}px`
event.target.style.top = `${event.target.y}px`
},
}
});
}
render() {
console.log("render");
return html`
`;
}
}
@customElement("fig-backdrop")
export class Backdrop extends LitElement {
static styles = css`
#backdrop {
z-index: -2;
position: absolute;
left: 0px;
top: 0px;
width: 100vw;
height: 100vh;
background-image: url("blueprint.jpg");
}
#blur {
z-index: -1;
backdrop-filter: blur(3px);
position: absolute;
left: 0px;
top: 0px;
width: 100vw;
height: 100vh;
background-size: 100px 100px;
background-position: -20px -20px;
background-image:
linear-gradient(to right, lightgrey 1px, transparent 1px),
linear-gradient(to bottom, lightgrey 1px, transparent 1px);
}
`;
render() {
return html`
`;
}
}
@customElement("fig-login")
export class Login extends LitElement {
static styles = css`
`;
login() {
Twitch.startTwitchAuth();
}
async check() {
const resp = await fetch(`${Config.API_URL}/check`);
console.log(await resp.text());
}
render() {
const token = Twitch.getAuthToken();
console.log(token);
if (token) {
return html`
`;
} else {
return html`
`;
}
}
}
@customElement("fig-header")
export class Header extends LitElement {
static styles = css`
h1 {
color: #b5a642;
font-family: "Rubik Maps";
}
`;
render() {
return html`
Welcome To "The JunkYard"
`;
}
}