abstract class MainLayout include Lucky::HTMLPage # 'needs current_user : User' makes it so that the current_user # is always required for pages using MainLayout needs current_user : User abstract def content abstract def page_title # MainLayout defines a default 'page_title'. # # Add a 'page_title' method to your indivual pages to customize each page's # title. # # Or, if you want to require every page to set a title, change the # 'page_title' method in this layout to: # # abstract def page_title : String # # This will force pages to define their own 'page_title' method. def page_title "Welcome" end def render html_doctype html lang: "en" do mount Shared::LayoutHead, page_title: page_title body do mount Shared::FlashMessages, context.flash render_signed_in_user content end end end private def render_signed_in_user text current_user.email text " - " link "Sign out", to: SignIns::Delete, flow_id: "sign-out-button" end end