diff --git a/.gitignore b/.gitignore index 9ebe940e..05d830d8 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ build/** !build/*.txt !build/*.xml !build/*.php +app/config/*.toml diff --git a/app/views/anime/cover.php b/app/views/anime/cover.php index 8140430b..4c310c6a 100644 --- a/app/views/anime/cover.php +++ b/app/views/anime/cover.php @@ -1,6 +1,6 @@
is_authenticated()): ?> -Add Item +Add Item

There's nothing here!

@@ -17,7 +17,7 @@ img($item['anime']['image']); ?>
- + html($item['anime']['title']) ?> ({$item['anime']['alternate_title']})" : ""; ?> diff --git a/app/views/anime/details.php b/app/views/anime/details.php index 94ab30fe..91a0d756 100644 --- a/app/views/anime/details.php +++ b/app/views/anime/details.php @@ -1,11 +1,50 @@ -
-

- -

- - - <?= $data['title'] ?> cover image +
+
+
+ <?= $data['title'] ?> cover image +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Airing Status
Show Type
Episode Count
Episode Length minutes
Age Rating
Genres + + +
+
+
+

+ +

+ -

-
+
+

+
+
\ No newline at end of file diff --git a/app/views/anime/list.php b/app/views/anime/list.php index 055f2b29..bbeee7f9 100644 --- a/app/views/anime/list.php +++ b/app/views/anime/list.php @@ -1,6 +1,6 @@
is_authenticated()): ?> -Add Item +Add Item

There's nothing here!

@@ -34,7 +34,7 @@ - + " . $item['anime']['alternate_title'] : "" ?> diff --git a/app/views/collection/cover.php b/app/views/collection/cover.php index 3dafcbf0..51e8f9d5 100644 --- a/app/views/collection/cover.php +++ b/app/views/collection/cover.php @@ -13,7 +13,7 @@
- + ({$item['alternate_title']})" : ""; ?> diff --git a/app/views/header.php b/app/views/header.php index 0dd2ee52..6a8ce3cc 100644 --- a/app/views/header.php +++ b/app/views/header.php @@ -6,7 +6,8 @@ - + + @@ -31,9 +32,9 @@ is_authenticated()): ?> - ">Logout + Logout - [">get('whose_list') ?>'s Login] + [get('whose_list') ?>'s Login] diff --git a/app/views/login.php b/app/views/login.php index cf242d9d..45fbacc8 100644 --- a/app/views/login.php +++ b/app/views/login.php @@ -1,7 +1,7 @@

get('whose_list'); ?>'s Login

-
+ diff --git a/app/views/message.ms b/app/views/message.ms deleted file mode 100644 index 99b2b568..00000000 --- a/app/views/message.ms +++ /dev/null @@ -1,5 +0,0 @@ -
- - {{message}} - x -
\ No newline at end of file diff --git a/public/css/base.css b/public/css/base.css index 8514e4ec..65ac1e7d 100644 --- a/public/css/base.css +++ b/public/css/base.css @@ -137,6 +137,10 @@ h1 a { text-align: right; } +.valign_top { + vertical-align: top; +} + .no_border { border: none; } @@ -307,13 +311,13 @@ h1 a { min-width: 70%; } -.form.invisible tr:nth-child(odd) { +.invisible tbody > tr:nth-child(odd) { background: inherit; } -.form.invisible tr, -.form.invisible td, -.form.invisible th { +.invisible tr, +.invisible td, +.invisible th { border: 0; } @@ -339,10 +343,6 @@ h1 a { line-height: 1em; } -/*.message .close:after { - content: '☐'; -}*/ - .message:hover .close:after { content: '☒'; } @@ -554,7 +554,7 @@ h1 a { } /* ----------------------------------------------------------------------------- - Page-specific styles + Search page styles ------------------------------------------------------------------------------*/ .media.search > .name { @@ -600,4 +600,50 @@ h1 a { height: 100%; width: 100%; vertical-align: middle; +} + +/* ---------------------------------------------------------------------------- + Details page styles +-----------------------------------------------------------------------------*/ + +.details { + margin: 1.5rem auto 0 auto; + max-width: 93rem; + padding: 1rem; + font-size: inherit; +} + +.details .cover { + max-width: 300px; + max-height: 435px; +} + +.details h2 { + margin-top: 0; +} + +.details .flex > div { + margin: 1rem; +} + +.details table { + max-width: 300px; +} + +.details td { + padding: 0 1.5rem; +} + +.details p { + text-align: justify; +} + +.details td:nth-child(odd) { + width: 1%; + white-space: nowrap; + text-align: right; +} + +.details td:nth-child(even) { + text-align: left; } \ No newline at end of file diff --git a/public/css/base.myth.css b/public/css/base.myth.css index 39522d4f..ba3fa8a3 100644 --- a/public/css/base.myth.css +++ b/public/css/base.myth.css @@ -79,6 +79,8 @@ a:hover, a:active { .align_left {text-align:left} .align_right {text-align:right} +.valign_top {vertical-align:top} + .no_border {border:none} .media-wrap { @@ -159,11 +161,8 @@ a:hover, a:active { Table sorting and form styles ------------------------------------------------------------------------------*/ .sorting, -/*.sorting::before,*/ .sorting_asc, -/*.sorting_asc::before,*/ -.sorting_desc -/*.sorting_desc::before*/ { +.sorting_desc { vertical-align:text-bottom; } .sorting::before { @@ -193,10 +192,10 @@ a:hover, a:active { min-width:70%; } -.form.invisible tr:nth-child(odd) { +.invisible tbody > tr:nth-child(odd) { background: inherit; } -.form.invisible tr, .form.invisible td, .form.invisible th { +.invisible tr, .invisible td, .invisible th { border:0; } @@ -222,10 +221,6 @@ a:hover, a:active { line-height:1em; } -/*.message .close:after { - content: '☐'; -}*/ - .message:hover .close:after { content: '☒'; } @@ -423,7 +418,7 @@ a:hover, a:active { /* ----------------------------------------------------------------------------- - Page-specific styles + Search page styles ------------------------------------------------------------------------------*/ .media.search > .name { background-color:#555; @@ -467,5 +462,45 @@ a:hover, a:active { vertical-align:middle; } +/* ---------------------------------------------------------------------------- + Details page styles +-----------------------------------------------------------------------------*/ +.details { + margin: 1.5rem auto 0 auto; + max-width:93rem; + padding:1rem; + font-size:inherit; +} +.details .cover { + max-width: 300px; + max-height: 435px; +} +.details h2 { + margin-top: 0; +} + +.details .flex > div { + margin: 1rem; +} + +.details table { + max-width:300px; +} + .details td { + padding:0 1.5rem; + } + +.details p { + text-align:justify; +} + +.details td:nth-child(odd) { + width:1%; + white-space:nowrap; + text-align:right; +} +.details td:nth-child(even) { + text-align:left; +} \ No newline at end of file diff --git a/public/css/marx.css b/public/css/marx.css index c1616f66..6d93551b 100644 --- a/public/css/marx.css +++ b/public/css/marx.css @@ -573,7 +573,6 @@ nav ul { list-style: none; margin: 0; padding: 0; - padding-top: 1.6rem; text-align: center; } diff --git a/public/css/marx.myth.css b/public/css/marx.myth.css index d42cd5b4..e1fa55bd 100644 --- a/public/css/marx.myth.css +++ b/public/css/marx.myth.css @@ -390,7 +390,6 @@ nav ul { list-style: none; margin: 0; padding: 0; - padding-top: 1.6rem; text-align: center; } nav ul li { display: inline; } diff --git a/public/test/tests/AnimeClient.js b/public/test/tests/AnimeClient.js index b22f0017..62d1d70e 100644 --- a/public/test/tests/AnimeClient.js +++ b/public/test/tests/AnimeClient.js @@ -4,7 +4,7 @@ suite('AnimeClient methods exist', function () { test("AnimeClient exists", function () { expect(AnimeClient).to.be.ok; }); - ['$', 'scrollToTop', 'showMessage', 'closestParent', 'url', 'throttle', 'on', 'ajax', 'get'].forEach((method) => { + ['$', 'scrollToTop', 'showMessage', 'show', 'hide', 'closestParent', 'url', 'throttle', 'on', 'ajax', 'get'].forEach((method) => { test("AnimeClient." + method + ' exists.', function () { expect(AnimeClient[method]).to.be.ok; }); diff --git a/src/Aviat/Ion/View/HttpView.php b/src/Aviat/Ion/View/HttpView.php index 29c1de24..b31b2d67 100644 --- a/src/Aviat/Ion/View/HttpView.php +++ b/src/Aviat/Ion/View/HttpView.php @@ -24,6 +24,7 @@ class HttpView extends BaseView { /** * Do a redirect * + * @codeCoverageIgnore * @param string $url * @param int $code * @return void @@ -35,13 +36,11 @@ class HttpView extends BaseView { $this->setStatusCode($code); $this->response->withHeader('Location', $url); - // @codeCoverageIgnore start if (PHP_SAPI !== 'cli') { header("HTTP/1.1 ${code} ${message}"); header("Location: {$url}"); } - // @codeCoverageIgnore end $this->hasRendered = TRUE; ob_end_clean(); @@ -55,7 +54,7 @@ class HttpView extends BaseView { */ public function setStatusCode($code) { - $this->response->withStatus($code) + $this->response = $this->response->withStatus($code) ->withProtocolVersion(1.1); return $this; } diff --git a/tests/Ion/View/HttpViewTest.php b/tests/Ion/View/HttpViewTest.php index ff0ca283..0112246d 100644 --- a/tests/Ion/View/HttpViewTest.php +++ b/tests/Ion/View/HttpViewTest.php @@ -14,14 +14,6 @@ class HttpViewTest extends AnimeClient_TestCase { $this->friend = new Friend($this->view); } - public function testRedirect() - { -$this->markTestSkipped(); - $this->friend->redirect('/foo', 303); - $this->assertEquals(['/foo'], $this->friend->response->getHeader('Location')); - $this->assertEquals(303, $this->friend->response->getStatusCode()); - } - public function testGetOutput() { $this->friend->setOutput('foo'); @@ -48,8 +40,7 @@ $this->markTestSkipped(); public function testSetStatusCode() { -$this->markTestSkipped(); - $this->view->setStatusCode(404); - $this->assertEquals(404, $this->friend->response->getStatusCode()); + $view = $this->view->setStatusCode(404); + $this->assertEquals(404, $view->response->getStatusCode()); } } \ No newline at end of file