diff --git a/src/invidious/helpers/errors.cr b/src/invidious/helpers/errors.cr
index dde0d2df..ae6839c6 100644
--- a/src/invidious/helpers/errors.cr
+++ b/src/invidious/helpers/errors.cr
@@ -111,30 +111,38 @@ end
def error_redirect_helper(env : HTTP::Server::Context, locale : Hash(String, JSON::Any) | Nil)
request_resource = env.request.resource
+ # Basic translations needed on all errors
+ next_steps_text = translate(locale, "next_steps_error_message")
+ refresh = translate(locale, "next_steps_error_message_refresh")
+ switch_instance = translate(locale, "Switch Invidious Instance")
+
+ next_step_html = <<-END_HTML
+
#{next_steps_text}
+
+ -
+ #{refresh}
+
+ -
+ #{switch_instance}
+
+ END_HTML
+
+ # Validate if the endpoint is one validate on YouTube. If so, we add a redirect to
+ # visit the page on YouTube.
if request_resource.starts_with?("/search") || request_resource.starts_with?("/watch") ||
- request_resource.starts_with?("/channel") || request_resource.starts_with?("/playlist?list=PL")
- next_steps_text = translate(locale, "next_steps_error_message")
- refresh = translate(locale, "next_steps_error_message_refresh")
+ request_resource.starts_with?("/channel") || request_resource.starts_with?("/playlist?list=PL")
go_to_youtube = translate(locale, "next_steps_error_message_go_to_youtube")
- switch_instance = translate(locale, "Switch Invidious Instance")
-
- return <<-END_HTML
- #{next_steps_text}
-
+ next_step_html += <<-END_HTML
+ -
+ #{go_to_youtube}
+
END_HTML
-
- return next_step_html
- else
- return ""
end
+
+ # End steps list.
+ next_step_html += <<-END_HTML
+
+ END_HTML
+
+ return next_step_html
end