navbar.blade.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. {!! admin_section(Dcat\Admin\Admin::SECTION['NAVBAR_BEFORE']) !!}
  2. @if(!$configData['horizontal_menu'])
  3. <nav class="header-navbar navbar-expand-lg navbar
  4. navbar-with-menu {{ $configData['navbar_class'] }}
  5. {{ $configData['navbar_color'] }}
  6. navbar-light navbar-shadow " style="top: 0;">
  7. <div class="navbar-wrapper">
  8. <div class="navbar-container content">
  9. @if(! $configData['horizontal_menu'])
  10. <div class="mr-auto float-left bookmark-wrapper d-flex align-items-center">
  11. <ul class="nav navbar-nav">
  12. <li class="nav-item mr-auto">
  13. <a class="nav-link menu-toggle" data-widget="pushmenu" style="cursor: pointer;">
  14. <i class="fa fa-bars font-md-2"></i>
  15. </a>
  16. </li>
  17. </ul>
  18. </div>
  19. @endif
  20. <div class="navbar-collapse d-flex justify-content-between">
  21. <div class="navbar-left d-flex align-items-center">
  22. {!! Dcat\Admin\Admin::navbar()->render('left') !!}
  23. </div>
  24. @if($configData['horizontal_menu'])
  25. <div class="d-md-block horizontal-navbar-brand justify-content-center text-center">
  26. <ul class="nav navbar-nav flex-row">
  27. <li class="nav-item mr-auto">
  28. <a href="{{ admin_url('/') }}" class="waves-effect waves-light">
  29. <span class="logo-lg">{!! config('admin.logo') !!}</span>
  30. </a>
  31. </li>
  32. </ul>
  33. </div>
  34. @endif
  35. <div class="navbar-right d-flex align-items-center">
  36. {!! Dcat\Admin\Admin::navbar()->render() !!}
  37. <a href="{{getDistributorDomain()}}" target="_blank" class="nav-link "><i class="fa fa-eye f16"></i> {{trans('admin.view_website')}}</a>
  38. <!--
  39. @if(!empty($configData['home_url']))
  40. <a href="{{$configData['home_url']}}" target="_blank" class="nav-link"><i class="fa fa-home f18"></i></a>
  41. @endif
  42. @if(isset($configData['full_screen']) && $configData['full_screen'])
  43. <a href="javascript:;" data-check-screen="full" class="nav-link"><i class="feather icon-maximize f16"></i></a>
  44. @endif
  45. --->
  46. <!-- Dropdown Menu -->
  47. <div class="dropdown">
  48. <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  49. <i class="fa fa-language f16"></i> {{trans('admin.language')}}
  50. </a>
  51. <div class="dropdown-menu" aria-labelledby="navbarDropdown">
  52. <a class="dropdown-item lang-item" href="javascript:void(0);" data-lang="en">English</a>
  53. <a class="dropdown-item lang-item" href="javascript:void(0);" data-lang="zh_CN">中文</a>
  54. </div>
  55. </div>
  56. <ul class="nav navbar-nav">
  57. {{--User Account Menu--}}
  58. {!! admin_section(Dcat\Admin\Admin::SECTION['NAVBAR_USER_PANEL']) !!}
  59. {!! admin_section(Dcat\Admin\Admin::SECTION['NAVBAR_AFTER_USER_PANEL']) !!}
  60. </ul>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. </nav>
  66. @endif
  67. {!! admin_section(Dcat\Admin\Admin::SECTION['NAVBAR_AFTER']) !!}
  68. <script>
  69. document.querySelectorAll('.lang-item').forEach(item => {
  70. item.addEventListener('click', function() {
  71. const lang = this.getAttribute('data-lang');
  72. switchLanguage(lang);
  73. });
  74. });
  75. function switchLanguage(lang) {
  76. fetch(`/dist/language-switch?lang=${encodeURIComponent(lang)}`, {
  77. method: 'GET'
  78. })
  79. .then(response => {
  80. if (!response.ok) {
  81. throw new Error('Network response was not ok');
  82. }
  83. return response.json();
  84. })
  85. .then(data => {
  86. if (data.success) {
  87. window.location.reload();
  88. } else {
  89. throw new Error(data.error || 'Language switch failed');
  90. }
  91. })
  92. .catch(error => {
  93. console.error('Language Switch Error:', error);
  94. alert('Failed to switch language. Please try again.');
  95. });
  96. }
  97. </script>