<?php
/* start set session language */
if(empty(Session::get('admin_lang'))){    Session::put('admin_lang', "de"); }
//App::setLocale('en');
//$locale = App::getLocale();
//App::setLocale($locale);
/* end set session language */
//Artisan::call('view:clear');
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\admin\DepartmentsController;
use App\Http\Controllers\admin\PermissionController;
use App\Http\Controllers\admin\RolesController;
use App\Http\Controllers\admin\UsersController;
use App\Http\Controllers\FaqController;
use App\Http\Controllers\BannerController;
use App\Http\Controllers\CategoryController;
use App\Http\Controllers\PageFaqController;

use App\Http\Controllers\admin\VendorMasterController;
use App\Http\Controllers\web\WebController;
use App\Http\Controllers\web\CartController;
use App\Http\Controllers\web\ProductController;
use App\Http\Controllers\web\CustomerController;
use App\Http\Controllers\CouponsController;
use App\Http\Controllers\TestimonialController;
use App\Http\Controllers\web\DashboardController;
use App\Http\Controllers\web\CmsController;
use App\Http\Controllers\MetaTagController;
use App\Http\Controllers\web\BlogsController;

use App\Http\Controllers\web\OsmiumProductController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Auth::routes();

Route::get('/',[WebController::class,'index']);

// Route::get('/', function () {

//     return view("web/index");
// });


Route::get('admin', function () {
    return view('auth/login');
});


Route::get('signup', function () {
    return view('auth/register');

});

Route::redirect('https://www.goldinvest-edelmetalle.de/category/silberbarren', 'https://goldinvest-edelmetalle.de/category/silberbarren');

Route::post('vendor-master-store', [UsersController::class,'vendor_store'])->name('vendor-master-store');
Route::get('signup', [UsersController::class,'vendor_register'])->name('signup');

Route::group(['middleware'=>['auth']], function(){
Route::get('/dashboard', [App\Http\Controllers\HomeController::class, 'index'])->name('dashboard');
Route::resource('departments', DepartmentsController::class);
Route::resource('permissions', PermissionController::class);
Route::resource('roles', RolesController::class);
Route::resource('users', FaqController::class);

Route::resource('testimonial', TestimonialController::class);

Route::get('/blogs-category/listing', [App\Http\Controllers\BlogsCategoryController::class, 'index']);
Route::get('/blogs-category/create', [App\Http\Controllers\BlogsCategoryController::class, 'create']);
Route::post('/blogs-category/store', [App\Http\Controllers\BlogsCategoryController::class, 'store']);
Route::get('/blogs-category/edit/{id}', [App\Http\Controllers\BlogsCategoryController::class, 'edit']);
Route::post('/blogs-category/update/{id}', [App\Http\Controllers\BlogsCategoryController::class, 'update']);
Route::get('/blogs-category/destroy/{id}', [App\Http\Controllers\BlogsCategoryController::class, 'destroy']);

Route::get('/blogs/listing', [App\Http\Controllers\BlogsController::class, 'index']);
Route::get('/blogs/create', [App\Http\Controllers\BlogsController::class, 'create']);
Route::post('/blogs/store', [App\Http\Controllers\BlogsController::class, 'store']);
Route::get('/blogs/edit/{id}', [App\Http\Controllers\BlogsController::class, 'edit']);
Route::post('/blogs/update/{id}', [App\Http\Controllers\BlogsController::class, 'update']);
Route::get('/blogs/destroy/{id}', [App\Http\Controllers\BlogsController::class, 'destroy']);

Route::get('/set_admin_lang/{lang}', [App\Http\Controllers\CustomSessionController::class, 'set_admin_lang']);
Route::get('/faq/listing', [App\Http\Controllers\FaqController::class, 'index']);//->name('home');
Route::get('/faq/create', [App\Http\Controllers\FaqController::class, 'create']);
Route::post('/faq/store', [App\Http\Controllers\FaqController::class, 'store']);
Route::get('/faq/edit/{id}', [App\Http\Controllers\FaqController::class, 'edit']);
Route::post('/faq/update/{id}', [App\Http\Controllers\FaqController::class, 'update']);
Route::get('/faq/destroy/{id}', [App\Http\Controllers\FaqController::class, 'destroy']);

Route::get('/metatag/listing', [App\Http\Controllers\MetaTagController::class, 'index']);//->name('home');
Route::get('/metatag/create', [App\Http\Controllers\MetaTagController::class, 'create']);
Route::post('/metatag/store', [App\Http\Controllers\MetaTagController::class, 'store']);
Route::get('/metatag/edit/{id}', [App\Http\Controllers\MetaTagController::class, 'edit']);
Route::post('/metatag/update/{id}', [App\Http\Controllers\MetaTagController::class, 'update']);
Route::get('/metatag/destroy/{id}', [App\Http\Controllers\MetaTagController::class, 'destroy']);

Route::get('/product-faq/listing', [App\Http\Controllers\ProductFaqController::class, 'index']);//->name('home');
Route::get('/product-faq/create', [App\Http\Controllers\ProductFaqController::class, 'create']);
Route::post('/product-faq/store', [App\Http\Controllers\ProductFaqController::class, 'store']);
Route::get('/product-faq/edit/{id}', [App\Http\Controllers\ProductFaqController::class, 'edit']);
Route::post('/product-faq/update/{id}', [App\Http\Controllers\ProductFaqController::class, 'update']);
Route::get('/product-faq/destroy/{id}', [App\Http\Controllers\ProductFaqController::class, 'destroy']);

Route::get('/banner/listing', [App\Http\Controllers\BannerController::class, 'index']);//->name('home');
Route::get('/banner/create', [App\Http\Controllers\BannerController::class, 'create']);
Route::post('/banner/store', [App\Http\Controllers\BannerController::class, 'store']);
Route::get('/banner/edit/{id}', [App\Http\Controllers\BannerController::class, 'edit']);
Route::post('/banner/update/{id}', [App\Http\Controllers\BannerController::class, 'update']);
Route::get('/banner/destroy/{id}', [App\Http\Controllers\BannerController::class, 'destroy']);

Route::get('/news/listing', [App\Http\Controllers\NewsController::class, 'index']);//->name('home');
Route::get('/news/create', [App\Http\Controllers\NewsController::class, 'create']);
Route::post('/news/store', [App\Http\Controllers\NewsController::class, 'store']);
Route::get('/news/edit/{id}', [App\Http\Controllers\NewsController::class, 'edit']);
Route::post('/news/update/{id}', [App\Http\Controllers\NewsController::class, 'update']);
Route::get('/news/destroy/{id}', [App\Http\Controllers\NewsController::class, 'destroy']);

Route::get('/page/listing', [App\Http\Controllers\PageController::class, 'index']);//->name('home');
Route::get('/page/create', [App\Http\Controllers\PageController::class, 'create']);
Route::post('/page/store', [App\Http\Controllers\PageController::class, 'store']);
Route::get('/page/edit/{id}', [App\Http\Controllers\PageController::class, 'edit']);
Route::post('/page/update/{id}', [App\Http\Controllers\PageController::class, 'update']);
Route::get('/page/destroy/{id}', [App\Http\Controllers\PageController::class, 'destroy']);

Route::get('/partner/listing', [App\Http\Controllers\PartnerController::class, 'index']);//->name('home');
Route::get('/partner/create', [App\Http\Controllers\PartnerController::class, 'create']);
Route::post('/partner/store', [App\Http\Controllers\PartnerController::class, 'store']);
Route::get('/partner/destroy/{id}', [App\Http\Controllers\PartnerController::class, 'destroy']);

Route::get('/category/listing', [App\Http\Controllers\CategoryController::class, 'index']);//->name('home');
Route::get('/category/create', [App\Http\Controllers\CategoryController::class, 'create']);
Route::post('/category/store', [App\Http\Controllers\CategoryController::class, 'store']);
Route::get('/category/edit/{id}', [App\Http\Controllers\CategoryController::class, 'edit']);
Route::post('/category/update/{id}', [App\Http\Controllers\CategoryController::class, 'update']);
Route::get('/category/destroy/{id}', [App\Http\Controllers\CategoryController::class, 'destroy']);

Route::get('/product/listing', [App\Http\Controllers\ProductController::class, 'index']);//->name('home');
Route::get('/product/create', [App\Http\Controllers\ProductController::class, 'create']);
Route::post('/product/store', [App\Http\Controllers\ProductController::class, 'store']);
Route::get('/product/edit/{id}', [App\Http\Controllers\ProductController::class, 'edit']);
Route::post('/product/update/{id}', [App\Http\Controllers\ProductController::class, 'update']);
Route::get('/product/destroy/{id}', [App\Http\Controllers\ProductController::class, 'destroy']);
Route::get('/product/destroy_gallery/{id}/{pid}', [App\Http\Controllers\ProductController::class, 'destroy_gallery']);
Route::get('/product/get_price_list/{symbol_id}', [App\Http\Controllers\ProductController::class, 'ttweb_price_api']);

Route::get('/order/listing', [App\Http\Controllers\OrderController::class, 'index']);
Route::get('/order/view/{id}', [App\Http\Controllers\OrderController::class, 'view']);
Route::post('/order/update', [App\Http\Controllers\OrderController::class, 'update']);
Route::get('/order/pdf/{id}', [App\Http\Controllers\OrderController::class, 'OrderPdf']);
Route::get('/order/edit/{id}', [App\Http\Controllers\OrderController::class, 'OrderEdit']);
Route::post('/order/update-order', [App\Http\Controllers\OrderController::class, 'UpdateOrder'])->name('update-order');
Route::any('/confirm-order/edit/{id}', [App\Http\Controllers\OrderController::class, 'ConfirmOrderEdit']);
Route::post('/order/update-confirm-order', [App\Http\Controllers\OrderController::class, 'UpdateConfirmOrder'])->name('update-confirm-order');
Route::any('/order/add-new-order', [App\Http\Controllers\OrderController::class, 'AddNewOrder'])->name('add-new-order');
// Route::get('/order/destroy/{id}', [App\Http\Controllers\OrderController::class, 'destroy']);
Route::post('/deleteOrder', [App\Http\Controllers\OrderController::class, 'destroy'])->name('deleteOrder');
Route::get('/order-item/destroy/{id}', [App\Http\Controllers\OrderController::class, 'OrderItemDestroy']);
Route::get('/order-limit/listing', [App\Http\Controllers\OrderController::class, 'OrderLimit']);
Route::get('/order-limit/destroy/{id}', [App\Http\Controllers\OrderController::class, 'OrderLimtDestroy']);
// Route::get('dashboard', [App\Http\Controllers\OrderController::class, 'DashboardPage']);
Route::get('/manual-order/{id}', [App\Http\Controllers\OrderController::class, 'manualOrder']);

Route::get('show_price_list', [App\Http\Controllers\ProductController::class, 'show_price_list']);
Route::resource('coupon', CouponsController::class);
Route::get('/customer/listing', [App\Http\Controllers\CustomerController::class, 'index']);
Route::get('/customer/listing', [App\Http\Controllers\CustomerController::class, 'index']);
Route::get('/customer/edit/{id}', [App\Http\Controllers\CustomerController::class, 'edit']);
Route::post('/customer/update/{id}', [App\Http\Controllers\CustomerController::class, 'update']);
Route::get('/customer/destroy/{id}', [App\Http\Controllers\CustomerController::class, 'destroy']);
//Route::get('/faq/destroy/{id}', [App\Http\Controllers\CustomerController::class, 'destroy']);

Route::get('/page-faq/listing', [App\Http\Controllers\PageFaqController::class, 'index']);//->name('home');
Route::get('/page-faq/create', [App\Http\Controllers\PageFaqController::class, 'create']);
Route::post('/page-faq/store', [App\Http\Controllers\PageFaqController::class, 'store']);
Route::get('/page-faq/edit/{id}', [App\Http\Controllers\PageFaqController::class, 'edit']);
Route::post('/page-faq/update/{id}', [App\Http\Controllers\PageFaqController::class, 'update']);
Route::get('/page-faq/destroy/{id}', [App\Http\Controllers\PageFaqController::class, 'destroy']);

Route::get('/footer-content/listing', [App\Http\Controllers\FooterContentController::class, 'index']);
Route::get('/footer-content/create', [App\Http\Controllers\FooterContentController::class, 'create']);
Route::post('/footer-content/store', [App\Http\Controllers\FooterContentController::class, 'store']);
Route::get('/footer-content/edit/{id}', [App\Http\Controllers\FooterContentController::class, 'edit']);
Route::post('/footer-content/update/{id}', [App\Http\Controllers\FooterContentController::class, 'update']);
Route::get('/footer-content/destroy/{id}', [App\Http\Controllers\FooterContentController::class, 'destroy']);

Route::get('/enquiry/book-consultation', [App\Http\Controllers\HomeController::class, 'BookConsultation']);
Route::get('/enquiry/contact', [App\Http\Controllers\HomeController::class, 'Contact']);
Route::get('/subscribe/listing', [App\Http\Controllers\HomeController::class, 'Subscribe']);
Route::get('/job/job-listing', [App\Http\Controllers\HomeController::class, 'JobListing']);
Route::get('/job/job-view/{id}', [App\Http\Controllers\HomeController::class, 'JobView']);
Route::get('/job/destroy/{id}', [App\Http\Controllers\HomeController::class, 'JobDestroy']);
Route::get('/subscribe/destroy/{id}', [App\Http\Controllers\HomeController::class, 'destroy']);

Route::get('/enquiry/book-an-appointment', [App\Http\Controllers\HomeController::class, 'BookAppointment']);
Route::get('/enquiry/savings-plan-now', [App\Http\Controllers\HomeController::class, 'SavingsPlan']);

Route::get('/shop/listing', [App\Http\Controllers\ShopBannerController::class, 'index']);//->name('home');
Route::get('/shop/create', [App\Http\Controllers\ShopBannerController::class, 'create']);
Route::post('/shop/store', [App\Http\Controllers\ShopBannerController::class, 'store']);
Route::get('/shop/edit/{id}', [App\Http\Controllers\ShopBannerController::class, 'edit']);
Route::post('/shop/update/{id}', [App\Http\Controllers\ShopBannerController::class, 'update']);
Route::get('/shop/destroy/{id}', [App\Http\Controllers\ShopBannerController::class, 'destroy']);

Route::post('/product/price_update/{id}', [App\Http\Controllers\ProductController::class, 'price_update']);


// add new Osmium
Route::get('/osmium-product/listing', [App\Http\Controllers\OsmiumProductController::class, 'index']);//->name('home');
Route::get('/osmium-product/create', [App\Http\Controllers\OsmiumProductController::class, 'create']);
Route::post('/osmium-product/store', [App\Http\Controllers\OsmiumProductController::class, 'store']);
Route::get('/osmium-product/edit/{id}', [App\Http\Controllers\OsmiumProductController::class, 'edit']);
Route::post('/osmium-product/update/{id}', [App\Http\Controllers\OsmiumProductController::class, 'update']);
Route::get('/osmium-product/destroy/{id}', [App\Http\Controllers\OsmiumProductController::class, 'destroy']);
Route::get('/osmium-product/destroy_gallery/{id}/{pid}', [App\Http\Controllers\OsmiumProductController::class, 'destroy_gallery']);

});


Route::get('/update_live_price',[WebController::class,'update_live_price']);

Route::resource('vendor-master', VendorMasterController::class);
Route::get('change-status/{id}', [VendorMasterController::class,'change_status'])->name('change-status');

// for Front
Route::get('/web/index',[WebController::class,'index']);
Route::get('/web/shop-detail',[WebController::class,'shop_detail']);

Route::get('cart', [CartController::class, 'cartList'])->name('cart.list');
Route::post('cart', [CartController::class, 'addToCart'])->name('cart.store');
Route::post('update-cart', [CartController::class, 'updateCart'])->name('cart.update');
Route::post('remove', [CartController::class, 'removeCart'])->name('cart.remove');
Route::post('clear', [CartController::class, 'clearAllCart'])->name('cart.clear');

Route::get('product-details/{slug}',[ProductController::class,'productDetails']);
Route::get('faq',[WebController::class,'FAQ']);

Route::get('signup',[CustomerController::class,'signup']);
Route::get('user-login',[CustomerController::class,'login']);
Route::get('logout', [CustomerController::class,'logout'])->name('logout');
Route::post('customer-store', [CustomerController::class,'customer_store'])->name('customer-store');
Route::post('user-login', [CustomerController::class,'customer_login'])->name('user-login');

Route::get('forgot-password', [CustomerController::class,'forgotPassword'])->name('forgot-password');
Route::get('customer-reset-password/{slug}', [CustomerController::class,'customerResetPassword']);
Route::post('reset_password_without_token', [CustomerController::class,'validatePasswordRequest']);
Route::post('reset_password_with_token', [CustomerController::class,'resetPassword'])->name('customer-reset-password');

Route::get('shop',[ProductController::class,'shop']);
Route::post('shop',[ProductController::class,'shop']);

Route::get('checkout', [CartController::class, 'checkout'])->name('checkout');
Route::post('checkout', [CartController::class, 'checkoutData'])->name('checkout-data');
Route::get('category/{slug}', [ProductController::class, 'productListByCategory'])->name('category.product');
Route::post('category/{slug}', [ProductController::class, 'productListByCategory'])->name('category.product');
Route::get('thank-you', [CartController::class, 'thankYou'])->name('thank-you');

Route::post('apply-coupon', [CartController::class, 'applyCoupon'])->name('apply-coupon');
Route::post('check-country', [CartController::class, 'checkCountry'])->name('check-country');
Route::get('remove-coupon', [CartController::class, 'removeCoupon'])->name('remove-coupon');
Route::any('product-serach', [ProductController::class, 'productSearch'])->name('product-serach');
Route::get('book-consultation', [WebController::class, 'bookConsultation']);
Route::get('check-email', [CartController::class, 'checkEmail'])->name('check-email');

Route::get('about-us', [CmsController::class, 'AboutUs']);
Route::any('kontakt', [CmsController::class, 'ContactUs']);
Route::get('online-beratung', [CmsController::class, 'Consultation']);
Route::get('edelmetalldepot', [CmsController::class, 'PreciousMetalCustody']);
Route::get('goldsparplan', [CmsController::class, 'GoldSaving']);
Route::get('momentum-gold', [CmsController::class, 'MomentumGold']);

Route::get('sell-precious-metals', [CmsController::class, 'SellPreciousMetals']);
Route::get('buy-precious-metals', [CmsController::class, 'BuyPreciousMetals']);
Route::get('warum-goldinvest', [CmsController::class, 'WhyGoldinvest']);
Route::get('b-2-b', [CmsController::class, 'BusinessToBusiness']);
Route::get('standorte', [CmsController::class, 'Location']);
Route::get('stellenanzeigen', [CmsController::class, 'JobsOpportunity']);
Route::get('limit-order', [CmsController::class, 'LimitOrders']);
Route::get('teilnahmebedingungen', [CmsController::class, 'Teilnahmebedingungen']);
Route::get('jahresabschluss2023', [CmsController::class, 'Jahresabschluss']);
Route::get('gabi-decker-stiftung-wohltatigkeitsveranstaltung', [CmsController::class, 'gabi_decker']);

Route::get('beratung-vor-ort', [CmsController::class, 'OnSiteConsultation']);
Route::get('edelmetalle-kaufen', [CmsController::class, 'PreciousMetalsBuy']);
Route::get('edelmetalle-verkaufen', [CmsController::class, 'SellPreciousMetal']);
Route::get('abg', [CmsController::class, 'Conditions']);
Route::get('datenschutzrichtlinie ', [CmsController::class, 'PrivacyPolicy']);
Route::get('impressum', [CmsController::class, 'Imprint']);
Route::post('email-subscription', [CmsController::class, 'EmailSubscription']);
Route::post('job-form', [CmsController::class, 'JobForm']);
Route::post('savings-plan-now', [CmsController::class, 'SavingsPlanNow']);
Route::post('book-an-appointment', [CmsController::class, 'BookAnAppointment']);

// End Here

// Customer
Route::group(['middleware' => ['auth:customer'] ], function(){
    Route::get('/home', 'HomeController@index');
    Route::get('profile', [DashboardController::class, 'index'])->name('profile');
    Route::post('update_profile', [DashboardController::class, 'update_profile'])->name('update_profile');
    Route::get('change_password', [DashboardController::class, 'change_password'])->name('change_password');
    Route::post('update_password', [DashboardController::class, 'update_password'])->name('update_password');
    Route::get('my_orders', [DashboardController::class, 'my_orders'])->name('my_orders');
    Route::get('user-order/view/{id}', [DashboardController::class, 'ViewOrder']);
    Route::get('/user-order/pdf/{id}', [DashboardController::class, 'OrderPdf']);
    Route::get('limit_orders', [DashboardController::class, 'limit_orders'])->name('limit_orders');
    Route::get('cancel-limit-order/{id}', [DashboardController::class, 'cancelLimitOrder'])->name('cancel-limit-order');
});

Route::get('online-preisliste',[WebController::class,'online_price_list']);
Route::any('product_filter_parent_cat',[WebController::class,'product_filter_parent_cat']);
Route::any('filter_item_ajax',[WebController::class,'filter_item_ajax']);
Route::any('load_product_ajax',[WebController::class,'load_product_ajax']);
Route::any('product_filter_all_category',[WebController::class,'product_filter_all_category']);

Route::post('limitorder',[ProductController::class,'limitOrder'])->name('limitorder');
Route::post('online-price-pdf',[WebController::class,'OnlinePricePdf']);
Route::post('online-price-all-category-pdf',[WebController::class,'OnlineAllCategoryPricePdf']);
Route::get('blogs',[BlogsController::class, 'blogListing'])->name('blogs');
Route::get('blog-detail/{slug}',[BlogsController::class, 'blogDetails']);

Route::get('osmium',[OsmiumProductController::class, 'osmiumList']);
Route::get('osmium-product/{slug}',[OsmiumProductController::class, 'osmiumDetails']);

Route::any('product_filter_osmium',[OsmiumProductController::class,'online_item_ajax']); //by naseem 31-07-2023



Route::get('language/{locale}', function ($locale) {
    app()->setLocale($locale);
    session()->put('locale', $locale);
    return redirect()->back();
});

