From ed7e079097689cb264287585222fee513c6631ce Mon Sep 17 00:00:00 2001 From: Harley Date: Wed, 1 Oct 2025 15:36:42 +0100 Subject: [PATCH 1/3] Initial home page improvements Add standout portfolio items and three most recent blog posts to home page. Also fixed text wrapping on the cutout. More work is needed on styling and aspect ratio responsiveness. --- app/Livewire/Blog/PostCell.php | 11 +++++ app/Livewire/Home.php | 22 +++++++++ app/Livewire/Portfolio/ProjectCell.php | 11 +++++ public/images/profile-cutout-shape.png | Bin 0 -> 8800 bytes resources/views/home.blade.php | 41 ---------------- .../views/livewire/blog/blog-index.blade.php | 6 +-- .../views/livewire/blog/post-cell.blade.php | 6 +++ resources/views/livewire/home.blade.php | 44 ++++++++++++++++++ .../portfolio/portfolio-index.blade.php | 19 +------- .../livewire/portfolio/project-cell.blade.php | 18 +++++++ routes/web.php | 5 +- 11 files changed, 116 insertions(+), 67 deletions(-) create mode 100644 app/Livewire/Blog/PostCell.php create mode 100644 app/Livewire/Home.php create mode 100644 app/Livewire/Portfolio/ProjectCell.php create mode 100644 public/images/profile-cutout-shape.png delete mode 100644 resources/views/home.blade.php create mode 100644 resources/views/livewire/blog/post-cell.blade.php create mode 100644 resources/views/livewire/home.blade.php create mode 100644 resources/views/livewire/portfolio/project-cell.blade.php diff --git a/app/Livewire/Blog/PostCell.php b/app/Livewire/Blog/PostCell.php new file mode 100644 index 0000000..acdc1ce --- /dev/null +++ b/app/Livewire/Blog/PostCell.php @@ -0,0 +1,11 @@ + 'Harley O\'Connor'])] +class Home extends Component +{ + + public $projects, $posts; + + public function mount(): void + { + $this->projects = Project::where('standout', '1')->get(); + $this->posts = Post::latest()->take(3)->get(); + } + +} diff --git a/app/Livewire/Portfolio/ProjectCell.php b/app/Livewire/Portfolio/ProjectCell.php new file mode 100644 index 0000000..fb82857 --- /dev/null +++ b/app/Livewire/Portfolio/ProjectCell.php @@ -0,0 +1,11 @@ +Q*5Us%TMyO06IXq@X~%5K(tQMUZM#T1Wy!629_*t+rLc zQ{18}l2o>(XU{40YvnT^7FSdhLS2hC=EEW+8X*E9kU+@3cOSN#ZTIh5VV+6)0z^6PQ1%ZOFWpA1iga7 zM93Xp2)UsUjQ&CJOAy8lg`hX!r9Z>l;Z?IZ2m~F^h6uAbyU{21NkG3C4gPeK!oP5o zBG0g4i`4BIjD%xkraKW<^x?@#*i`^Q-hS8@hW=W!1k*NqXBsyx>5q~7*}0)v2iR{h zL;1NJj0%e4N1|XZlbc26=jN~qBKg!nfDwtp*f1rK3{bf5Py^GFwvl7m`AqW0(6G?3 zK$;hsOpeMwa4>Rv+}2rg^cOYoFqg}Tq)>P~UMO!vC_DcUWnDx>1SM=eW&QfKD8|}? zA{IA`zm`=Hgfn@@CyrULKR=tp&1SR67~ib7*hje3z(8!FpFg;qOn&w+E3pb@)j}1d zU^A3;p<$HYBI9Ns{4ZqK3{D30!k3G}m_=^O<}-74#bxI*Sp}$QwDlWbT^|M3`PI}f zlFlJbn?t%GJYp{CoT>jLjb-Ps^LKEv_A_bgW=ZA@&B4Ybk7VR$Gf|^rro+&GH8zVM zMZxSk$IkdBf>CrAXG2~as#+2j^3>3x0$EY?B z7p?%rDKNb<|D~-MA3`KjuFY!-0mScn5sS~<4#W76RSSGA6>WPx0rAclRb9=o1t=d# zTp^P3?hm~Ih%X}L0R!PDffQTF%#Wvb){J#5zo?7Y{bwG`ENA6;e_o!8S z1mDhUOPn8WIz>oU|NVA-Qn?n6Qv`nUkO|EU}x0j?DDS z9K~wqn-eF725FiM+9Ipsz055R25;ob1qh|r5QB`}+!pSk#)JZxwu}@RcMM3Iohe@ah-F#tF{1{Jd>i((a=mVSera^6* z?%Zr^H8G3^9eu@7L2$yx<(Q-NA_kv&l26owy@JCp_K9^+MI3O=`QDS?mY%(d0B;Oq z#Hb9K5B%_V4;@Ikz%}Et!T-h&luTmH@Mtd4zV~hQ3Gj|A;f}G0YmyvFigt@>ITmouooH0vG_V><{cWnX-67xqfH!EX z5n3*z#nXT%d~c*&E;_Ut7~pIm*|>xCT?9BIl;t8RMZXJwJNOxqXg_nFGam%JvZaJzQI$}Fo9K>v%(nvZPc6KyglYcw5v|! ztpVXbfy{jMj}qrv2ux`U#j)$66}u!Voi&6fzysNn*vfVTAO}YI!qvvLpz?$16I76* z2%#}CDvExg%pG8njdBlMKzB6K-P12N;aCLC1c-m%W(cM$L~mMN#IW?EgxaX0e4{XZ z@bcEDz1G%y^gO|!>Z$(*>gzxz;?>5d>*ZdA1r>z$8%JrNNP?QeI8H$p=4tR<=P0YU;s?l)jj+J zP&+Ig-GR*0{rC=0(To{?eFM&*StRvQkUR04oDu?|tn#BnI0Ft$Ckf~k@jz26YOa74 zJ$PCD04b+UmoKXX@;pH=XQ*$~Vr3MJbfCriqKYm2EA&!`5Q-Z1`Q%RAtrUi0+f9g4TzC&czAoc$jC$QPuR9{KY6Sw4#=AJxT|&lIm@;NIAa^hG;u!Dg*i zTRVNN%tDP=21K6hLh5hdxkVA=IWFJ1qw}(79vlt91#4H1_jmT09o8n{SeZ)URBJm) z8hAGFqCIOGSZrti;B>Iy;qdu#;N|U~BI?TfjT!RkrrW8RW#f)uOOxe`O&h^V%{qkA zFf+bL#4t`wO)1;3>PYOpV3UU?Gg@)F%d!z96S-%Or*K4Qwk_jIzBj8KB??R!&T6C{ z%^(5Ok5h$Ztu*I`oa)hrb|0WSM}qe0eGJ;nlSkE=0^8v!?lAjg8>8AR!%7$B05Lr? zQ`hb^9+Jq=KAvXjw|2Fpn%~6)9zLgh#Qnx`&Cww#n;H^QBRn*^7kE8#xP33iy7_tW z7^)6iTVfd<5Jop^X9De;)#`=gUCn#UK;z*m<)6(wR&Bb1KXNO3YGi7>W6GkH;diQ- z&_iRBZDyM0>lsO^+QX76QBekDMI>Nf{R}b3`T36}KEh&0r&=h`H-4g%yfcxE8Cd@v zp<5`Mwmu$osH^LJ8rbY6;SgRI`tnVLOUE*)d_$eu<26Mo$D!#m&wMF!OA(qHdc}ZR r?%mEG>2$WVmKjKjHv4tOH0AoGqOr4|XRX5iZz6F^a$Ljf`^x_f)U{ -
-
- - Harley O'Connor - A computer science graduate currently seeking work in the technology - sector, in Software Engineering or related roles. - -
  • - - -
  • -
    - - GitHub Icon - - - LinkedIn Icon -
    -
    - -
    -
    -
    - diff --git a/resources/views/livewire/blog/blog-index.blade.php b/resources/views/livewire/blog/blog-index.blade.php index b85da36..dea2077 100644 --- a/resources/views/livewire/blog/blog-index.blade.php +++ b/resources/views/livewire/blog/blog-index.blade.php @@ -19,11 +19,7 @@ function hideAdminPanel() { @endisAdmin Blog @foreach($posts as $post) -
    - {{ $post->title }} - Published on {{ $post->created_at->format('j F Y') }} - {{ $post->summary }} -
    + @endforeach diff --git a/resources/views/livewire/blog/post-cell.blade.php b/resources/views/livewire/blog/post-cell.blade.php new file mode 100644 index 0000000..59684ec --- /dev/null +++ b/resources/views/livewire/blog/post-cell.blade.php @@ -0,0 +1,6 @@ +
    + {{ $post->title }} + Published on {{ $post->created_at->format('j F Y') }} + {{ $post->summary }} +
    + diff --git a/resources/views/livewire/home.blade.php b/resources/views/livewire/home.blade.php new file mode 100644 index 0000000..06597e9 --- /dev/null +++ b/resources/views/livewire/home.blade.php @@ -0,0 +1,44 @@ +
    +
    +
    + + Harley O'Connor + + I am a Software Engineer and recent graduate of the University of Manchester + in which I undertook a Computer Science BSc. + +
    + + GitHub Icon + + + LinkedIn Icon +
    +
    + +
    +
    +
    + Portfolio standouts + + A couple of the standout projects I have worked on. For more view my portfolio page. + +
    + @foreach($projects as $project) + + @endforeach +
    +
    +
    + Latest blog posts + + My most recent blog posts. For more view my blog page. + + @foreach($posts as $post) + + @endforeach +
    +
    +
    diff --git a/resources/views/livewire/portfolio/portfolio-index.blade.php b/resources/views/livewire/portfolio/portfolio-index.blade.php index be4f4c6..4669601 100644 --- a/resources/views/livewire/portfolio/portfolio-index.blade.php +++ b/resources/views/livewire/portfolio/portfolio-index.blade.php @@ -22,24 +22,7 @@ function hideAdminPanel() {
    @foreach($projects as $project)
    !$project->standout, 'w-full! md:w-[66.6666%]!' => $project->standout])> -
    -
    - {{ $project->title }} - @if($project->repo_link != null) - - GitHub Icon - - - @else - Closed source - @endif -
    - {{ $project->summary }} - Cover image - - {{ str_replace(', ', ' | ', $project->tools) }} - -
    +
    @endforeach diff --git a/resources/views/livewire/portfolio/project-cell.blade.php b/resources/views/livewire/portfolio/project-cell.blade.php new file mode 100644 index 0000000..6838aa2 --- /dev/null +++ b/resources/views/livewire/portfolio/project-cell.blade.php @@ -0,0 +1,18 @@ +
    +
    + {{ $project->title }} + @if($project->repo_link != null) + + GitHub Icon + + + @else + Closed source + @endif +
    + {{ $project->summary }} + Cover image + + {{ str_replace(', ', ' | ', $project->tools) }} + +
    diff --git a/routes/web.php b/routes/web.php index 93239f7..0ca63b0 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,6 +3,7 @@ use App\Http\Middleware\IsAdminMiddleware; use App\Livewire\Blog\BlogIndex; use App\Livewire\Blog\ShowPost; +use App\Livewire\Home; use App\Livewire\Portfolio\PortfolioIndex; use App\Livewire\Posts\CreatePost; use App\Livewire\Posts\EditPost; @@ -17,9 +18,7 @@ use App\Mail\Registration; use Illuminate\Support\Facades\Route; -Route::get('/', function () { - return view('home'); -})->name('home'); +Route::get('/', Home::class)->name('home'); Route::get('blog', BlogIndex::class)->name('blog.index'); Route::get('blog/{slug}', ShowPost::class)->name('blog.show'); From 09e08fee5e68dcbb242f16f82d5b0675fd0abba3 Mon Sep 17 00:00:00 2001 From: Harley Date: Fri, 3 Oct 2025 16:14:00 +0100 Subject: [PATCH 2/3] Styling and responsiveness updates --- resources/css/app.css | 5 +++++ resources/views/livewire/home.blade.php | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/resources/css/app.css b/resources/css/app.css index 2395bf6..8aacb44 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -92,6 +92,11 @@ select:focus[data-flux-control] { width: calc(var(--spacing) * 128); } +.text-link { + color: var(--color-accent); + text-decoration: underline; +} + #blog-body-container { overflow: hidden; diff --git a/resources/views/livewire/home.blade.php b/resources/views/livewire/home.blade.php index 06597e9..75b4b2c 100644 --- a/resources/views/livewire/home.blade.php +++ b/resources/views/livewire/home.blade.php @@ -1,12 +1,12 @@
    -
    - + Harley O'Connor - I am a Software Engineer and recent graduate of the University of Manchester + I am a Software Engineer and recent graduate of the University of Manchester in which I undertook a Computer Science BSc.
    @@ -17,24 +17,24 @@ class="font-light tracking-tighter">O'Connor LinkedIn Icon
    - + Cutout of Harley O'Connor
    - Portfolio standouts + Portfolio standouts - A couple of the standout projects I have worked on. For more view my portfolio page. + A couple of the standout projects I have worked on. For more view my portfolio page. -
    +
    @foreach($projects as $project) @endforeach
    - Latest blog posts + Latest blog posts - My most recent blog posts. For more view my blog page. + My most recent blog posts. For more view my blog page. @foreach($posts as $post) From b8947192ffbcbaa74f04c45aa961e1311c524be2 Mon Sep 17 00:00:00 2001 From: Harley Date: Fri, 3 Oct 2025 16:16:52 +0100 Subject: [PATCH 3/3] Add Livewire component test --- tests/Feature/{WelcomeTest.php => HomeTest.php} | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) rename tests/Feature/{WelcomeTest.php => HomeTest.php} (57%) diff --git a/tests/Feature/WelcomeTest.php b/tests/Feature/HomeTest.php similarity index 57% rename from tests/Feature/WelcomeTest.php rename to tests/Feature/HomeTest.php index d8a2ff2..0c5e52a 100644 --- a/tests/Feature/WelcomeTest.php +++ b/tests/Feature/HomeTest.php @@ -2,10 +2,11 @@ namespace Tests\Feature; +use App\Livewire\Home; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\TestCase; -class WelcomeTest extends TestCase +class HomeTest extends TestCase { use RefreshDatabase; @@ -13,4 +14,9 @@ public function test_returns_a_successful_response(): void { $this->get('/')->assertStatus(200); } + + public function test_contains_livewire_component(): void + { + $this->get('/')->assertSeeLivewire(Home::class); + } }