mirror of
https://codeberg.org/danielsiepmann/news-reader-php.git
synced 2024-11-22 04:06:09 +01:00
Improve layout
Don't have left sidebar. Add small sidebar to the right of each entry to interact with each entry.
This commit is contained in:
parent
463bd1b4bf
commit
bed87f8a10
12 changed files with 68 additions and 81 deletions
|
@ -1,4 +0,0 @@
|
|||
body > main {
|
||||
display: grid;
|
||||
grid-template-columns: var(--width-sidebar-max) calc(100% - var(--width-sidebar-max));
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
body > main > section {
|
||||
body > main {
|
||||
padding: var(--spacing-elements);
|
||||
header h1 {
|
||||
margin: 0;
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
body > main > nav {
|
||||
border: {
|
||||
right: var(--color-blue-light) solid var(--width-border-default);
|
||||
}
|
||||
|
||||
a {
|
||||
display: block;
|
||||
padding: var(--spacing-small-elements);
|
||||
}
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
@import 'variables';
|
||||
@import 'elements';
|
||||
@import 'components/header';
|
||||
@import 'components/sidebar';
|
||||
@import 'components/content';
|
||||
@import 'components/footer';
|
||||
@import 'layout';
|
||||
|
|
|
@ -2,4 +2,3 @@ twig:
|
|||
default_path: '%kernel.project_dir%/templates'
|
||||
globals:
|
||||
app_name: RSS Reader
|
||||
buckets: '@App\Repository\BucketRepository'
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
# Static pages / templates
|
||||
start:
|
||||
path: /
|
||||
controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController
|
||||
defaults:
|
||||
template: 'static/start.html.twig'
|
||||
controller: App\Controller\BucketController::index
|
||||
|
||||
buckets:
|
||||
path: /buckets/
|
||||
controller: App\Controller\BucketController::index
|
||||
|
||||
bucket:
|
||||
path: /bucket/{slug}
|
||||
|
|
|
@ -51,15 +51,9 @@ body > header {
|
|||
body > header h1 {
|
||||
margin: 0; }
|
||||
|
||||
body > main > nav {
|
||||
border-right: var(--color-blue-light) solid var(--width-border-default); }
|
||||
body > main > nav a {
|
||||
display: block;
|
||||
padding: var(--spacing-small-elements); }
|
||||
|
||||
body > main > section {
|
||||
body > main {
|
||||
padding: var(--spacing-elements); }
|
||||
body > main > section header h1 {
|
||||
body > main header h1 {
|
||||
margin: 0; }
|
||||
|
||||
article {
|
||||
|
@ -97,7 +91,3 @@ article {
|
|||
body > footer {
|
||||
padding: var(--spacing-small-elements);
|
||||
border-top: var(--color-blue-light) solid var(--width-border-default); }
|
||||
|
||||
body > main {
|
||||
display: grid;
|
||||
grid-template-columns: var(--width-sidebar-max) calc(100% - var(--width-sidebar-max)); }
|
||||
|
|
|
@ -3,13 +3,32 @@
|
|||
namespace App\Controller;
|
||||
|
||||
use App\Entity\Bucket;
|
||||
use App\Repository\BucketRepository;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
|
||||
class BucketController extends AbstractController
|
||||
{
|
||||
public function show(Bucket $bucket)
|
||||
/**
|
||||
* @var BucketRepository
|
||||
*/
|
||||
private $repository;
|
||||
|
||||
public function __construct(
|
||||
BucketRepository $repository
|
||||
) {
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
return $this->render('bucket/index.html.twig', [
|
||||
'buckets' => $this->repository->findAll(),
|
||||
]);
|
||||
}
|
||||
|
||||
public function show(Bucket $bucket)
|
||||
{
|
||||
return $this->render('bucket/show.html.twig', [
|
||||
'bucket' => $bucket,
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -13,15 +13,7 @@
|
|||
</header>
|
||||
|
||||
<main>
|
||||
<nav>
|
||||
{% for bucket in buckets.findAll %}
|
||||
<a href="{{ path('bucket', {slug: bucket.slug}) }}">{{ bucket.name }}</a>
|
||||
{% endfor %}
|
||||
</nav>
|
||||
|
||||
<section>
|
||||
{% block body %}{% endblock %}
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
|
|
|
@ -1,24 +1,21 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{{ bucket.name }} | {{ parent() }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<header>
|
||||
<h1>Bucket: {{ bucket.name }} <small>with {{ bucket.feeds | length }} feeds</small></h1>
|
||||
<nav> </nav>
|
||||
</header>
|
||||
{% for bucket in buckets %}
|
||||
<article>
|
||||
<h1><a href="{{ path('bucket', {slug: bucket.slug}) }}">Bucket: {{ bucket.name }}</a> <small>with {{ bucket.feeds | length }} feeds</small></h1>
|
||||
|
||||
{# TODO: collect newest entries of all feeds in controller #}
|
||||
{{ include('feed/entries.html.twig', {entries: bucket.feeds.first.entries | slice(0, 10) }) }}
|
||||
|
||||
<aside>
|
||||
<h1>Feeds in this bucket</h1>
|
||||
<main>
|
||||
<ul>
|
||||
{% for feed in bucket.feeds %}
|
||||
<li>
|
||||
<a href="{{ path('feed', {slug: feed.slug}) }}">{{ feed.name }}</a>
|
||||
</li>
|
||||
<li>{{ feed.name }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</aside>
|
||||
</main>
|
||||
|
||||
<nav>
|
||||
</nav>
|
||||
|
||||
</article>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
|
|
24
templates/bucket/show.html.twig
Normal file
24
templates/bucket/show.html.twig
Normal file
|
@ -0,0 +1,24 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{{ bucket.name }} | {{ parent() }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<header>
|
||||
<h1>Bucket: {{ bucket.name }} <small>with {{ bucket.feeds | length }} feeds</small></h1>
|
||||
<nav> </nav>
|
||||
</header>
|
||||
|
||||
{# TODO: collect newest entries of all feeds in controller #}
|
||||
{{ include('feed/entries.html.twig', {entries: bucket.feeds.first.entries | slice(0, 10) }) }}
|
||||
|
||||
<aside>
|
||||
<h1>Feeds in this bucket</h1>
|
||||
<ul>
|
||||
{% for feed in bucket.feeds %}
|
||||
<li>
|
||||
<a href="{{ path('feed', {slug: feed.slug}) }}">{{ feed.name }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</aside>
|
||||
{% endblock %}
|
|
@ -1,20 +0,0 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Hello FeedController!{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<style>
|
||||
.example-wrapper { margin: 1em auto; max-width: 800px; width: 95%; font: 18px/1.5 sans-serif; }
|
||||
.example-wrapper code { background: #F5F5F5; padding: 2px 6px; }
|
||||
</style>
|
||||
|
||||
<div class="example-wrapper">
|
||||
<h1>Hello {{ controller_name }}! ✅</h1>
|
||||
|
||||
This friendly message is coming from:
|
||||
<ul>
|
||||
<li>Your controller at <code><a href="{{ '/home/daniels/Projects/own/rss/project/src/Controller/FeedController.php'|file_link(0) }}">src/Controller/FeedController.php</a></code></li>
|
||||
<li>Your template at <code><a href="{{ '/home/daniels/Projects/own/rss/project/templates/feed/index.html.twig'|file_link(0) }}">templates/feed/index.html.twig</a></code></li>
|
||||
</ul>
|
||||
</div>
|
||||
{% endblock %}
|
Loading…
Reference in a new issue