From f070df7d03fc03d24074c4635cc6be3fc74e1c75 Mon Sep 17 00:00:00 2001 From: "allen.yan" Date: Wed, 27 Aug 2025 16:03:45 +0800 Subject: [PATCH] =?UTF-8?q?202508271602=20=E5=8A=A0=E5=85=A5=E5=8C=85?= =?UTF-8?q?=E5=BB=82=E4=BB=A3=E7=A2=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Livewire/Layout/Navigation.php | 17 +++++++++++-- app/Livewire/Pages/Home.php | 25 +++++++++++++++++++ resources/views/livewire/pages/home.blade.php | 15 +++++++++++ resources/views/welcome.blade.php | 25 ++++++------------- 4 files changed, 62 insertions(+), 20 deletions(-) create mode 100644 app/Livewire/Pages/Home.php create mode 100644 resources/views/livewire/pages/home.blade.php diff --git a/app/Livewire/Layout/Navigation.php b/app/Livewire/Layout/Navigation.php index 584bd8a..6736a5b 100644 --- a/app/Livewire/Layout/Navigation.php +++ b/app/Livewire/Layout/Navigation.php @@ -7,18 +7,31 @@ use App\Livewire\Actions\Logout; class Navigation extends Component { - // 菜單列表 - public array $menus = [ + private array $commonMenus = [ ['name' => '首頁', 'route' => 'welcome'], ['name' => '新歌快報', 'route' => 'new-songs'], ['name' => '熱門排行', 'route' => 'top-ranking'], ['name' => '歌名查詢', 'route' => 'search-song'], + ]; + private array $roomMenus = [ ['name' => '已點歌曲', 'route' => 'clicked-song'], ['name' => '聲音控制', 'route' => 'sound-control'], ['name' => '社群媒體', 'route' => 'social-media'], ['name' => '真情告白', 'route' => 'love-message'], ['name' => '心情貼圖', 'route' => 'mood-stickers'], ]; + public array $menus = []; + + public function mount() + { + // 先放共用的 + $this->menus = $this->commonMenus; + + // 如果有 room_code,再合併 + if (session()->has('room_code')) { + $this->menus = array_merge($this->menus, $this->roomMenus); + } + } public function logout(Logout $logout) { diff --git a/app/Livewire/Pages/Home.php b/app/Livewire/Pages/Home.php new file mode 100644 index 0000000..455b969 --- /dev/null +++ b/app/Livewire/Pages/Home.php @@ -0,0 +1,25 @@ +forget('room_code'); + $this->roomCode = request()->query('room_code', session('room_code', null)); + if ($this->roomCode) { + session(['room_code' => $this->roomCode]); + } + } + + public function render() + { + return view('livewire.pages.home'); + } +} diff --git a/resources/views/livewire/pages/home.blade.php b/resources/views/livewire/pages/home.blade.php new file mode 100644 index 0000000..613e683 --- /dev/null +++ b/resources/views/livewire/pages/home.blade.php @@ -0,0 +1,15 @@ +
+
+ + + + + @if($roomCode) + + + + + + @endif +
+
diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index bff00fa..c928255 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -1,21 +1,10 @@ - -
超級巨星 自助式KTV
- -
+ +
超級巨星 自助式KTV
+ +
-
-
- - - - - - - - -
-
+
\ No newline at end of file