summaryrefslogtreecommitdiff
path: root/views/head.pug
blob: 00e0ada13906cbc99a5b72bbbd2b2531bfb0df73 (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
//- vim:ts=4:sw=4:

meta(name="viewport" content="width=device-width,initial-scale=1")
meta(name="theme-color" content="#444")
link(rel="icon" type="image/svg+xml" href="/favicon.svg")
link(rel="stylesheet" href="/fonts/fonts.css")
link(rel="stylesheet" href="/style.css")
if SITE_THEME
	link(rel="stylesheet" href="/themes/"+SITE_THEME)

mixin social(title,description,game)
	meta(property="og:title" content=title)
	meta(property="og:type" content="website")
	if game
		meta(property="og:image" content=SITE_URL+"/"+game+"/cover.2x.jpg")
	else
		if SITE_ICON
			meta(property="og:image" content=SITE_URL+"/images/"+SITE_ICON)
		else
			meta(property="og:image" content=SITE_URL+"/images/rally-the-troops.png")
	meta(property="og:description" content=description)

mixin gamecover(title_id)
	a(href="/"+title_id)
		img(src=`/${title_id}/cover.1x.jpg` srcset=`/${title_id}/cover.2x.jpg 2x`)

mixin forumpost(row,show_buttons)
	.post(id=row.post_id)
		.head
			.from: b: a.black(href="/user/"+row.author_name)= row.author_name
			.time= row.ctime
				if row.edited
					|
					| (edited #{row.mtime})
		.body!= row.body
	if show_buttons && user
		.edit
			if user.user_id === 1
				| #[a(href="/forum/delete-post/"+row.post_id) DELETE]
				|
			if row.author_id === user.user_id
				| #[a(href="/forum/edit/"+row.post_id) Edit]
				|
			| #[a(href="/forum/reply/"+row.post_id) Reply]

mixin gamelist(list,hide_title=0)
	div.game_list
		each item in list
			div
				-
					let className = "game_item"
					let pace_icon = ""
					let pace_text = ""
					let chat_icon = ""
					if (item.your_turn) className += " your_turn"
					if (item.status === 0 && item.join_count === 0) className += " open replacement"
					else if (item.status === 0 && item.join_count !== item.player_count) className += " open"
					else if (item.status === 0 && item.join_count === item.player_count) className += " ready"
					else if (item.status === 1 && item.join_count !== item.player_count) className += " replacement"
					else if (item.status === 1 && item.join_count === item.player_count) className += " active"
					else if (item.status === 2) className += " finished"
					else if (item.status === 3) className += " archived"
					if (item.is_unread) chat_icon = "\u{1f4dd}"
					if (item.is_private) pace_icon += EMOJI_PRIVATE
					if (item.is_match)
						pace_icon += EMOJI_MATCH
					else if (item.pace > 0)
						pace_icon += PACE_ICON[item.pace], pace_text = PACE_TEXT[item.pace]

				div(class=className)
					div.game_head
						if item.scenario.length <= 2
							div
								| #{pace_icon} <a href="/join/#{item.game_id}">##{item.game_id} &#x2013; #{item.title_name} (#{item.scenario})</a> #{chat_icon}
						else
							div
								| #{pace_icon} <a href="/join/#{item.game_id}">##{item.game_id} &#x2013; #{item.title_name}</a> #{chat_icon}

						case item.status
							when 0
								a(class="command" href=`/join/${item.game_id}`) Join
							when 1
								if !item.is_ready
									a(class="command" href="/join/"+item.game_id) Join
								else if item.is_yours
									if item.your_role
										a(class="command" href=`/${item.title_id}/play.html?game=${item.game_id}&role=${encodeURIComponent(item.your_role)}`) Play
									else
										a(class="command" href="/join/"+item.game_id) Play
								else
									a(class="command" href=`/${item.title_id}/play.html?game=${item.game_id}`) Watch
							when 2
								if item.is_yours
									if item.your_role
										a(class="command" href=`/${item.title_id}/play.html?game=${item.game_id}&role=${encodeURIComponent(item.your_role)}`) Review
									else
										a(class="command" href="/join/"+item.game_id) Review
								else
									a(class="command" href=`/${item.title_id}/play.html?game=${item.game_id}`) Review
							when 3
								| Archived

					div.game_main
						div.game_info
							if item.notice
								i= item.notice
							else
								i= pace_text
							if item.scenario !== "Standard" && item.scenario !== "Historical" && item.scenario.length > 2
								div Scenario: #{item.scenario}
							unless item.human_options === "None"
								div Options: #{item.human_options}
							if item.player_names
								div Players: !{item.player_names}
							else
								div Players: <span class="error">Nobody</span>
							case item.status
								when 0
									div Created: #{item.ctime}
								when 1
									div Last move: #{item.mtime}
									if item.time_left <= 0
										div Time left: none.
									else if item.time_left <= 2
										div Time left: #{ item.time_left * 24 | 0 } hours
									else if item.time_left <= 5
										div Time left: #{ item.time_left | 0 } days
								when 2
									div Finished: #{item.mtime}
									div Result: !{item.result}
								when 3
									div Finished: #{item.mtime}
									div Result: !{item.result}
						unless hide_title
							a(href=`/${item.title_id}`)
								img(src=`/${item.title_id}/thumbnail.jpg`)