Skip to content

Commit bc2c35f

Browse files
committed
Final Loose Ends episode complete
1 parent 13806d6 commit bc2c35f

21 files changed

+550
-332
lines changed

app/Http/Controllers/ExploreController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
class ExploreController extends Controller
88
{
9-
public function index()
9+
public function __invoke()
1010
{
1111
return view('explore', [
1212
'users' => User::paginate(50),

app/Http/Controllers/ProfilesController.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ class ProfilesController extends Controller
99
{
1010
public function show(User $user)
1111
{
12-
return view('profiles.show', compact('user'));
12+
return view('profiles.show', [
13+
'user' => $user,
14+
'tweets' => $user->tweets()->paginate(50),
15+
]);
1316
}
1417

1518
public function edit(User $user)

app/User.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public function timeline()
4949
return Tweet::whereIn('user_id', $friends)
5050
->orWhere('user_id', $this->id)
5151
->latest()
52-
->get();
52+
->paginate(50);
5353
}
5454

5555
public function tweets()

resources/views/_friends-list.blade.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
<div class="bg-gray-200 rounded-lg py-4 px-6">
1+
<div class="bg-gray-200 border border-gray-300 rounded-lg py-4 px-6">
22
<h3 class="font-bold text-xl mb-4">Following</h3>
33

44
<ul>
55
@forelse (current_user()->follows as $user)
6-
<li class="mb-4">
6+
<li class="{{ $loop->last ? '' : 'mb-4' }}">
77
<div>
88
<a href="{{ $user->path() }}" class="flex items-center text-sm">
99
<img

resources/views/_publish-tweet-panel.blade.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@
66
name="body"
77
class="w-full"
88
placeholder="What's up doc?"
9+
required
10+
autofocus
911
></textarea>
1012

1113
<hr class="my-4">
1214

13-
<footer class="flex justify-between">
15+
<footer class="flex justify-between items-center">
1416
<img
1517
src="{{ current_user()->avatar }}"
1618
alt="your avatar"
@@ -21,7 +23,7 @@ class="rounded-full mr-2"
2123

2224
<button
2325
type="submit"
24-
class="bg-blue-500 rounded-lg shadow px-8 text-white h-10"
26+
class="bg-blue-500 hover:bg-blue-600 rounded-lg shadow px-10 text-sm text-white h-10"
2527
>
2628
Publish
2729
</button>

resources/views/_sidebar-links.blade.php

Lines changed: 5 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -17,42 +17,6 @@ class="font-bold text-lg mb-4 block"
1717
</a>
1818
</li>
1919

20-
<li>
21-
<a
22-
class="font-bold text-lg mb-4 block"
23-
href="#"
24-
>
25-
Notifications
26-
</a>
27-
</li>
28-
29-
<li>
30-
<a
31-
class="font-bold text-lg mb-4 block"
32-
href="#"
33-
>
34-
Messages
35-
</a>
36-
</li>
37-
38-
<li>
39-
<a
40-
class="font-bold text-lg mb-4 block"
41-
href="#"
42-
>
43-
Bookmarks
44-
</a>
45-
</li>
46-
47-
<li>
48-
<a
49-
class="font-bold text-lg mb-4 block"
50-
href="#"
51-
>
52-
Lists
53-
</a>
54-
</li>
55-
5620
<li>
5721
<a
5822
class="font-bold text-lg mb-4 block"
@@ -63,11 +27,10 @@ class="font-bold text-lg mb-4 block"
6327
</li>
6428

6529
<li>
66-
<a
67-
class="font-bold text-lg block"
68-
href="#"
69-
>
70-
More
71-
</a>
30+
<form method="POST" action="/logout">
31+
@csrf
32+
33+
<button class="font-bold text-lg">Logout</button>
34+
</form>
7235
</li>
7336
</ul>

resources/views/_timeline.blade.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,6 @@
44
@empty
55
<p class="p-4">No tweets yet.</p>
66
@endforelse
7+
8+
{{ $tweets->links() }}
79
</div>
Lines changed: 70 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,86 @@
11
<x-master>
2-
<div class="container mx-auto px-6 py-4 bg-gray-400 rounded-lg">
3-
<div class="row justify-content-center">
4-
<div class="col-md-8">
5-
<div class="card">
6-
<div class="font-bold text-lg mb-4">{{ __('Login') }}</div>
2+
<div class="container mx-auto flex justify-center">
3+
<x-panel>
4+
<x-slot name="heading">Login</x-slot>
75

8-
<div class="card-body">
9-
<form method="POST" action="{{ route('login') }}">
10-
@csrf
6+
<form method="POST"
7+
action="{{ route('login') }}"
8+
>
9+
@csrf
1110

12-
<div class="form-group row">
13-
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
11+
<div class="mb-6">
12+
<label class="block mb-2 uppercase font-bold text-xs text-gray-700"
13+
for="email"
14+
>
15+
Email
16+
</label>
1417

15-
<div class="col-md-6">
16-
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
18+
<input class="border border-gray-400 p-2 w-full"
19+
type="text"
20+
name="email"
21+
id="email"
22+
autocomplete="email"
23+
value="{{ old('email') }}"
24+
required
25+
>
1726

18-
@error('email')
19-
<span class="invalid-feedback" role="alert">
20-
<strong>{{ $message }}</strong>
21-
</span>
22-
@enderror
23-
</div>
24-
</div>
27+
@error('email')
28+
<p class="text-red-500 text-xs mt-2">{{ $message }}</p>
29+
@enderror
30+
</div>
2531

26-
<div class="form-group row">
27-
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
2832

29-
<div class="col-md-6">
30-
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
33+
<div class="mb-6">
34+
<label class="block mb-2 uppercase font-bold text-xs text-gray-700"
35+
for="password"
36+
>
37+
Password
38+
</label>
3139

32-
@error('password')
33-
<span class="invalid-feedback" role="alert">
34-
<strong>{{ $message }}</strong>
35-
</span>
36-
@enderror
37-
</div>
38-
</div>
40+
<input class="border border-gray-400 p-2 w-full"
41+
type="password"
42+
name="password"
43+
id="password"
44+
autocomplete="current-password"
45+
>
3946

40-
<div class="form-group row mb-6">
41-
<div class="col-md-6 offset-md-4">
42-
<div class="form-check">
43-
<input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
47+
@error('password')
48+
<p class="text-red-500 text-xs mt-2">{{ $message }}</p>
49+
@enderror
50+
</div>
4451

45-
<label class="form-check-label" for="remember">
46-
{{ __('Remember Me') }}
47-
</label>
48-
</div>
49-
</div>
50-
</div>
5152

52-
<div class="form-group row mb-0">
53-
<div class="col-md-8 offset-md-4">
54-
<button type="submit" class="px-6 py-3 rounded text-sm uppercase bg-blue-600 text-white">
55-
{{ __('Login') }}
56-
</button>
53+
<div class="mb-6">
54+
<div>
55+
<input class="mr-1"
56+
type="checkbox"
57+
name="remember"
58+
id="remember" {{ old('remember') ? ' checked' : '' }}
59+
>
5760

58-
@if (Route::has('password.request'))
59-
<a class="btn btn-link" href="{{ route('password.request') }}">
60-
{{ __('Forgot Your Password?') }}
61-
</a>
62-
@endif
63-
</div>
64-
</div>
65-
</form>
61+
<label class="text-xs text-gray-700 font-bold uppercase"
62+
for="remember"
63+
>
64+
Remember Me
65+
</label>
6666
</div>
67+
68+
@error('remember')
69+
<p class="text-red-500 text-xs mt-2">{{ $message }}</p>
70+
@enderror
71+
</div>
72+
73+
74+
<div>
75+
<button type="submit"
76+
class="bg-blue-400 text-white rounded py-2 px-4 hover:bg-blue-500 mr-2"
77+
>
78+
Submit
79+
</button>
80+
81+
<a href="{{ route('password.request') }}" class="text-xs text-gray-700">Forgot Your Password?</a>
6782
</div>
68-
</div>
69-
</div>
83+
</form>
84+
</x-panel>
7085
</div>
7186
</x-master>
Lines changed: 50 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,51 @@
1-
@extends('layouts.app')
2-
3-
@section('content')
4-
<div class="container">
5-
<div class="row justify-content-center">
6-
<div class="col-md-8">
7-
<div class="card">
8-
<div class="card-header">{{ __('Confirm Password') }}</div>
9-
10-
<div class="card-body">
11-
{{ __('Please confirm your password before continuing.') }}
12-
13-
<form method="POST" action="{{ route('password.confirm') }}">
14-
@csrf
15-
16-
<div class="form-group row">
17-
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
18-
19-
<div class="col-md-6">
20-
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
21-
22-
@error('password')
23-
<span class="invalid-feedback" role="alert">
24-
<strong>{{ $message }}</strong>
25-
</span>
26-
@enderror
27-
</div>
28-
</div>
29-
30-
<div class="form-group row mb-0">
31-
<div class="col-md-8 offset-md-4">
32-
<button type="submit" class="btn btn-primary">
33-
{{ __('Confirm Password') }}
34-
</button>
35-
36-
@if (Route::has('password.request'))
37-
<a class="btn btn-link" href="{{ route('password.request') }}">
38-
{{ __('Forgot Your Password?') }}
39-
</a>
40-
@endif
41-
</div>
42-
</div>
43-
</form>
44-
</div>
45-
</div>
46-
</div>
1+
<x-master>
2+
<div class="container mx-auto flex justify-center">
3+
<x-panel>
4+
<x-slot name="heading">Confirm Password</x-slot>
5+
6+
{{ __('Please confirm your password before continuing.') }}
7+
8+
<form method="POST" action="{{ route('password.confirm') }}">
9+
@csrf
10+
11+
<div class="mb-6">
12+
<label class="block mb-2 uppercase font-bold text-xs text-gray-700"
13+
for="password"
14+
>
15+
Password
16+
</label>
17+
18+
<input class="border border-gray-400 p-2 w-full"
19+
type="password"
20+
name="password"
21+
id="password"
22+
required
23+
autocomplete="current-password"
24+
>
25+
26+
@error('password')
27+
<p class="text-red-500 text-xs mt-2">{{ $message }}</p>
28+
@enderror
29+
</div>
30+
31+
<div class="mb-6">
32+
<button type="submit"
33+
class="bg-blue-400 text-white rounded py-2 px-4 hover:bg-blue-500"
34+
>
35+
Confirm Password
36+
</button>
37+
</div>
38+
39+
<div>
40+
<button type="submit"
41+
class="bg-blue-400 text-white rounded py-2 px-4 hover:bg-blue-500 mr-2"
42+
>
43+
Submit
44+
</button>
45+
46+
<a href="{{ route('password.request') }}" class="text-xs text-gray-700">Forgot Your Password?</a>
47+
</div>
48+
</form>
49+
</x-panel>
4750
</div>
48-
</div>
49-
@endsection
51+
</x-master>

0 commit comments

Comments
 (0)