Skip to content
This repository was archived by the owner on Mar 23, 2025. It is now read-only.

Commit a0e5a03

Browse files
committed
DRY html modal and head
1 parent e53641a commit a0e5a03

File tree

8 files changed

+56
-91
lines changed

8 files changed

+56
-91
lines changed

src/util.cr

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ macro layout(name)
1010
if token = env.session.string? "token"
1111
is_admin = @context.storage.verify_admin token
1212
end
13+
page = {{name}}
1314
render "src/views/#{{{name}}}.ecr", "src/views/layout.ecr"
1415
rescue e
1516
message = e.to_s

src/views/components/entry-modal.ecr

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<div id="modal" class="uk-flex-top" uk-modal>
2+
<div class="uk-modal-dialog uk-margin-auto-vertical">
3+
<button class="uk-modal-close-default" type="button" uk-close></button>
4+
<div class="uk-modal-header">
5+
<div>
6+
<% if page == "home" %>
7+
<h4 class="uk-margin-remove-bottom"><a id="modal-title-link"></a></h4>
8+
<% end %>
9+
<h3 class="uk-modal-title break-word uk-margin-remove-top" id="modal-entry-title"><span></span>
10+
<% unless page == "home" %>
11+
&nbsp;
12+
<% if is_admin %>
13+
<a class="uk-icon-button" uk-icon="icon:pencil"></a>
14+
<% end %>
15+
<% end %>
16+
</h3>
17+
</div>
18+
<p class="uk-text-meta uk-margin-remove-bottom break-word" id="path-text"></p>
19+
<p class="uk-text-meta uk-margin-remove-top" id="pages-text"></p>
20+
</div>
21+
<div class="uk-modal-body">
22+
<p>Read</p>
23+
<p uk-margin>
24+
<a id="beginning-btn" class="uk-button uk-button-default">From beginning</a>
25+
<a id="continue-btn" class="uk-button uk-button-primary"></a>
26+
</p>
27+
<p>Progress</p>
28+
<p uk-margin>
29+
<button id="read-btn" class="uk-button uk-button-default">Mark as read (100%)</button>
30+
<button id="unread-btn" class="uk-button uk-button-default">Mark as unread (0%)</button>
31+
</p>
32+
</div>
33+
</div>
34+
</div>

src/views/components/head.ecr

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<head>
2+
<meta charset="utf-8">
3+
<meta name="X-UA-Compatible" content="IE=edge">
4+
<title>Mango</title>
5+
<meta name="description" content="Mango - Manga Server and Web Reader">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.3.1/dist/css/uikit.min.css" />
8+
<link rel="stylesheet" href="<%= base_url %>css/mango.css" />
9+
<link rel="icon" href="<%= base_url %>favicon.ico">
10+
<script defer src="<%= base_url %>js/fontawesome.min.js"></script>
11+
<script defer src="<%= base_url %>js/solid.min.js"></script>
12+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
13+
<script src="<%= base_url %>js/theme.js"></script>
14+
</head>

src/views/home.ecr

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -57,32 +57,7 @@
5757
</div>
5858
<%- end -%>
5959

60-
<!-- TODO: DRY this code with calls in other ecr files? eg. title.ecr -->
61-
<div id="modal" class="uk-flex-top" uk-modal>
62-
<div class="uk-modal-dialog uk-margin-auto-vertical">
63-
<button class="uk-modal-close-default" type="button" uk-close></button>
64-
<div class="uk-modal-header">
65-
<div>
66-
<h4 class="uk-margin-remove-bottom"><a id="modal-title-link"></a></h4>
67-
<h3 class="uk-modal-title break-word uk-margin-remove-top" id="modal-entry-title"><span></span></h3>
68-
</div>
69-
<p class="uk-text-meta uk-margin-remove-bottom break-word" id="path-text"></p>
70-
<p class="uk-text-meta uk-margin-remove-top" id="pages-text"></p>
71-
</div>
72-
<div class="uk-modal-body">
73-
<p>Read</p>
74-
<p uk-margin>
75-
<a id="beginning-btn" class="uk-button uk-button-default">From beginning</a>
76-
<a id="continue-btn" class="uk-button uk-button-primary"></a>
77-
</p>
78-
<p>Progress</p>
79-
<p uk-margin>
80-
<button id="read-btn" class="uk-button uk-button-default">Mark as read (100%)</button>
81-
<button id="unread-btn" class="uk-button uk-button-default">Mark as unread (0%)</button>
82-
</p>
83-
</div>
84-
</div>
85-
</div>
60+
<%= render_component "entry-modal" %>
8661

8762
<%- end -%>
8863

src/views/layout.ecr

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,7 @@
11
<!DOCTYPE html>
22
<html>
33

4-
<head>
5-
<meta charset="utf-8">
6-
<meta name="X-UA-Compatible" content="IE=edge">
7-
<title>Mango</title>
8-
<meta name="description" content="Mango - Manga Server and Web Reader">
9-
<meta name="viewport" content="width=device-width, initial-scale=1">
10-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.3.1/dist/css/uikit.min.css" />
11-
<link rel="stylesheet" href="<%= base_url %>css/mango.css" />
12-
<link rel="icon" href="<%= base_url %>favicon.ico">
13-
<script defer src="<%= base_url %>js/fontawesome.min.js"></script>
14-
<script defer src="<%= base_url %>js/solid.min.js"></script>
15-
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
16-
<script src="<%= base_url %>js/theme.js"></script>
17-
</head>
4+
<%= render_component "head" %>
185

196
<body>
207
<div class="uk-offcanvas-content">

src/views/login.ecr

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,7 @@
11
<!DOCTYPE html>
22
<html>
33

4-
<head>
5-
<meta charset="utf-8">
6-
<meta name="X-UA-Compatible" content="IE=edge">
7-
<title>Mango</title>
8-
<meta name="description" content="Mango Manga Server">
9-
<meta name="viewport" content="width=device-width, initial-scale=1">
10-
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
11-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.3.1/dist/css/uikit.min.css" />
12-
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
13-
<script src="<%= base_url %>js/theme.js"></script>
14-
</head>
4+
<%= render_component "head" %>
155

166
<body>
177
<div class="uk-section uk-flex uk-flex-middle uk-animation-fade" uk-height-viewport="">
@@ -43,4 +33,4 @@
4333
<script src="https://cdn.jsdelivr.net/npm/uikit@3.3.1/dist/js/uikit-icons.min.js"></script>
4434
</body>
4535

46-
</html>
36+
</html>

src/views/reader.ecr

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,7 @@
11
<!DOCTYPE html>
22
<html class="reader-bg">
33

4-
<head>
5-
<meta charset="utf-8">
6-
<meta name="X-UA-Compatible" content="IE=edge">
7-
<title>Mango</title>
8-
<meta name="description" content="Mango Manga Server">
9-
<meta name="viewport" content="width=device-width, initial-scale=1">
10-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.3.1/dist/css/uikit.min.css" />
11-
<link rel="stylesheet" href="<%= base_url %>css/mango.css" />
12-
</head>
4+
<%= render_component "head" %>
135

146
<body>
157
<script src="<%= base_url %>js/theme.js"></script>
@@ -67,4 +59,4 @@
6759
<script src="<%= base_url %>js/reader.js"></script>
6860
</body>
6961

70-
</html>
62+
</html>

src/views/title.ecr

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -42,35 +42,7 @@
4242
<% end %>
4343
</div>
4444

45-
<div id="modal" class="uk-flex-top" uk-modal>
46-
<div class="uk-modal-dialog uk-margin-auto-vertical">
47-
<button class="uk-modal-close-default" type="button" uk-close></button>
48-
<div class="uk-modal-header">
49-
<div>
50-
<h3 class="uk-modal-title break-word" id="modal-entry-title"><span></span>
51-
&nbsp;
52-
<% if is_admin %>
53-
<a class="uk-icon-button" uk-icon="icon:pencil"></a>
54-
<% end %>
55-
</h3>
56-
</div>
57-
<p class="uk-text-meta uk-margin-remove-bottom break-word" id="path-text"></p>
58-
<p class="uk-text-meta uk-margin-remove-top" id="pages-text"></p>
59-
</div>
60-
<div class="uk-modal-body">
61-
<p>Read</p>
62-
<p uk-margin>
63-
<a id="beginning-btn" class="uk-button uk-button-default">From beginning</a>
64-
<a id="continue-btn" class="uk-button uk-button-primary"></a>
65-
</p>
66-
<p>Progress</p>
67-
<p uk-margin>
68-
<button id="read-btn" class="uk-button uk-button-default">Mark as read (100%)</button>
69-
<button id="unread-btn" class="uk-button uk-button-default">Mark as unread (0%)</button>
70-
</p>
71-
</div>
72-
</div>
73-
</div>
45+
<%= render_component "entry-modal" %>
7446

7547
<div id="edit-modal" class="uk-flex-top" uk-modal>
7648
<div class="uk-modal-dialog uk-margin-auto-vertical">

0 commit comments

Comments
 (0)