diff --git a/frontend/src/components/loader.njk b/frontend/src/components/loader.njk
new file mode 100644
index 0000000..c824571
--- /dev/null
+++ b/frontend/src/components/loader.njk
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
diff --git a/frontend/src/components/loader.ts b/frontend/src/components/loader.ts
new file mode 100644
index 0000000..9bc37bb
--- /dev/null
+++ b/frontend/src/components/loader.ts
@@ -0,0 +1,15 @@
+import {TesoftComponent} from "../scripts/main.ts";
+
+export class TesoftLoader extends TesoftComponent {
+ constructor() {
+ super();
+
+ const template = document.getElementById("tesoft-loader-template") as HTMLTemplateElement;
+ const templateContent = template.content;
+
+ const shadowRoot = this.attachShadow({mode: "open"});
+ shadowRoot.appendChild(templateContent.cloneNode(true));
+ }
+}
+
+customElements.define("tesoft-loader", TesoftLoader);