Compare commits

..

No commits in common. "c3f01cee54a23737f71928664ad4f6ae5d94325d" and "f5fd8286975c18aa1fb507b30f7647516819b3f4" have entirely different histories.

11 changed files with 57 additions and 138 deletions

View File

@ -27,7 +27,7 @@ class SessionController extends Controller
request()->session()->regenerate(); request()->session()->regenerate();
return redirect('/dashboard'); return redirect('/admin');
} }
public function destroy() public function destroy()

View File

@ -1,37 +0,0 @@
a
, body
, nav
, input
, form
{
display: flex;
gap: 0.5rem
}
body
{
margin:0;
padding:0;
}
nav
{
flex-direction: column;
width: 10rem;
padding: 1rem;
}
main
{
padding: 1rem 0;
}
input[type='search']
{
width: 100%;
}
form
{
flex-direction: column;
}

View File

@ -0,0 +1,10 @@
<x-layout-admin>
<form class="col c w-30" method="post" name="edit_form" id="edit_form">
<input type="text" name="title" class="w-30">
<input type="text" name="slug" class="w-30" pattern="[A-Za-z0-9-]+" required>
<textarea name="body" class="w-30"></textarea>
<button onclick="edit_form.submit()">save</button>
</form>
</x-layout-admin>

View File

@ -0,0 +1,3 @@
<x-layout-admin>
</x-layout-admin>

View File

@ -1,5 +1,3 @@
@if( 'hidden' !== $attributes['type'] )
<div class="x-input" <div class="x-input"
title="{{ $attributes['title'] ?? $slot }}" title="{{ $attributes['title'] ?? $slot }}"
> >
@ -17,5 +15,3 @@
<p class="error">{{ $message }}</p> <p class="error">{{ $message }}</p>
@enderror @enderror
</div> </div>
@endif

View File

@ -3,32 +3,24 @@
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf8"> <meta charset="utf8">
<title>{{ request()->path() }}</title> <title>{{ request()->path() }}</title>
<link rel="stylesheet" type="text/css" href="/css/admin.css"> <link rel="stylesheet" type="text/css" href="/css/style.css">
</head> </head>
<body> <body>
<nav class="c"> <nav class="c">
<form method="get" action="/search"> <div class="buttons round">
<input type="search" name="q"> <x-nav-link class="orange">new</x-nav-link>
<button type="submit">search</button> <x-nav-link class="rose">list</x-nav-link>
</form> <x-nav-link class="pink">tags</x-nav-link>
<a href="/dashboard">articles</a> <x-nav-link class="teal">collections</x-nav-link>
<a href="/new">new</a> <x-nav-link class="gray">/</x-nav-link>
<a href="/categories">categories</a> </div>
<a href="/collections">collections</a>
<a href="/tags">tags</a>
@auth
<form class="col c" method="post" name="logout_form" action="/logout">
@csrf
<button type="submit">Logout</button>
</form>
@endauth
</nav> </nav>
<main>
@guest @guest
<form class="col c" method="post" name="login_form" action="/login"> <form class="col c" method="post" name="login_form" action="/login">
@csrf @csrf
<x-input type="email" :value="old('email')" <x-input type="email" :value="old('email')"
@ -44,7 +36,24 @@
@auth @auth
{{ $slot }} {{ $slot }}
<form class="col c" method="post" name="logout_form" action="/logout">
@csrf
<button type="submit">Logout</button>
</form>
@endauth @endauth
</main>
<footer class="c">
<form class="buttons round c" method="get" name="search_form">
<input type="search" name="search" placeholder="search">
<button onclick="search_form.submit()"
class="gray" title="search"
><span class="hidden">search</span>
</button>
<x-nav-link class="orange">rss</x-nav-link>
</a>
</form>
</footer>
</body></html> </body></html>

View File

@ -1,9 +0,0 @@
<x-layout-admin>
<ol>
@foreach($articles as $article)
<li><a href="/{{ $article['slug'] }}">{{ $article['title'] ?? $article['slug'] }}</a>
@endforeach
</ol>
</x-layout-admin>

View File

@ -1,16 +0,0 @@
<x-layout-admin>
<form class="col c w-30" method="post" name="edit_form" action="/edit">
@csrf
<x-input name="id" type="hidden"
value="{{ $id ?? 0 }}">
<x-input name="title" class="w-30"
value="{{ $title ?? '' }}">
<x-input name="slug" class="w-30" pattern="[A-Za-z0-9-]+"
value="{{ $slug ?? '' }}"
required>
<textarea name="body" class="w-30">{{ $body ?? '' }}</textarea>
<button type="submit">Save</button>
</form>
</x-layout-admin>

View File

@ -1,14 +0,0 @@
<x-layout>
<main class="w-30 c">
<ul class="list">
@foreach($items as $item)
<li><a href="/{{ $item['slug'] }}">
<img src="{{ $item['thumb'] ?? '' }}">
<span>{{ $item['title'] ?? $item['slug'] }}</span>
</a></li>
@endforeach
</ul>
</main>
</x-layout>

View File

@ -1,12 +0,0 @@
<x-layout-admin>
<form class="col c w-30" method="post" name="new_form" action="/new">
@csrf
<x-input type="hidden">id</x-input>
<x-input>title</x-input>
<x-input pattern="[A-Za-z0-9-]+" required>slug</x-input>
<textarea name="body"></textarea>
<button type="submit">Create new</button>
</form>
</x-layout-admin>

View File

@ -21,25 +21,20 @@ Route::view('/code', 'code');
Route::view('/notes', 'notes'); Route::view('/notes', 'notes');
Route::get('/new', function () { Route::name('pages.list')->get('/list', function () {
return view('new'); return view('list');
}); });
Route::name('admin.new')->get('/new', function () {
Route::get('/edit/{slug}', function (string $slug) { return view('admin.edit');
$article = Article::find($slug); });
Route::name('admin.edit')->get('/edit', function () {
return view('edit', return view('admin.edit');
[ 'article' => $article });
, 'title' => $article['title'] Route::name('admin.edit')->get('/edit/{slug}', function ($slug = null) {
, 'slug' => $article['slug'] return view('admin.edit');
, 'body' => $article['body']
]);
})->where('slug', '[A-Za-z0-9-]+'); })->where('slug', '[A-Za-z0-9-]+');
Route::name('admin.index')->get('/admin', function () {
Route::get('/dashboard', function () { return view('admin.index');
return view('dashboard', [
'articles' => Article::all(),
]);
}); });
@ -50,11 +45,6 @@ Route::get('/login', [SessionController::class, 'create']);
Route::post('/login', [SessionController::class, 'store']); Route::post('/login', [SessionController::class, 'store']);
Route::post('/logout', [SessionController::class, 'destroy']); Route::post('/logout', [SessionController::class, 'destroy']);
Route::get('/search/{search}', function (string $search) {
return view('list',
[ 'search' => $search ]
);
})->where('search', '.*');
Route::get('/{slug}', function (string $slug) { Route::get('/{slug}', function (string $slug) {
@ -67,4 +57,3 @@ Route::get('/{slug}', function (string $slug) {
, 'body' => $article['body'] , 'body' => $article['body']
]); ]);
})->where('slug', '[A-Za-z0-9-]+'); })->where('slug', '[A-Za-z0-9-]+');