diff options
Diffstat (limited to 'src/app/Views/gallery')
| -rw-r--r-- | src/app/Views/gallery/index.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/app/Views/gallery/index.php b/src/app/Views/gallery/index.php new file mode 100644 index 0000000..62fd7f3 --- /dev/null +++ b/src/app/Views/gallery/index.php @@ -0,0 +1,40 @@ +<?php // Gallery: public feed of all posts with pagination.?> +<div class="gallery-page"> + <h1>Gallery</h1> + + <?php if (empty($posts)): ?> + <p class="hint">No posts yet. Be the first!</p> + <?php endif; ?> + + <div class="gallery-feed"> + <?php foreach ($posts as $post): ?> + <article class="gallery-post"> + <div class="post-header"> + <strong><?= htmlspecialchars($post['username']) ?></strong> + <time><?= date('M j, Y', strtotime($post['created_at'])) ?></time> + </div> + <img src="/<?= htmlspecialchars($post['image_path']) ?>" alt="Post by <?= htmlspecialchars($post['username']) ?>"> + </article> + <?php endforeach; ?> + </div> + + <?php if ($totalPages > 1): ?> + <nav class="pagination"> + <?php if ($page > 1): ?> + <a href="/gallery?page=<?= $page - 1 ?>">« Previous</a> + <?php endif; ?> + + <?php for ($i = 1; $i <= $totalPages; $i++): ?> + <?php if ($i === $page): ?> + <span class="current-page"><?= $i ?></span> + <?php else: ?> + <a href="/gallery?page=<?= $i ?>"><?= $i ?></a> + <?php endif; ?> + <?php endfor; ?> + + <?php if ($page < $totalPages): ?> + <a href="/gallery?page=<?= $page + 1 ?>">Next »</a> + <?php endif; ?> + </nav> + <?php endif; ?> +</div> |
