This commit is contained in:
User
2025-01-04 13:02:50 -05:00
parent da807296f3
commit 489e054614
20 changed files with 377 additions and 61 deletions

View File

@@ -361,7 +361,7 @@ class ComicController extends Controller
{
// Get history
$histories = $request->user()->readingHistories()->with(['comic:id,name,pathword'])->orderByDesc('reading_histories.created_at')
->select(['reading_histories.id as hid', 'reading_histories.created_at as read_at', 'chapters.comic_id', 'chapters.name'])->paginate(50)->toArray();
->select(['reading_histories.id as hid', 'chapters.comic_id', 'chapters.name'])->paginate(50)->toArray();
return Inertia::render('Comic/Histories', [
'histories' => $this->scToZh($histories)
@@ -374,7 +374,7 @@ class ComicController extends Controller
* @param Request $request
* @return RedirectResponse
*/
public function destroyHistories(Request $request): RedirectResponse
public function patchHistories(Request $request): RedirectResponse
{
if (!is_array($request->get('ids')) && $request->get('ids') === 'all') {
$histories = $request->user()->readingHistories()->delete();
@@ -385,6 +385,27 @@ class ComicController extends Controller
return redirect()->route('comics.histories');
}
public function destroyHistory(Request $request, string $pathword): Response
{
$comicId = Comic::where('pathword', $pathword)->firstOrFail(['id'])->id;
$request->user()->readingHistories()->where('reading_histories.comic_id', $comicId)->delete();
// Get history
$histories = $request->user()->readingHistories()->where('reading_histories.comic_id', $comicId)
->distinct()->select('chapter_uuid')->get()->pluck('chapter_uuid');
return Inertia::render('Comic/Chapters', [
'histories' => $histories
]);
}
public function destroyHistories(Request $request): RedirectResponse
{
$result = $request->user()->cleanUpReadingHistories();
return redirect()->route('comics.histories');
}
/**
* Fetch tags
*

View File

@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Helper\Timezones;
use App\Http\Requests\ProfileUpdateRequest;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Http\RedirectResponse;
@@ -18,8 +19,11 @@ class ProfileController extends Controller
*/
public function edit(Request $request): Response
{
$tz = new Timezones();
return Inertia::render('Profile/Edit', [
'mustVerifyEmail' => $request->user() instanceof MustVerifyEmail,
'timezones' => $tz->toArray(),
'status' => session('status'),
]);
}
@@ -35,6 +39,12 @@ class ProfileController extends Controller
$request->user()->email_verified_at = null;
}
// Settings
$settings = $request->user()->settings;
$settings['timezone'] = $request->get('timezone');
$request->user()->settings = $settings;
$request->user()->save();
$request->user()->save();
return Redirect::route('profile.edit');