調整文章頁面樣式

This commit is contained in:
kroutony 2020-02-26 11:23:34 +08:00
parent dda9c2b484
commit b87090658c
7 changed files with 49 additions and 17 deletions

View File

@ -12,6 +12,7 @@ class PostController extends Controller
public function index(Request $request) public function index(Request $request)
{ {
app('SiteState')->bodyClasses[] = 'post-archive';
$resource = $this->getResource($request); $resource = $this->getResource($request);
$modelClass = $this->getModelClass($resource); $modelClass = $this->getModelClass($resource);
$repo = new PostRepository($modelClass); $repo = new PostRepository($modelClass);
@ -24,6 +25,7 @@ class PostController extends Controller
public function show(Request $request, $postId) public function show(Request $request, $postId)
{ {
app('SiteState')->bodyClasses[] = 'single-post';
$resource = $this->getResource($request); $resource = $this->getResource($request);
$modelClass = $this->getModelClass($resource); $modelClass = $this->getModelClass($resource);
$post = $modelClass::find($postId); $post = $modelClass::find($postId);

View File

@ -14,10 +14,10 @@ class BodyClassPresenter
public function print() public function print()
{ {
$classes = $classes =
[ array_merge([
$this->getRouteName(), $this->getRouteName(),
'lang-' . app()->getLocale() 'lang-' . app()->getLocale()
]; ], app('SiteState')->bodyClasses);
return implode(' ', $classes); return implode(' ', $classes);
} }
} }

View File

@ -52,6 +52,8 @@ class SiteStateService
*/ */
public $defaultLanguage = ''; public $defaultLanguage = '';
public $bodyClasses = [];
/** /**
* 取得所有變數 * 取得所有變數
* *

View File

@ -12,3 +12,32 @@
.post-feature-image { .post-feature-image {
max-width: 100%; max-width: 100%;
} }
main {
padding: 20px;
}
body.post-archive {
.container {
display: flex;
flex-wrap: wrap;
}
article {
border: 1px solid lightgray;
text-align: center;
padding: 5px;
margin: 5px;
flex: 1;
flex-basis: calc(33.33% - 10px);
}
}
body.single-post {
.title {
font-weight: bold;
}
.post-content {
font-size: 16px;
padding: 20px 0;
}
}

View File

@ -1,6 +1,9 @@
@extends('admin.layouts.app') @extends('admin.layouts.app')
@section('admin-page-content') @section('admin-page-content')
@if($post)
<div class="view-page"><a href="{{ route($resource . '.show', [$post->id]) }}">檢視文章</a></div>
@endif
<form action="{{ $post ? route($adminRouteNamePrefix . $resource . '.update', [$post->id]) : route($adminRouteNamePrefix . $resource . '.store') }}" method="POST"> <form action="{{ $post ? route($adminRouteNamePrefix . $resource . '.update', [$post->id]) : route($adminRouteNamePrefix . $resource . '.store') }}" method="POST">
@if($post) @if($post)
@method('PUT') @method('PUT')

View File

@ -5,17 +5,13 @@
@foreach($posts as $post) @foreach($posts as $post)
<article> <article>
<div class="row"> <div class="row">
<div class="col col-3"> <div class="col">
<?php if($post->featureImage): ?> <?php if($post->featureImage): ?>
<div class="img-wrapper"> <div class="img-wrapper">
<img src="{{ $post->featureImage->url }}" alt="{{ $post->featureImage->description }}" class="post-feature-image"> <img src="{{ $post->featureImage->url }}" alt="{{ $post->featureImage->description }}" class="post-feature-image">
</div>
<?php endif; ?>
</div>
<div class="col col-9">
<div class="title">
<h2><a href="{{ route($resource . '.show', [$post->id]) }}">{{ $post->title }}</a></h2>
</div> </div>
<?php endif; ?>
<h2 class="title"><a href="{{ route($resource . '.show', [$post->id]) }}">{{ $post->title }}</a></h2>
<div class="excerpt">{{ $post->excerpt }}</div> <div class="excerpt">{{ $post->excerpt }}</div>
<div class="date">{{ $post->created_at }}</div> <div class="date">{{ $post->created_at }}</div>
</div> </div>

View File

@ -13,20 +13,20 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1>{{ $post->title }}</h1> <h1 class="title">{{ $post->title }}</h1>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
{{ $post->author->email }} <div class="div">Author: {{ $post->author->email }}</div>
</div> <div class="div">Created at: {{ $post->created_at }}</div>
<div class="col">
{{ $post->created_at }}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
{{ $post->content }} <div class="post-content">
{{ $post->content }}
</div>
</div> </div>
</div> </div>
</div> </div>