diff --git a/app/Http/Controllers/PortfolioController.php b/app/Http/Controllers/PortfolioController.php
new file mode 100644
index 0000000..79e3229
--- /dev/null
+++ b/app/Http/Controllers/PortfolioController.php
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $slot }}
+
+
+
+
+
+
+
+
+
+ HTML;
}
}
diff --git a/app/View/Components/GuestLayout.php b/app/View/Components/GuestLayout.php
index 2ccc088..d0ff414 100644
--- a/app/View/Components/GuestLayout.php
+++ b/app/View/Components/GuestLayout.php
@@ -3,15 +3,24 @@
namespace App\View\Components;
use Illuminate\View\Component;
-use Illuminate\View\View;
class GuestLayout extends Component
{
/**
* Get the view / contents that represents the component.
*/
- public function render(): View
+ public function render()
{
- return view('layouts.guest-layout');
+ return <<<'HTML'
+
+
+
+ {{ $slot }}
+
+
+
+
+
+ HTML;
}
}
diff --git a/app/View/Components/CommonLayout.php b/app/View/Components/MainLayout.php
similarity index 80%
rename from app/View/Components/CommonLayout.php
rename to app/View/Components/MainLayout.php
index 543047f..a145423 100644
--- a/app/View/Components/CommonLayout.php
+++ b/app/View/Components/MainLayout.php
@@ -5,7 +5,7 @@ namespace App\View\Components;
use Illuminate\View\Component;
use Illuminate\View\View;
-class CommonLayout extends Component
+class MainLayout extends Component
{
public function __construct(
@@ -18,6 +18,6 @@ class CommonLayout extends Component
*/
public function render(): View
{
- return view('layouts.common');
+ return view('layouts.main-layout');
}
}
diff --git a/resources/views/layouts/app-layout.blade.php b/resources/views/layouts/app-layout.blade.php
deleted file mode 100644
index aaad577..0000000
--- a/resources/views/layouts/app-layout.blade.php
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $slot }}
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/resources/views/layouts/guest-layout.blade.php b/resources/views/layouts/guest-layout.blade.php
deleted file mode 100644
index de84137..0000000
--- a/resources/views/layouts/guest-layout.blade.php
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- {{ $slot }}
-
-
-
-
-
diff --git a/resources/views/layouts/common.blade.php b/resources/views/layouts/main-layout.blade.php
similarity index 96%
rename from resources/views/layouts/common.blade.php
rename to resources/views/layouts/main-layout.blade.php
index 7be61d9..ee33a4e 100644
--- a/resources/views/layouts/common.blade.php
+++ b/resources/views/layouts/main-layout.blade.php
@@ -1,4 +1,4 @@
-{{-- --}}
+
diff --git a/resources/views/livewire/portfolio/manage-portfolio-form.blade.php b/resources/views/livewire/manage-portfolio-form.blade.php
similarity index 94%
rename from resources/views/livewire/portfolio/manage-portfolio-form.blade.php
rename to resources/views/livewire/manage-portfolio-form.blade.php
index f539928..f3e7d3e 100644
--- a/resources/views/livewire/portfolio/manage-portfolio-form.blade.php
+++ b/resources/views/livewire/manage-portfolio-form.blade.php
@@ -43,7 +43,10 @@ new class extends Component {
// $this->portfolio->owner_id = auth()->user()->id;
$this->portfolio->save();
- $this->success('Portfolio updated', redirectTo: "/portfolio/{$this->portfolio->id}");
+ $this->success('Portfolio updated');
+
+ $this->dispatch('portfolio-updated', $this->portfolio);
+ $this->dispatch('close-drawer');
}
public function save()
diff --git a/resources/views/livewire/portfolio/create.blade.php b/resources/views/livewire/portfolio/create.blade.php
deleted file mode 100644
index 879d207..0000000
--- a/resources/views/livewire/portfolio/create.blade.php
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
diff --git a/resources/views/livewire/portfolio/show.blade.php b/resources/views/livewire/portfolio/show.blade.php
deleted file mode 100644
index 3118269..0000000
--- a/resources/views/livewire/portfolio/show.blade.php
+++ /dev/null
@@ -1,223 +0,0 @@
-scope = $scope;
- }
-
- public function getScopeName ($scope)
- {
- return collect($this->options)->where('id', $scope)['name'];
- }
-
- public $options = [
- ['id' => '1M', 'name' => '1 month'],
- ['id' => '3M', 'name' => '3 months'],
- ['id' => 'YTD', 'name' => 'Year to date'],
- ['id' => '1Y', 'name' => '1 year'],
- ['id' => '3Y', 'name' => '3 years'],
- ['id' => 'ALL', 'name' => 'All time']
- ];
-
- public ?Portfolio $portfolio;
-
- private function generateDateSeries($startDate, $endDate) {
- $dateArray = [];
- $currentDate = strtotime($startDate);
- $endDate = strtotime($endDate);
-
- while ($currentDate <= $endDate) {
- // Generate a random integer
- $randomInt = rand(1000, 3000);
-
- // Format the current date to 'Y-m-d'
- $formattedDate = date('Y-m-d', $currentDate);
-
- // Append the date and random integer to the array
- $dateArray[] = [$formattedDate, $randomInt];
-
- // Move to the next day
- $currentDate = strtotime("+1 day", $currentDate);
- }
-
- return $dateArray;
- }
-
- public array $myChart;
-
- public function mount() {
-
- $this->myChart = [
- 'series' => [
- [
- 'name' => 'Total Views',
- 'data' => $this->generateDateSeries('2024-01-01', '2024-08-01')
- ],
- [
- 'name' => 'Second Views',
- 'data' => $this->generateDateSeries('2024-01-01', '2024-08-01')
- ],
- ],
-
- ];
-
- }
-}; ?>
-
-
-
-
-
-
-
-
-
-
-
- @if($portfolio->wishlist)
-
- @endif
-
-
-
-
-
-
-
-
-
-
-
-
-
- @foreach($options as $option)
-
-
-
- @endforeach
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- @php
- $users = App\Models\User::take(3)->get();
- @endphp
-
- @foreach($users as $user)
-
- @endforeach
-
-
-
-
-
- @php
- $users = App\Models\User::take(3)->get();
- @endphp
-
- @foreach($users as $user)
-
- @endforeach
-
-
-
-
-
- @php
- $users = App\Models\User::take(3)->get();
- @endphp
-
- @foreach($users as $user)
-
- @endforeach
-
-
-
-
-
- @php
- $users = App\Models\User::take(3)->get();
- @endphp
-
- @foreach($users as $user)
-
- @endforeach
-
-
-
-
-
-
\ No newline at end of file
diff --git a/resources/views/portfolio/create.blade.php b/resources/views/portfolio/create.blade.php
new file mode 100644
index 0000000..e47ac9b
--- /dev/null
+++ b/resources/views/portfolio/create.blade.php
@@ -0,0 +1,8 @@
+
+
+
+
+
+ @livewire('manage-portfolio-form', ['submit' => 'save'])
+
+
diff --git a/resources/views/portfolio/show.blade.php b/resources/views/portfolio/show.blade.php
new file mode 100644
index 0000000..05ad78b
--- /dev/null
+++ b/resources/views/portfolio/show.blade.php
@@ -0,0 +1,227 @@
+scope = $scope;
+ }
+
+ public function getScopeName ($scope)
+ {
+ return collect($this->options)->where('id', $scope)['name'];
+ }
+
+ public $options = [
+ ['id' => '1M', 'name' => '1 month'],
+ ['id' => '3M', 'name' => '3 months'],
+ ['id' => 'YTD', 'name' => 'Year to date'],
+ ['id' => '1Y', 'name' => '1 year'],
+ ['id' => '3Y', 'name' => '3 years'],
+ ['id' => 'ALL', 'name' => 'All time']
+ ];
+
+ public ?Portfolio $portfolio;
+
+ private function generateDateSeries($startDate, $endDate) {
+ $dateArray = [];
+ $currentDate = strtotime($startDate);
+ $endDate = strtotime($endDate);
+
+ while ($currentDate <= $endDate) {
+ // Generate a random integer
+ $randomInt = rand(1000, 3000);
+
+ // Format the current date to 'Y-m-d'
+ $formattedDate = date('Y-m-d', $currentDate);
+
+ // Append the date and random integer to the array
+ $dateArray[] = [$formattedDate, $randomInt];
+
+ // Move to the next day
+ $currentDate = strtotime("+1 day", $currentDate);
+ }
+
+ return $dateArray;
+ }
+
+ public array $myChart;
+
+ public function mount() {
+
+ $this->myChart = [
+ 'series' => [
+ [
+ 'name' => 'Total Views',
+ 'data' => $this->generateDateSeries('2024-01-01', '2024-08-01')
+ ],
+ [
+ 'name' => 'Second Views',
+ 'data' => $this->generateDateSeries('2024-01-01', '2024-08-01')
+ ],
+ ],
+
+ ];
+
+ }
+}; ?>
+
+
+
+
+
+
+
+
+ @livewire('manage-portfolio-form', ['portfolio' => $portfolio, 'submit' => "update", 'hideCancel' => true])
+
+
+
+
+
+ @if($portfolio->wishlist)
+
+ @endif
+
+
+
+
+
+
+
+
+
+{{-- {{ $scope }} --}}
+
+
+
+ {{-- @foreach($options as $option)
+
+
+
+ @endforeach --}}
+
+
+
+
+
+
+ {{-- --}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @php
+ $users = App\Models\User::take(3)->get();
+ @endphp
+
+ @foreach($users as $user)
+
+ @endforeach
+
+
+
+
+
+ @php
+ $users = App\Models\User::take(3)->get();
+ @endphp
+
+ @foreach($users as $user)
+
+ @endforeach
+
+
+
+
+
+ @php
+ $users = App\Models\User::take(3)->get();
+ @endphp
+
+ @foreach($users as $user)
+
+ @endforeach
+
+
+
+
+
+ @php
+ $users = App\Models\User::take(3)->get();
+ @endphp
+
+ @foreach($users as $user)
+
+ @endforeach
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/routes/web.php b/routes/web.php
index 90cc3b6..46945bf 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -2,6 +2,7 @@
use Livewire\Volt\Volt;
use Illuminate\Support\Facades\Route;
+use App\Http\Controllers\PortfolioController;
Route::get('/', function () {
return view('welcome');
@@ -11,7 +12,7 @@ Route::middleware(['auth:sanctum', config('jetstream.auth_session'), 'verified']
Volt::route('/dashboard', 'dashboard')->name('dashboard');
- Volt::route('/portfolio/create', 'portfolio.create')->name('portfolio.create');
- Volt::route('/portfolio/{portfolio}', 'portfolio.show')->name('portfolio.show');
+ Route::get('/portfolio/create', [PortfolioController::class, 'create'])->name('portfolio.create');
+ Route::get('/portfolio/{portfolio}', [PortfolioController::class, 'show'])->name('portfolio.show');
});