Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 65603eeb

Přidáno uživatelem Adam Mištera před asi 4 roky(ů)

Issue #8013 @1h
[+] Vytvoření artefaktů pro desktop
[+] Napojení komponenty books
[+] Úprava route

Zobrazit rozdíly:

app/Http/Controllers/ArtefactController.php
12 12

  
13 13
class ArtefactController extends Controller
14 14
{
15
    const ORDER_COLUMN = 'page';
16

  
15 17
    public function __construct()
16 18
    {
17 19
        $this->middleware('auth');
......
24 26
     */
25 27
    public function default()
26 28
    {
27
        $artefacts = Artefact::all();
29
        $artefacts = Artefact::simplePaginate(1);
30
        foreach($artefacts as $artefact)
31
        {
32
            $artefact['likes'] = Artefact::find($artefact->id)->users()->count();
33
            $artefact['favourite'] = is_null(User::find(Auth::id())->likesArtefacts()->find($artefact->id)) ? false : true;
34
            $metadata = Artefact::find($artefact->id)->metadata()->orderBy(self::ORDER_COLUMN)->get();
35

  
36
            foreach ($metadata as $item)
37
            {
38
                $item['favourite'] = is_null(User::find(Auth::id())->likesMetadata()->find($item->id)) ? false : true;
39
            }
40

  
41
            $artefact['metadata'] = $metadata;
42
        }
28 43

  
29 44
        return view('artefact.default', ['artefacts' => $artefacts]);
30 45
    }
resources/views/artefact/default.blade.php
9 9

  
10 10

  
11 11
@section('content')
12
    <div class="container">
13
        <div class="jumbotron mt-5">
14
            <div class="text-center">
15
                <h1>Artefact list</h1>
16
                <p>
17
                    Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
18
                    Mauris dolor felis, sagittis at, luctus sed, aliquam non, tellus.
19
                    Fusce tellus odio, dapibus id fermentum quis, suscipit id erat.
20
                    Morbi scelerisque luctus velit. Vivamus porttitor turpis ac leo.
21
                    Morbi scelerisque luctus velit.
22
                    Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
23
                </p>
24
            </div>
25
        </div>
26

  
27
        @if (count($artefacts) === 0)
28
            <div class="text-center">
29
                <h2>Currently no artefacts available.</h2>
30
            </div>
31
        @else
32
            @foreach ($artefacts as $artefact)
33
                <div class="artefacts-area mb-5">
34
                    <div class="card">
35
                        <svg class="bd-placeholder-img card-img-top" width="100%" height="180" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice" focusable="false" role="img" aria-label="Placeholder: Image cap"><title>Placeholder</title><rect width="100%" height="100%" fill="#868e96"></rect><text x="45%" y="50%" fill="#dee2e6" dy=".3em">Artefact image</text></svg>
36
                        <div class="card-body">
37
                            <h5 class="card-title"><a href="{{ url('/artefact/' . $artefact->id) }}">{{$artefact->name}}</a> - {{$artefact->author}}</h5>
38
                            <h6 class="card-subtitle mb-2 text-muted">{{$artefact->year}}, {{$artefact->pages}} pages</h6>
39
                            <p class="card-text">
40
                                Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
41
                                Mauris dolor felis, sagittis at, luctus sed, aliquam non, tellus.
42
                                Fusce tellus odio, dapibus id fermentum quis, suscipit id erat.
43
                                Morbi scelerisque luctus velit. Vivamus porttitor turpis ac leo.
44
                                Morbi scelerisque luctus velit.
45
                                Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
46
                            </p>
47
                        </div>
48
                    </div>
49
                </div>
50
            @endforeach
51
        @endif
52
    </div>
53

  
12
    @component('components/books', ['artefacts' => $artefacts])
13
    @endcomponent
54 14
@endsection
routes/web.php
17 17

  
18 18
Route::get('/artefact', 'ArtefactController@default');
19 19
Route::get('/artefact/{id}', 'ArtefactController@view');
20
Route::post('/artefact/like/{id}', 'ArtefactController@like');
21
Route::post('/artefact/unlike/{id}', 'ArtefactController@unlike');
20
Route::get('/artefact/like/{id}', 'ArtefactController@like');
21
Route::get('/artefact/unlike/{id}', 'ArtefactController@unlike');
22 22
Route::get('/category/{id}', 'ArtefactController@showCategory');
23 23
Route::get('/detail/like/{id}', 'DetailsController@like');
24 24
Route::get('/detail/unlike/{id}', 'DetailsController@unlike');

Také k dispozici: Unified diff