Files
fotospiel-app/routes/web.php

46 lines
2.3 KiB
PHP

<?php
use App\Http\Controllers\MarketingController;
use App\Http\Controllers\CheckoutController;
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
require __DIR__.'/auth.php';
require __DIR__.'/settings.php';
Route::get('/', [MarketingController::class, 'index'])->name('home');
Route::get('/dashboard', function () {
return Inertia::render('dashboard');
})->middleware(['auth', 'verified'])->name('dashboard');
Route::get('/contact', [MarketingController::class, 'contactView'])->name('contact');
Route::post('/contact', [MarketingController::class, 'contact'])->name('contact.submit');
// Legal pages
Route::get('/datenschutz', function () {
return Inertia::render('legal/Datenschutz');
})->name('datenschutz');
Route::get('/impressum', function () {
return Inertia::render('legal/Impressum');
})->name('impressum');
Route::get('/kontakt', function () {
return Inertia::render('marketing/Kontakt');
})->name('kontakt');
Route::get('/blog', [MarketingController::class, 'blogIndex'])->name('blog');
Route::get('/blog/{slug}', [MarketingController::class, 'blogShow'])->name('blog.show');
Route::get('/packages', [MarketingController::class, 'packagesIndex'])->name('packages');
Route::get('/anlaesse/{type}', [MarketingController::class, 'occasionsType'])->name('anlaesse.type');
Route::get('/success/{packageId?}', [MarketingController::class, 'success'])->name('marketing.success');
Route::middleware('auth')->group(function () {
Route::get('/buy/{packageId}', [MarketingController::class, 'buyPackages'])->name('marketing.buy');
});
Route::get('/purchase-wizard/{package}', [CheckoutController::class, 'show'])->name('purchase.wizard');
Route::get('/checkout/{package}', [CheckoutController::class, 'show'])->name('checkout.show');
Route::post('/checkout/login', [CheckoutController::class, 'login'])->name('checkout.login');
Route::post('/checkout/register', [CheckoutController::class, 'register'])->name('checkout.register');
Route::post('/stripe/create-payment-intent', [CheckoutController::class, 'createPaymentIntent'])->name('stripe.create-payment-intent');
Route::post('/stripe/confirm-payment', [CheckoutController::class, 'confirmPayment'])->name('stripe.confirm-payment');
Route::post('/checkout/track-abandoned', [CheckoutController::class, 'trackAbandonedCheckout'])->name('checkout.track-abandoned');