import re

with open('routes/web.php', 'r') as f:
    content = f.read()

# We will just write a new file completely structured.
new_routes = """<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\LandingController;
use App\Http\Controllers\Admin\AdminAuthController;
use App\Http\Controllers\Admin\AdminDashboardController;
use App\Http\Controllers\Admin\HeroController;
use App\Http\Controllers\Admin\ServiceController;
use App\Http\Controllers\Admin\HowItWorksController;
use App\Http\Controllers\Admin\TestimonialController;
use App\Http\Controllers\Admin\AdminPanelController;

$domain = env('APP_DOMAIN', 'terapisku.test');

// ==========================================
// 1. ADMIN PANEL (manage.terapisku.com)
// ==========================================
Route::domain('manage.' . $domain)->group(function () {
    
    // Redirect root to admin dashboard
    Route::get('/', function () {
        return redirect()->route('admin.dashboard');
    });

    // Disguised Security Route for Admin Login
    Route::middleware('guest')->group(function () {
        Route::get('/gcp-managed-airflow-migrations', [AdminAuthController::class, 'showLoginForm'])->name('admin.login');
        Route::post('/gcp-managed-airflow-migrations', [AdminAuthController::class, 'login'])
            ->middleware('throttle:5,1')
            ->name('admin.login.submit');
    });

    // Protected Admin Panel Routes
    Route::middleware(['auth', 'admin'])->prefix('admin')->as('admin.')->group(function () {
        Route::post('/logout', [AdminAuthController::class, 'logout'])->name('logout');
        Route::get('/', [AdminDashboardController::class, 'index'])->name('dashboard');
        Route::get('/dashboard', [AdminDashboardController::class, 'index']);

        // Admin Panel Extra Screens
        Route::get('/pesanan-live', [AdminPanelController::class, 'pesananLive'])->name('pesanan-live');
        Route::get('/whatsapp-log', [AdminPanelController::class, 'whatsappLog'])->name('whatsapp-log');
        Route::get('/manajemen-terapis', [AdminPanelController::class, 'terapis'])->name('manajemen-terapis');
        Route::get('/manajemen-konsumen', [AdminPanelController::class, 'konsumen'])->name('manajemen-konsumen');
        Route::get('/tarik-dana', [AdminPanelController::class, 'tarikDana'])->name('tarik-dana');
        Route::get('/keuangan', [AdminPanelController::class, 'keuangan'])->name('keuangan');
        Route::get('/konfigurasi', [AdminPanelController::class, 'konfigurasi'])->name('konfigurasi');
        Route::post('/konfigurasi', [AdminPanelController::class, 'updateKonfigurasi'])->name('konfigurasi.update');
        Route::get('/audit-trail', [AdminPanelController::class, 'auditTrail'])->name('audit-trail');

        // Hero Section Management
        Route::get('/hero', [HeroController::class, 'index'])->name('hero.index');
        Route::post('/hero', [HeroController::class, 'update'])->name('hero.update');

        // Services Management (Encrypted ID in URLs)
        Route::get('/services', [ServiceController::class, 'index'])->name('services.index');
        Route::get('/services/create', [ServiceController::class, 'create'])->name('services.create');
        Route::post('/services', [ServiceController::class, 'store'])->name('services.store');
        Route::get('/services/{encryptedId}/edit', [ServiceController::class, 'edit'])->name('services.edit');
        Route::put('/services/{encryptedId}', [ServiceController::class, 'update'])->name('services.update');
        Route::delete('/services/{encryptedId}', [ServiceController::class, 'destroy'])->name('services.destroy');

        // How It Works Management (Encrypted ID in URLs)
        Route::get('/how-it-works', [HowItWorksController::class, 'index'])->name('how-it-works.index');
        Route::get('/how-it-works/create', [HowItWorksController::class, 'create'])->name('how-it-works.create');
        Route::post('/how-it-works', [HowItWorksController::class, 'store'])->name('how-it-works.store');
        Route::get('/how-it-works/{encryptedId}/edit', [HowItWorksController::class, 'edit'])->name('how-it-works.edit');
        Route::put('/how-it-works/{encryptedId}', [HowItWorksController::class, 'update'])->name('how-it-works.update');
        Route::delete('/how-it-works/{encryptedId}', [HowItWorksController::class, 'destroy'])->name('how-it-works.destroy');

        // Testimonials Management (Encrypted ID in URLs)
        Route::get('/testimonials', [TestimonialController::class, 'index'])->name('testimonials.index');
        Route::get('/testimonials/create', [TestimonialController::class, 'create'])->name('testimonials.create');
        Route::post('/testimonials', [TestimonialController::class, 'store'])->name('testimonials.store');
        Route::get('/testimonials/{encryptedId}/edit', [TestimonialController::class, 'edit'])->name('testimonials.edit');
        Route::put('/testimonials/{encryptedId}', [TestimonialController::class, 'update'])->name('testimonials.update');
        Route::delete('/testimonials/{encryptedId}', [TestimonialController::class, 'destroy'])->name('testimonials.destroy');
    });
});

// ==========================================
// 2. MITRA / TERAPIS PANEL (mitra.terapisku.com)
// ==========================================
Route::domain('mitra.' . $domain)->group(function () {
    Route::get('/', function () {
        return redirect()->route('dashboard-terapis');
    });
    
    // Asumsikan rute terapis ini nantinya juga dilindungi oleh middleware auth
    Route::get('/dashboard-terapis', [LandingController::class, 'dashboardTerapis'])->name('dashboard-terapis');
    Route::get('/order-terapis', [LandingController::class, 'orderTerapis'])->name('order-terapis');
    Route::get('/order-terapis/bid', [LandingController::class, 'orderBidTerapis'])->name('order-bid-terapis');
    Route::get('/order-terapis/detail', [LandingController::class, 'orderDetailTerapis'])->name('order-detail-terapis');
    Route::get('/wallet-terapis', [LandingController::class, 'walletTerapis'])->name('wallet-terapis');
    Route::get('/tarik-dana-terapis', [LandingController::class, 'tarikDanaTerapis'])->name('tarik-dana-terapis');
    Route::get('/notifikasi-terapis', [LandingController::class, 'notifikasiTerapis'])->name('notifikasi-terapis');
    Route::get('/profil-terapis', [LandingController::class, 'profilTerapis'])->name('profil-terapis');
});

// ==========================================
// 3. CONSUMER / HOMEPAGE (terapisku.com)
// ==========================================
Route::domain($domain)->group(function () {
    Route::get('/', [LandingController::class, 'index'])->name('landing');
    Route::get('/services', [LandingController::class, 'services'])->name('services');
    
    Route::get('/masuk', [LandingController::class, 'masuk'])->name('masuk');
    Route::get('/daftar', [LandingController::class, 'daftarKonsumen'])->name('daftar-konsumen');
    Route::get('/daftar/otp', [LandingController::class, 'daftarKonsumenOtp'])->name('daftar-konsumen.otp');
    Route::get('/daftar/profil', [LandingController::class, 'daftarKonsumenProfil'])->name('daftar-konsumen.profil');
    Route::get('/daftar-terapis', [LandingController::class, 'daftarTerapis'])->name('daftar-terapis');
    Route::get('/daftar-terapis/otp', [LandingController::class, 'daftarTerapisOtp'])->name('daftar-terapis.otp');
    Route::get('/daftar-terapis/kyc', [LandingController::class, 'daftarTerapisKyc'])->name('daftar-terapis.kyc');
    Route::get('/daftar-terapis/selesai', [LandingController::class, 'daftarTerapisSelesai'])->name('daftar-terapis.selesai');

    Route::middleware('auth')->group(function () {
        Route::get('/pesanan', [LandingController::class, 'pesanan'])->name('pesanan');
        Route::get('/review', [LandingController::class, 'review'])->name('review');
        Route::get('/profil', [LandingController::class, 'profil'])->name('profil');
        Route::get('/notifikasi', [LandingController::class, 'notifikasi'])->name('notifikasi');
        
        Route::get('/layanan/{encryptedId}', [LandingController::class, 'serviceDetail'])->name('services.detail');
        Route::get('/layanan/{encryptedId}/pembayaran', [LandingController::class, 'orderStep2'])->name('services.order.step2');
        Route::get('/layanan/{encryptedId}/instruksi-pembayaran', [LandingController::class, 'orderStep3'])->name('services.order.step3');
        Route::get('/layanan/{encryptedId}/sukses', [LandingController::class, 'orderStep4'])->name('services.order.step4');
    });
});
"""

with open('routes/web.php', 'w') as f:
    f.write(new_routes)

print("Updated routes/web.php successfully.")
