diff --git a/asciinema/app.html.heex b/asciinema/app.html.heex
new file mode 100644
index 0000000..f3a06b3
--- /dev/null
+++ b/asciinema/app.html.heex
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+ {page_title(@conn)}
+
+
+
+ <%= if function_exported?(view_module(@conn), :head, 2) do %>
+ {view_module(@conn).head(view_template(@conn), assigns)}
+ <% end %>
+
+
+
+
+
+
+ body_class(@conn)}>
+ {render("_header.html", conn: @conn, current_user: @current_user)}
+ {render("_flash.html", flash: @flash)}
+
+
+ {@inner_content}
+
+
+ {render("_footer.html", conn: @conn)}
+
+
+
+
diff --git a/asciinema/compose.yaml b/asciinema/compose.yaml
index 3c42064..9e49440 100644
--- a/asciinema/compose.yaml
+++ b/asciinema/compose.yaml
@@ -9,6 +9,7 @@ services:
- asciinema_data:/var/opt/asciinema
- ./custom.exs:/opt/app/etc/custom.exs:ro
- ./theme:/opt/app/priv/static/theme:ro
+ - ./app.html.heex:/opt/app/lib/asciinema_web-*/eex/layout/app.html.heex:ro
environment:
SECRET_KEY_BASE: ${ASCIINEMA_SECRET_KEY}
URL_HOST: ${ASCIINEMA_TRAEFIK_HOST}
diff --git a/asciinema/custom.exs b/asciinema/custom.exs
index 7969e6a..dd1b726 100644
--- a/asciinema/custom.exs
+++ b/asciinema/custom.exs
@@ -15,22 +15,3 @@ config :asciinema, Asciinema.Emails.Mailer,
verify: :verify_none,
versions: [:"tlsv1.2", :"tlsv1.3"]
]
-
-# Override static_paths to include our theme directory
-# This allows serving custom CSS and favicon from /theme path
-defmodule AsciinemaWeb do
- def static_paths, do: ~w(assets fonts images js favicon.ico robots.txt theme)
-end
-
-# Define a custom layout view that injects our theme CSS and favicon
-defmodule AsciinemaWeb.CustomLayoutView do
- def head(_conn, _assigns) do
- Phoenix.HTML.raw("""
-
-
- """)
- end
-end
-
-# Override the layout view to use our custom head function
-config :asciinema, AsciinemaWeb.LayoutView, head: &AsciinemaWeb.CustomLayoutView.head/2