diff --git a/internal/shared/ui/loading.templ b/internal/shared/ui/loading.templ
new file mode 100644
index 0000000..3dac5a5
--- /dev/null
+++ b/internal/shared/ui/loading.templ
@@ -0,0 +1,10 @@
+package ui
+
+templ LoadingIndicator(text string) {
+
-
-
-
-
-
Loading catalog
-
+ @ui.LoadingIndicator("Loading catalog")
}
diff --git a/internal/templates/index.templ b/internal/templates/index.templ
index 62d46e8..5d7e4ad 100644
--- a/internal/templates/index.templ
+++ b/internal/templates/index.templ
@@ -3,17 +3,15 @@ package templates
import (
"fmt"
"mal/internal/jikan"
+ "mal/internal/shared/ui"
"net/url"
)
templ Search(q string) {
@Layout("mal - search") {
if q != "" {
-
-
-
-
-
Searching...
+
+ @ui.LoadingIndicator("Searching...")
} else {
diff --git a/internal/templates/schedule.templ b/internal/templates/schedule.templ
index 368116a..d4c5e9d 100644
--- a/internal/templates/schedule.templ
+++ b/internal/templates/schedule.templ
@@ -1,6 +1,7 @@
package templates
import "mal/internal/jikan"
+import "mal/internal/shared/ui"
import "fmt"
import "strings"
@@ -21,12 +22,7 @@ templ Schedule() {
-
-
-
-
-
Loading schedule
-
+ @ui.LoadingIndicator("Loading schedule")