This commit is contained in:
ct
2025-07-01 23:13:09 +08:00
parent 79e7d7a49e
commit 209c022f1d
26 changed files with 374 additions and 50 deletions

View File

@@ -33,7 +33,7 @@ public function store(LoginRequest $request): RedirectResponse
$request->session()->regenerate();
return redirect()->intended(route('dashboard', absolute: false));
return redirect()->intended(route(config('platform.general.authed_route_redirect'), absolute: false));
}
/**
@@ -46,6 +46,6 @@ public function destroy(Request $request): RedirectResponse
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/');
return redirect(route('home'));
}
}

View File

@@ -36,6 +36,6 @@ public function store(Request $request): RedirectResponse
$request->session()->put('auth.password_confirmed_at', time());
return redirect()->intended(route('dashboard', absolute: false));
return redirect()->intended(route(config('platform.general.authed_route_redirect'), absolute: false));
}
}

View File

@@ -14,7 +14,7 @@ class EmailVerificationNotificationController extends Controller
public function store(Request $request): RedirectResponse
{
if ($request->user()->hasVerifiedEmail()) {
return redirect()->intended(route('dashboard', absolute: false));
return redirect()->intended(route(config('platform.general.authed_route_redirect'), absolute: false));
}
$request->user()->sendEmailVerificationNotification();

View File

@@ -16,7 +16,7 @@ class EmailVerificationPromptController extends Controller
public function __invoke(Request $request): Response|RedirectResponse
{
return $request->user()->hasVerifiedEmail()
? redirect()->intended(route('dashboard', absolute: false))
: Inertia::render('auth/verify-email', ['status' => $request->session()->get('status')]);
? redirect()->intended(route(config('platform.general.authed_route_redirect'), absolute: false))
: Inertia::render('auth/verify-email', ['status' => $request->session()->get('status')]);
}
}

View File

@@ -31,7 +31,7 @@ public function create(): Response
public function store(Request $request): RedirectResponse
{
$request->validate([
'email' => 'required|string|lowercase|email|max:255|unique:'.User::class,
'email' => 'required|string|lowercase|email|max:255|unique:' . User::class,
'password' => ['required', 'confirmed', Rules\Password::defaults()],
]);
@@ -44,6 +44,6 @@ public function store(Request $request): RedirectResponse
Auth::login($user);
return to_route('dashboard');
return to_route(config('platform.general.authed_route_redirect'));
}
}

View File

@@ -15,7 +15,7 @@ class VerifyEmailController extends Controller
public function __invoke(EmailVerificationRequest $request): RedirectResponse
{
if ($request->user()->hasVerifiedEmail()) {
return redirect()->intended(route('dashboard', absolute: false).'?verified=1');
return redirect()->intended(route(config('platform.general.authed_route_redirect'), absolute: false) . '?verified=1');
}
if ($request->user()->markEmailAsVerified()) {
@@ -25,6 +25,6 @@ public function __invoke(EmailVerificationRequest $request): RedirectResponse
event(new Verified($user));
}
return redirect()->intended(route('dashboard', absolute: false).'?verified=1');
return redirect()->intended(route(config('platform.general.authed_route_redirect'), absolute: false) . '?verified=1');
}
}

View File

@@ -4,6 +4,7 @@
use App;
use App\Models\User;
use App\Models\UserPlan;
use Illuminate\Support\Facades\Auth;
use Laravel\Socialite\Facades\Socialite;
@@ -60,7 +61,7 @@ public function handleGoogleCallback()
}
}
return redirect()->intended(route('home'));
return redirect()->intended(route('home'))->with('success', "You're now logged in!");
} catch (\Exception $e) {
throw $e;
@@ -73,7 +74,17 @@ public function handleGoogleCallback()
}
}
private function setupUser($user) {}
private function setupUser($user)
{
$user_plan = UserPlan::where('user_id', $user->id)->first();
if (!$user_plan) {
$user_plan = UserPlan::create([
'user_id' => $user->id,
'plan_id' => 'free',
]);
}
}
private function getMockGoogleUser()
{

View File

@@ -32,10 +32,11 @@ public function subscribe(Request $request)
$payload = [
'mode' => 'subscription',
'success_url' => route('subscribe.success').'?'.'session_id={CHECKOUT_SESSION_ID}',
'cancel_url' => route('subscribe.cancelled').'?'.'session_id={CHECKOUT_SESSION_ID}',
'success_url' => route('subscribe.success') . '?' . 'session_id={CHECKOUT_SESSION_ID}',
'cancel_url' => route('subscribe.cancelled') . '?' . 'session_id={CHECKOUT_SESSION_ID}',
'line_items' => [[
'price' => $price_id,
'quantity' => 1,
]],
];
@@ -60,10 +61,7 @@ public function subscribeSuccess(Request $request)
Session::forget('checkout_session_id');
return redirect()->route('home')->with('success', [
'message' => 'Thank you for subscribing! Your subscription should be active momentarily. Please refresh the page if you do not see your plan.',
'action' => 'subscription_success',
]);
return redirect()->route('home')->with('success', 'Thank you for subscribing! Your subscription should be active momentarily. Please refresh the page if you do not see your plan.');
}
public function subscribeCancelled(Request $request)
@@ -73,10 +71,7 @@ public function subscribeCancelled(Request $request)
Session::forget('checkout_session_id');
}
return redirect()->route('home')->with('error', [
'message' => "You've decided not to complete the payment at this time. No charges have been made to your account.",
'action' => 'subscription_cancelled',
]);
return redirect()->route('home')->with('error', "You've decided not to complete the payment at this time. No charges have been made to your account.");
}
// PURCHASE (ONE TIME)
@@ -86,8 +81,8 @@ public function purchase(Request $request)
$price_id = $request->input('price_id');
$payload = [
'success_url' => route('subscribe.success').'?'.'session_id={CHECKOUT_SESSION_ID}',
'cancel_url' => route('subscribe.cancelled').'?'.'session_id={CHECKOUT_SESSION_ID}',
'success_url' => route('subscribe.success') . '?' . 'session_id={CHECKOUT_SESSION_ID}',
'cancel_url' => route('subscribe.cancelled') . '?' . 'session_id={CHECKOUT_SESSION_ID}',
];
$checkout_session = Auth::user()->checkout([$price_id => 1], $payload);
@@ -112,10 +107,7 @@ public function purchaseSuccess(Request $request)
Session::forget('checkout_session_id');
return redirect()->route('home')->with('success', [
'message' => 'Thank you for purchasing! Your purchase should be active momentarily. Please refresh the page if you do not see your plan.',
'action' => 'purchase_success',
]);
return redirect()->route('home')->with('success', "Thank you for purchasing! Your purchase should be active momentarily. Please refresh the page if you do not see your plan.");
}
public function purchaseCancelled(Request $request)
@@ -124,9 +116,6 @@ public function purchaseCancelled(Request $request)
Session::forget('checkout_session_id');
}
return redirect()->route('home')->with('error', [
'message' => "You've decided not to complete the payment at this time. No charges have been made to your account.",
'action' => 'purchase_cancelled',
]);
return redirect()->route('home')->with('error', "You've decided not to complete the payment at this time. No charges have been made to your account.");
}
}

View File

@@ -47,11 +47,16 @@ public function share(Request $request): array
'user' => $request->user(),
'user_is_admin' => user_is_master_admin($request->user()),
],
'ziggy' => fn (): array => [
'ziggy' => fn(): array => [
...(new Ziggy)->toArray(),
'location' => $request->url(),
],
'sidebarOpen' => ! $request->hasCookie('sidebar_state') || $request->cookie('sidebar_state') === 'true',
'flash' => [
'message' => fn() => $request->session()->get('message'),
'error' => fn() => $request->session()->get('error'),
'success' => fn() => $request->session()->get('success'),
],
];
}
}