bobinamoe's picture
Upload 1664 files
baac5bb verified
import {RgthreeCustomElement} from "rgthree/common/components/base_custom_element";
import {RgthreeModelInfo} from "typings/rgthree";
export class RgthreeModelInfoCard extends RgthreeCustomElement {
static override readonly NAME = "rgthree-model-info-card";
static override readonly TEMPLATES = "components/model-info-card.html";
static override readonly CSS = "components/model-info-card.css";
static override readonly USE_SHADOW = false;
private data: RgthreeModelInfo = {};
getModified(
value: number,
data: any,
currentElement: HTMLElement,
contextElement: RgthreeModelInfoCard,
) {
const date = new Date(value);
return String(`${date.toLocaleDateString()} ${date.toLocaleTimeString()}`);
}
getCivitaiLink(links: string[] | undefined) {
return links?.find((i) => i.includes("civitai.com/models")) || null;
}
setModelData(data: RgthreeModelInfo) {
this.data = data;
}
hasBaseModel(baseModel: string) {
return this.data.baseModel === baseModel;
}
hasData(field: string) {
// return !!this.data.hasInfoFile;
if (field === "civitai") {
return !!this.getCivitaiLink(this.data.links)?.length;
}
return !!(this.data as any)[field];
}
matchesQueryText(query: string) {
return (this.data.name || this.data.file)?.includes(query);
}
hide() {
this.classList.add("-is-hidden");
}
show() {
this.classList.remove("-is-hidden");
}
}