blob: 06a1ed7a53861a04662780b7580938b1222b1cd2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
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
|