Compare commits

..

No commits in common. "1fc8f4f80249a79924fd2d51b5b82285128efa9a" and "f6613c5e7daa8f7e5d90f407e88c1671997ff05d" have entirely different histories.

13 changed files with 36 additions and 186 deletions

View File

@ -1,16 +0,0 @@
<?php
namespace App\Livewire;
use App\Models\Bookmark as ModelsBookmark;
use Livewire\Component;
class Bookmark extends Component
{
public ModelsBookmark $bookmark;
public function save(ModelsBookmark $bookmark)
{
$this->bookmark = $bookmark;
}
}

View File

@ -1,10 +0,0 @@
<?php
namespace App\Providers;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
class RouteServiceProvider extends ServiceProvider
{
protected $namespace = 'App\\Http\\Controllers';
}

View File

@ -1,33 +0,0 @@
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\ServiceProvider;
class ViewServiceProvider extends ServiceProvider
{
/**
* Register services.
*/
public function register(): void
{
//
}
/**
* Bootstrap services.
*/
public function boot(): void
{
// https://laravel-tricks.com/tricks/a-new-at-action-directive
Blade::if(
'action', function ($action) {
if (Route::getCurrentRoute()->getActionMethod() == $action) {
return $action;
};
}
);
}
}

View File

@ -0,0 +1,28 @@
<?php
namespace App\View\Components;
use App\Models\Bookmark as ModelsBookmark;
use Closure;
use Illuminate\Contracts\View\View;
use Illuminate\View\Component;
class Bookmark extends Component
{
/**
* Create a new component instance.
*/
public function __construct(
public ModelsBookmark $bookmark
) {
//
}
/**
* Get the view / contents that represent the component.
*/
public function render(): View|Closure|string
{
return view('components.bookmark');
}
}

View File

@ -2,6 +2,4 @@
return [
App\Providers\AppServiceProvider::class,
App\Providers\RouteServiceProvider::class,
App\Providers\ViewServiceProvider::class,
];

View File

@ -10,8 +10,7 @@
"require": {
"php": "^8.2",
"laravel/framework": "^11.0",
"laravel/tinker": "^2.9",
"livewire/livewire": "^3.5"
"laravel/tinker": "^2.9"
},
"require-dev": {
"fakerphp/faker": "^1.23",

78
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "0e9662e53ae62503767a15f5dc9e9a72",
"content-hash": "2077c394f6aa7d63f49d97c8c4f2764c",
"packages": [
{
"name": "brick/math",
@ -1815,82 +1815,6 @@
],
"time": "2024-01-28T23:22:08+00:00"
},
{
"name": "livewire/livewire",
"version": "v3.5.0",
"source": {
"type": "git",
"url": "https://github.com/livewire/livewire.git",
"reference": "72e900825c560f0e4e620185b26c5441a8914435"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/livewire/livewire/zipball/72e900825c560f0e4e620185b26c5441a8914435",
"reference": "72e900825c560f0e4e620185b26c5441a8914435",
"shasum": ""
},
"require": {
"illuminate/database": "^10.0|^11.0",
"illuminate/routing": "^10.0|^11.0",
"illuminate/support": "^10.0|^11.0",
"illuminate/validation": "^10.0|^11.0",
"league/mime-type-detection": "^1.9",
"php": "^8.1",
"symfony/console": "^6.0|^7.0",
"symfony/http-kernel": "^6.2|^7.0"
},
"require-dev": {
"calebporzio/sushi": "^2.1",
"laravel/framework": "^10.15.0|^11.0",
"laravel/prompts": "^0.1.6",
"mockery/mockery": "^1.3.1",
"orchestra/testbench": "^8.21.0|^9.0",
"orchestra/testbench-dusk": "^8.24|^9.1",
"phpunit/phpunit": "^10.4",
"psy/psysh": "^0.11.22|^0.12"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"Livewire\\LivewireServiceProvider"
],
"aliases": {
"Livewire": "Livewire\\Livewire"
}
}
},
"autoload": {
"files": [
"src/helpers.php"
],
"psr-4": {
"Livewire\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Caleb Porzio",
"email": "calebporzio@gmail.com"
}
],
"description": "A front-end framework for Laravel.",
"support": {
"issues": "https://github.com/livewire/livewire/issues",
"source": "https://github.com/livewire/livewire/tree/v3.5.0"
},
"funding": [
{
"url": "https://github.com/livewire",
"type": "github"
}
],
"time": "2024-05-21T13:39:04+00:00"
},
{
"name": "monolog/monolog",
"version": "3.6.0",

View File

@ -17,19 +17,6 @@ body {
@import 'components/bookmark';
@import 'components/pagination';
a {
&,
&:active,
&:visited {
color: #fff;
}
&:hover {
color: #88f;
}
}
h1 {
color: #FFF3B0;
text-align: center;

View File

@ -4,29 +4,14 @@
gap: 0px 0px;
grid-template-areas:
"title title"
"description description"
"href href"
"description description"
"date tags";
margin-bottom: 1em;
padding: 0;
border: 2px solid #540B0E;
background-color: #FFF3B0;
border-radius: 7px;
overflow: hidden;
a {
&,
&:active,
&:visited {
color: #9E2A2B;
}
&:hover {
color: #000;
}
}
&-title {
margin: 0;

View File

@ -5,7 +5,7 @@
{{ $bookmarks->links() }}
@foreach ($bookmarks as $bookmark)
<livewire:bookmark :bookmark="$bookmark" />
<x-bookmark :bookmark="$bookmark" />
@endforeach
{{ $bookmarks->links() }}

View File

@ -1,8 +1,5 @@
@extends('layouts.app')
@section('content')
<p>
<a href="{{ action('BookmarkController@index') }}">&larr; Back</a>
</p>
<livewire:bookmark :bookmark="$bookmark" />
<x-bookmark :bookmark="$bookmark" />
@endsection

View File

@ -1,10 +1,5 @@
<div class="bookmark">
<p class="bookmark-title">
{{ $bookmark->title }}
@action('index')
<a href="/bookmarks/{{ $bookmark->id }}">#</a>
@endaction
</p>
<p class="bookmark-title">{{ $bookmark->title }}</p>
<p class="bookmark-href"><a href="{{ $bookmark->href }}">{{ $bookmark->href }}</a></p>
@if (!empty($bookmark->description))
<div class="bookmark-description">

View File

@ -3,9 +3,5 @@
use App\Http\Controllers\BookmarkController;
use Illuminate\Support\Facades\Route;
Route::get(
'/', function () {
return redirect()->action([BookmarkController::class, 'index']);
}
);
Route::resource('bookmarks', BookmarkController::class);
Route::get('/', [BookmarkController::class, 'index']);
Route::resource('bookmarks', BookmarkController::class)->except(['index']);