1. In the program, whether preview mode is enabled is implemented based on sessions. However, when a user logs out, they automatically exit preview mode as well. See Figure 1.

2. The indication of exiting preview mode is that the preview banner at the bottom of the page has disappeared. See Figure 2.

3. Reference: Regenerating the Session ID. If you use the built-in LoginController, Laravel automatically regenerates the Session ID during authentication. I ultimately decided to replace this with a corresponding cookie implementation.
4. The code implementation for the replacement is as follows.
// $request->session()->forget(XxxService::THEME_PREVIEW_ID);
Cookie::queue(Cookie::forget(XxxService::THEME_PREVIEW_ID));
// $request->session()->put(XxxService::THEME_PREVIEW_NAME, $themePreviewName);
Cookie::queue(Cookie::make(XxxService::THEME_PREVIEW_NAME, $themePreviewName));
// $request->session()->forget([XxxService::THEME_PREVIEW_ID, XxxService::THEME_PREVIEW_NAME]);
Cookie::queue(Cookie::forget(XxxService::THEME_PREVIEW_ID));
Cookie::queue(Cookie::forget(XxxService::THEME_PREVIEW_NAME));
$request->session()->has(XxxService::THEME_PREVIEW_NAME);
Cookie::has(XxxService::THEME_PREVIEW_NAME);
$request->session()->get(XxxService::THEME_PREVIEW_NAME);
Cookie::get(XxxService::THEME_PREVIEW_NAME);
5. I tested the functionality, and it works as expected. The newly set Key already exists in the Cookie of the redirected page. See Figure 3.

