@@ -25,13 +25,7 @@ public function list(): string
2525 $ a = $ this ->a ;
2626 $ t = $ this ->t ();
2727
28- $ html = <<<HTML
29- <div class="blog-header">
30- <h1>Blog</h1>
31- <p class="text-muted">Latest posts and updates</p>
32- </div>
33- <div class="blog-grid">
34- HTML ;
28+ $ html = '<div class="blog-list"> ' ;
3529
3630 foreach ($ a ['items ' ] as $ post ) {
3731 $ title = htmlspecialchars ($ post ['title ' ]);
@@ -42,35 +36,35 @@ public function list(): string
4236 $ url = "?o=Blog&m=read&id= {$ post ['id ' ]}$ t " ;
4337
4438 $ html .= <<<HTML
45- <article class="blog-card ">
46- <a href=" $ url" hx-get=" $ url" hx-target="#main" hx-push-url="true" class="blog-card -image">
39+ <article class="card-hover blog-item ">
40+ <a href=" $ url" hx-get=" $ url" hx-target="#main" hx-push-url="true" class="blog-item -image">
4741 <img src=" $ image" alt=" $ title" loading="lazy">
4842 </a>
49- <div class="blog-card -content">
43+ <div class="blog-item -content">
5044 <h3><a href=" $ url" hx-get=" $ url" hx-target="#main" hx-push-url="true"> $ title</a></h3>
51- <p class="blog-card-excerpt"> $ excerpt</p>
52- <p class="blog-card-meta">
53- <span> $ author</span> • <span> $ date</span>
54- </p>
45+ <p class="blog-item-meta"> $ author • $ date</p>
46+ <p class="blog-item-excerpt"> $ excerpt</p>
5547 </div>
5648 </article>
5749 HTML ;
5850 }
5951
6052 $ html .= '</div> ' ;
6153
62- // Pagination with htmx
54+ // Pagination (similar style to single page prev/next)
6355 $ p = $ a ['pagination ' ];
6456 if ($ p ['pages ' ] > 1 ) {
65- $ html .= '<div class="blog-pagination "> ' ;
57+ $ html .= '<div class="blog-nav "> ' ;
6658 if ($ p ['page ' ] > 1 ) {
6759 $ prevUrl = "?o=Blog&page= " . ($ p ['page ' ] - 1 ) . $ t ;
68- $ html .= "<a href= \"$ prevUrl \" hx-get= \"$ prevUrl \" hx-target= \"#main \" hx-push-url= \"true \" class= \"btn \">« Newer</a> " ;
60+ $ html .= "<a href= \"$ prevUrl \" hx-get= \"$ prevUrl \" hx-target= \"#main \" hx-push-url= \"true \" class= \"blog-nav-prev \">« Newer Posts</a> " ;
61+ } else {
62+ $ html .= '<span></span> ' ;
6963 }
70- $ html .= "<span>Page {$ p ['page ' ]} of {$ p ['pages ' ]}</span> " ;
64+ $ html .= "<span class= \" blog-nav-page \" >Page {$ p ['page ' ]} of {$ p ['pages ' ]}</span> " ;
7165 if ($ p ['page ' ] < $ p ['pages ' ]) {
7266 $ nextUrl = "?o=Blog&page= " . ($ p ['page ' ] + 1 ) . $ t ;
73- $ html .= "<a href= \"$ nextUrl \" hx-get= \"$ nextUrl \" hx-target= \"#main \" hx-push-url= \"true \" class= \"btn \">Older »</a> " ;
67+ $ html .= "<a href= \"$ nextUrl \" hx-get= \"$ nextUrl \" hx-target= \"#main \" hx-push-url= \"true \" class= \"blog-nav-next \">Older Posts »</a> " ;
7468 }
7569 $ html .= '</div> ' ;
7670 }
@@ -95,7 +89,7 @@ public function read(): string
9589 $ author = htmlspecialchars ($ a ['author ' ]);
9690 $ date = date ('F j, Y ' , strtotime ($ a ['created ' ]));
9791 $ image = $ a ['featured_image ' ]
98- ? "<img src= \"{$ a ['featured_image ' ]}\" alt= \"$ title \" class= \"blog-featured-image \"> "
92+ ? "<img src= \"{$ a ['featured_image ' ]}\" alt= \"$ title \" class= \"blog-featured-image \" style= \" float:right;width:33%;margin:0 0 1rem 1.5rem;border-radius:var(--radius-md); \" > "
9993 : '' ;
10094
10195 // Build category tags
@@ -115,27 +109,27 @@ public function read(): string
115109 if ($ a ['prev ' ]) {
116110 $ prevTitle = htmlspecialchars ($ a ['prev ' ]['title ' ]);
117111 $ prevUrl = "?o=Blog&m=read&id= {$ a ['prev ' ]['id ' ]}$ t " ;
118- $ prevNext .= "<a href= \"$ prevUrl \" hx-get= \"$ prevUrl \" hx-target= \"#main \" hx-push-url= \"true \" class= \"blog-nav-prev \"><span>« Previous</span><strong> $ prevTitle</strong> </a> " ;
112+ $ prevNext .= "<a href= \"$ prevUrl \" hx-get= \"$ prevUrl \" hx-target= \"#main \" hx-push-url= \"true \" class= \"blog-nav-prev \">« $ prevTitle</a> " ;
119113 } else {
120114 $ prevNext .= '<span></span> ' ;
121115 }
122116 if ($ a ['next ' ]) {
123117 $ nextTitle = htmlspecialchars ($ a ['next ' ]['title ' ]);
124118 $ nextUrl = "?o=Blog&m=read&id= {$ a ['next ' ]['id ' ]}$ t " ;
125- $ prevNext .= "<a href= \"$ nextUrl \" hx-get= \"$ nextUrl \" hx-target= \"#main \" hx-push-url= \"true \" class= \"blog-nav-next \"><span>Next »</span><strong> $ nextTitle</strong> </a> " ;
119+ $ prevNext .= "<a href= \"$ nextUrl \" hx-get= \"$ nextUrl \" hx-target= \"#main \" hx-push-url= \"true \" class= \"blog-nav-next \"> $ nextTitle » </a> " ;
126120 }
127121 $ prevNext .= '</div> ' ;
128122
129123 $ backUrl = "?o=Blog $ t " ;
130124 return <<<HTML
125+ $ prevNext
131126 <article class="blog-single">
132127 <header class="blog-single-header">
133128 <h1><a href=" $ backUrl" hx-get=" $ backUrl" hx-target="#main" hx-push-url="true" class="back-arrow">«</a> $ title</h1>
134129 <p class="blog-single-meta">By $ author • $ date</p>
135130 $ catTags
136131 </header>
137- $ image
138- <div class="prose"> $ content</div>
132+ <div class="prose"> $ image$ content</div>
139133 </article>
140134 $ prevNext
141135 HTML ;
0 commit comments