1
0

layouts.blade.php 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544
  1. @extends('_layout')
  2. @section('title', sysConfig('website_name'))
  3. @section('layout_css')
  4. <link href="/assets/global/fonts/font-awesome/css/all.min.css" rel="stylesheet">
  5. @yield('css')
  6. @endsection
  7. @section('body_class', 'dashboard')
  8. @section('layout_content')
  9. <nav class="site-navbar navbar navbar-default navbar-fixed-top navbar-mega {{config('theme.navbar.inverse')}} {{config('theme.navbar.skin')}}" role="navigation">
  10. <div class="navbar-header">
  11. <button type="button" class="navbar-toggler hamburger hamburger-close navbar-toggler-left hided" data-toggle="menubar">
  12. <span class="sr-only">{{trans('common.toggle_action', ['action' => trans('common.function.navigation')])}}</span>
  13. <span class="hamburger-bar"></span>
  14. </button>
  15. <button type="button" class="navbar-toggler collapsed" data-target="#site-navbar-collapse" data-toggle="collapse">
  16. <i class="icon wb-more-horizontal" aria-hidden="true"></i>
  17. </button>
  18. <div class="navbar-brand navbar-brand-center">
  19. <img src="{{sysConfig('website_logo')? asset(sysConfig('website_logo')) :'/assets/images/logo.png'}}" class="navbar-brand-logo" alt="logo"/>
  20. <span class="navbar-brand-text hidden-xs-down"> {{sysConfig('website_name')}}</span>
  21. </div>
  22. </div>
  23. <div class="navbar-container container-fluid">
  24. <div class="collapse navbar-collapse navbar-collapse-toolbar" id="site-navbar-collapse">
  25. <ul class="nav navbar-toolbar">
  26. <li class="nav-item hidden-float" id="toggleMenubar">
  27. <a class="nav-link" data-toggle="menubar" href="#" role="button">
  28. <i class="icon hamburger hamburger-arrow-left">
  29. <span class="sr-only">{{trans('common.toggle_action', ['action' => trans('common.function.menubar')])}}</span>
  30. <span class="hamburger-bar"></span>
  31. </i>
  32. </a>
  33. </li>
  34. <li class="nav-item hidden-sm-down">
  35. <a class="nav-link icon icon-fullscreen" data-toggle="fullscreen" href="#" role="button">
  36. <span class="sr-only">{{trans('common.toggle_action', ['action' => trans('common.function.fullscreen')])}}</span>
  37. </a>
  38. </li>
  39. <li class="nav-item dropdown">
  40. <a href="javascript:void(0)" class="nav-link" data-toggle="dropdown" role="button">
  41. <span class="icon wb-globe"></span>
  42. <span class="icon wb-chevron-down-mini"></span>
  43. </a>
  44. <div class="dropdown-menu" role="menu">
  45. @foreach (config('common.language') as $key => $value)
  46. <a class="dropdown-item" href="{{route('lang', ['locale' => $key])}}" role="menuitem">
  47. <i class="fi fi-{{$value[1]}}" aria-hidden="true"></i>
  48. <span style="padding: inherit;">{{$value[0]}}</span>
  49. </a>
  50. @endforeach
  51. </div>
  52. </li>
  53. </ul>
  54. <ul class="nav navbar-toolbar navbar-right navbar-toolbar-right">
  55. <li class="nav-item dropdown">
  56. <a class="nav-link navbar-avatar" data-toggle="dropdown" href="#" aria-expanded="false" data-animation="scale-up" role="button">
  57. <span class="avatar avatar-online">
  58. <img src="{{Auth::getUser()->avatar}}" alt="{{trans('common.avatar')}}"/>
  59. <i></i>
  60. </span>
  61. </a>
  62. <div class="dropdown-menu" role="menu">
  63. <a class="dropdown-item" href="/" role="menuitem">
  64. <i class="icon wb-settings" aria-hidden="true"></i>
  65. {{ trans('admin.user_dashboard') }}
  66. </a>
  67. <div class="dropdown-divider" role="presentation"></div>
  68. <a class="dropdown-item" href="{{route('logout')}}" role="menuitem">
  69. <i class="icon wb-power" aria-hidden="true"></i>
  70. {{trans('auth.logout')}}
  71. </a>
  72. </div>
  73. </li>
  74. </ul>
  75. </div>
  76. </div>
  77. </nav>
  78. <div class="site-menubar {{config('theme.sidebar')}}">
  79. <div class="site-menubar-body">
  80. <ul class="site-menu" data-plugin="menu">
  81. @can('admin.index')
  82. <li class="site-menu-item {{request()->routeIs('admin.index') ? 'active open' : ''}}">
  83. <a href="{{route('admin.index')}}">
  84. <i class="site-menu-icon wb-dashboard" aria-hidden="true"></i>
  85. <span class="site-menu-title">{{ trans('admin.menu.dashboard') }}</span>
  86. </a>
  87. </li>
  88. @endcan
  89. @canany(['admin.user.index', 'admin.user.group.index', 'admin.log.credit', 'admin.subscribe.index'])
  90. <li class="site-menu-item has-sub {{request()->routeIs('admin.user.*', 'admin.log.credit', 'admin.subscribe.*') ? 'active open' : ''}}">
  91. <a href="javascript:void(0)">
  92. <i class="site-menu-icon wb-user" aria-hidden="true"></i>
  93. <span class="site-menu-title">{{ trans('admin.menu.user.attribute') }}</span>
  94. </a>
  95. <ul class="site-menu-sub">
  96. @can('admin.user.index')
  97. <li class="site-menu-item {{request()->routeIs('admin.user.index', 'admin.user.edit', 'admin.user.monitor', 'admin.user.online', 'admin.user.online', 'admin.user.export') ? 'active open' : ''}}">
  98. <a href="{{route('admin.user.index')}}">
  99. <span class="site-menu-title">{{ trans('admin.menu.user.list') }}</span>
  100. </a>
  101. </li>
  102. @endcan
  103. @can('admin.user.oauth')
  104. <li class="site-menu-item {{request()->routeIs('admin.user.oauth') ? 'active open' : ''}}">
  105. <a href="{{route('admin.user.oauth')}}">
  106. <span class="site-menu-title">{{ trans('admin.menu.user.oauth') }}</span>
  107. </a>
  108. </li>
  109. @endcan
  110. @can('admin.user.group.index')
  111. <li class="site-menu-item {{request()->routeIs('admin.user.group.*') ? 'active open' : ''}}">
  112. <a href="{{route('admin.user.group.index')}}">
  113. <span class="site-menu-title">{{ trans('admin.menu.user.group') }}</span>
  114. </a>
  115. </li>
  116. @endcan
  117. @can('admin.log.credit')
  118. <li class="site-menu-item {{request()->routeIs('admin.log.credit') ? 'active open' : ''}}">
  119. <a href="{{route('admin.log.credit')}}">
  120. <span class="site-menu-title">{{ trans('admin.menu.user.credit_log') }}</span>
  121. </a>
  122. </li>
  123. @endcan
  124. @can('admin.subscribe.index')
  125. <li class="site-menu-item {{request()->routeIs('admin.subscribe.*')? 'active open' : ''}}">
  126. <a href="{{route('admin.subscribe.index')}}">
  127. <span class="site-menu-title">{{ trans('admin.menu.user.subscribe') }}</span>
  128. </a>
  129. </li>
  130. @endcan
  131. </ul>
  132. </li>
  133. @endcanany
  134. @canany(['admin.permission.index', 'admin.role.index'])
  135. <li class="site-menu-item has-sub {{request()->routeIs('admin.permission.*', 'admin.role.*') ? 'active open' : ''}}">
  136. <a href="javascript:void(0)">
  137. <i class="site-menu-icon wb-users" aria-hidden="true"></i>
  138. <span class="site-menu-title">{{ trans('admin.menu.rbac.attribute') }}</span>
  139. </a>
  140. <ul class="site-menu-sub">
  141. @can('admin.permission.index')
  142. <li class="site-menu-item {{request()->routeIs('admin.permission.*') ? 'active open' : ''}}">
  143. <a href="{{route('admin.permission.index')}}">
  144. <span class="site-menu-title">{{ trans('admin.menu.rbac.permission') }}</span>
  145. </a>
  146. </li>
  147. @endcan
  148. @can('admin.role.index')
  149. <li class="site-menu-item {{request()->routeIs('admin.role.*') ? 'active open' : ''}}">
  150. <a href="{{route('admin.role.index')}}">
  151. <span class="site-menu-title">{{ trans('admin.menu.rbac.role') }}</span>
  152. </a>
  153. </li>
  154. @endcan
  155. </ul>
  156. </li>
  157. @endcanany
  158. @canany(['admin.ticket.index', 'admin.article.index', 'admin.marketing.push', 'admin.marketing.email'])
  159. <li class="site-menu-item has-sub {{request()->routeIs('admin.ticket.*', 'admin.article.*', 'admin.marketing.*')? 'active open' : ''}}">
  160. <a href="javascript:void(0)">
  161. <i class="site-menu-icon wb-chat-working" aria-hidden="true"></i>
  162. <span class="site-menu-title">{{ trans('admin.menu.customer_service.attribute') }}</span>
  163. @can('admin.ticket.index')
  164. @php
  165. $openTicket = Cache::rememberForever('open_ticket_count', static function (){
  166. return App\Models\Ticket::whereStatus(0)->count();
  167. })
  168. @endphp
  169. @if($openTicket)
  170. <div class="site-menu-badge">
  171. <span class="badge badge-pill badge-success">{{ $openTicket }}</span>
  172. </div>
  173. @endif
  174. @endcan
  175. </a>
  176. <ul class="site-menu-sub">
  177. @can('admin.ticket.index')
  178. <li class="site-menu-item {{request()->routeIs('admin.ticket.*') ? 'active open' : ''}}">
  179. <a href="{{route('admin.ticket.index')}}">
  180. <span class="site-menu-title">{{ trans('admin.menu.customer_service.ticket') }}</span>
  181. @if($openTicket > 0)
  182. <div class="site-menu-label">
  183. <span class="badge badge-danger badge-round mr-25">{{ $openTicket }}</span>
  184. </div>
  185. @endif
  186. </a>
  187. </li>
  188. @endcan
  189. @can('admin.article.index')
  190. <li class="site-menu-item {{request()->routeIs('admin.article.*')? 'active open' : ''}}">
  191. <a href="{{route('admin.article.index')}}">
  192. <span class="site-menu-title">{{ trans('admin.menu.customer_service.article') }}</span>
  193. </a>
  194. </li>
  195. @endcan
  196. @can('admin.marketing.push')
  197. <li class="site-menu-item {{request()->routeIs('admin.marketing.push') ? 'active open' : ''}}">
  198. <a href="{{route('admin.marketing.push')}}">
  199. <span class="site-menu-title">{{ trans('admin.menu.customer_service.push') }}</span>
  200. </a>
  201. </li>
  202. @endcan
  203. @can('admin.marketing.email')
  204. <li class="site-menu-item {{request()->routeIs('admin.marketing.email') ? 'active open' : ''}}">
  205. <a href="{{route('admin.marketing.email')}}">
  206. <span class="site-menu-title">{{ trans('admin.menu.customer_service.mail') }}</span>
  207. </a>
  208. </li>
  209. @endcan
  210. </ul>
  211. </li>
  212. @endcanany
  213. @canany(['admin.node.index', 'admin.node.auth.index', 'admin.node.cert.index'])
  214. <li class="site-menu-item has-sub {{request()->routeIs('admin.node.*') ? 'active open' : ''}}">
  215. <a href="javascript:void(0)">
  216. <i class="site-menu-icon wb-cloud" aria-hidden="true"></i>
  217. <span class="site-menu-title">{{ trans('admin.menu.node.attribute') }}</span>
  218. </a>
  219. <ul class="site-menu-sub">
  220. @can('admin.node.index')
  221. <li class="site-menu-item {{request()->routeIs('admin.node.index', 'admin.node.create', 'admin.node.edit')? 'active open' : ''}}">
  222. <a href="{{route('admin.node.index')}}">
  223. <span class="site-menu-title">{{ trans('admin.menu.node.list') }}</span>
  224. </a>
  225. </li>
  226. @endcan
  227. @can('admin.node.auth.index')
  228. <li class="site-menu-item {{request()->routeIs('admin.node.auth.*') ? 'active open' : ''}}">
  229. <a href="{{route('admin.node.auth.index')}}">
  230. <span class="site-menu-title">{{ trans('admin.menu.node.auth') }}</span>
  231. </a>
  232. </li>
  233. @endcan
  234. @can('admin.node.cert.index')
  235. <li class="site-menu-item {{request()->routeIs('admin.node.cert.*') ? 'active open' : ''}}">
  236. <a href="{{route('admin.node.cert.index')}}">
  237. <span class="site-menu-title">{{ trans('admin.menu.node.cert') }}</span>
  238. </a>
  239. </li>
  240. @endcan
  241. </ul>
  242. </li>
  243. @endcanany
  244. @canany(['admin.rule.index', 'admin.rule.group.index', 'admin.rule.log'])
  245. <li class="site-menu-item has-sub {{request()->routeIs('admin.rule.*') ? 'active open' : ''}}">
  246. <a href="javascript:void(0)">
  247. <i class="site-menu-icon wb-eye" aria-hidden="true"></i>
  248. <span class="site-menu-title">{{ trans('admin.menu.rule.attribute') }}</span>
  249. </a>
  250. <ul class="site-menu-sub">
  251. @can('admin.rule.index')
  252. <li class="site-menu-item {{request()->routeIs('admin.rule.index') ? 'active open' : ''}}">
  253. <a href="{{route('admin.rule.index')}}">
  254. <span class="site-menu-title">{{ trans('admin.menu.rule.list') }}</span>
  255. </a>
  256. </li>
  257. @endcan
  258. @can('admin.rule.group.index')
  259. <li class="site-menu-item {{request()->routeIs('admin.rule.group.*') ? 'active open' : ''}}">
  260. <a href="{{route('admin.rule.group.index')}}">
  261. <span class="site-menu-title">{{ trans('admin.menu.rule.group') }}</span>
  262. </a>
  263. </li>
  264. @endcan
  265. @can('admin.rule.log')
  266. <li class="site-menu-item {{request()->routeIs('admin.rule.log') ? 'active open' : ''}}">
  267. <a href="{{route('admin.rule.log')}}">
  268. <span class="site-menu-title">{{ trans('admin.menu.rule.trigger') }}</span>
  269. </a>
  270. </li>
  271. @endcan
  272. </ul>
  273. </li>
  274. @endcanany
  275. @canany(['admin.goods.index', 'admin.coupon.index', 'admin.order'])
  276. <li class="site-menu-item has-sub {{request()->routeIs('admin.goods.*', 'admin.coupon.*', 'admin.order') ? 'active open' : ''}}">
  277. <a href="javascript:void(0)">
  278. <i class="site-menu-icon wb-shopping-cart" aria-hidden="true"></i>
  279. <span class="site-menu-title">{{ trans('admin.menu.shop.attribute') }}</span>
  280. </a>
  281. <ul class="site-menu-sub">
  282. @can('admin.goods.index')
  283. <li class="site-menu-item {{request()->routeIs('admin.goods.*') ? 'active open' : ''}}">
  284. <a href="{{route('admin.goods.index')}}">
  285. <span class="site-menu-title">{{ trans('admin.menu.shop.goods') }}</span>
  286. </a>
  287. </li>
  288. @endcan
  289. @can('admin.coupon.index')
  290. <li class="site-menu-item {{request()->routeIs('admin.coupon.*') ? 'active open' : ''}}">
  291. <a href="{{route('admin.coupon.index')}}">
  292. <span class="site-menu-title">{{ trans('admin.menu.shop.coupon') }}</span>
  293. </a>
  294. </li>
  295. @endcan
  296. @can('admin.order')
  297. <li class="site-menu-item {{request()->routeIs('admin.order') ? 'active open' : ''}}">
  298. <a href="{{route('admin.order')}}">
  299. <span class="site-menu-title">{{ trans('admin.menu.shop.order') }}</span>
  300. </a>
  301. </li>
  302. @endcan
  303. </ul>
  304. </li>
  305. @endcanany
  306. @canany(['admin.invite.index', 'admin.aff.index', 'admin.aff.rebate'])
  307. <li class="site-menu-item has-sub {{request()->routeIs('admin.invite.*', 'admin.aff.*') ? 'active open' : ''}}">
  308. <a href="javascript:void(0)">
  309. <i class="site-menu-icon wb-thumb-up" aria-hidden="true"></i>
  310. <span class="site-menu-title">{{ trans('admin.menu.promotion.attribute') }}</span>
  311. @can('admin.aff.index')
  312. @php
  313. $openApply = Cache::rememberForever('open_referral_apply_count', static function (){
  314. return App\Models\ReferralApply::whereStatus(0)->count();
  315. })
  316. @endphp
  317. @if($openApply)
  318. <div class="site-menu-badge">
  319. <span class="badge badge-pill badge-success">{{ $openApply }}</span>
  320. </div>
  321. @endif
  322. @endcan
  323. </a>
  324. <ul class="site-menu-sub">
  325. @can('admin.invite.index')
  326. <li class="site-menu-item {{request()->routeIs('admin.invite.index') ? 'active open' : ''}}">
  327. <a href="{{route('admin.invite.index')}}">
  328. <span class="site-menu-title">{{ trans('admin.menu.promotion.invite') }}</span>
  329. </a>
  330. </li>
  331. @endcan
  332. @can('admin.aff.index')
  333. <li class="site-menu-item {{request()->routeIs('admin.aff.index', 'admin.aff.detail') ? 'active open' : ''}}">
  334. <a href="{{route('admin.aff.index')}}">
  335. <span class="site-menu-title">{{ trans('admin.menu.promotion.withdraw') }}</span>
  336. @if($openApply > 0)
  337. <div class="site-menu-label">
  338. <span class="badge badge-danger badge-round mr-25">{{$openApply}}</span>
  339. </div>
  340. @endif
  341. </a>
  342. </li>
  343. @endcan
  344. @can('admin.aff.rebate')
  345. <li class="site-menu-item {{request()->routeIs('admin.aff.rebate') ? 'active open' : ''}}">
  346. <a href="{{route('admin.aff.rebate')}}">
  347. <span class="site-menu-title">{{ trans('admin.menu.promotion.rebate_flow') }}</span>
  348. </a>
  349. </li>
  350. @endcan
  351. </ul>
  352. </li>
  353. @endcanany
  354. @canany(['admin.report.accounting', 'admin.report.userAnalysis'])
  355. <li class="site-menu-item has-sub {{request()->routeIs('admin.report.*') ? 'active open' : ''}}">
  356. <a href="javascript:void(0)">
  357. <i class="site-menu-icon wb-stats-bars" aria-hidden="true"></i>
  358. <span class="site-menu-title">{{ trans('admin.menu.analysis.attribute') }}</span>
  359. </a>
  360. <ul class="site-menu-sub">
  361. @can('admin.report.accounting')
  362. <li class="site-menu-item {{request()->routeIs('admin.report.accounting') ? 'active open' : ''}}">
  363. <a href="{{route('admin.report.accounting')}}">
  364. <span class="site-menu-title">{{ trans('admin.menu.analysis.accounting') }}</span>
  365. </a>
  366. </li>
  367. @endcan
  368. @can('admin.report.userAnalysis')
  369. <li class="site-menu-item {{request()->routeIs('admin.report.userAnalysis') ? 'active open' : ''}}">
  370. <a href="{{route('admin.report.userAnalysis')}}">
  371. <span class="site-menu-title">{{ trans('admin.menu.analysis.user_flow') }}</span>
  372. </a>
  373. </li>
  374. @endcan
  375. </ul>
  376. </li>
  377. @endcanany
  378. @canany(['admin.log.traffic', 'admin.log.flow', 'admin.log.ban', 'admin.log.ip', 'admin.log.online', 'admin.log.notify', 'admin.payment.callback'])
  379. <li class="site-menu-item has-sub {{request()->routeIs('admin.log.traffic', 'admin.log.flow', 'admin.log.ban', 'admin.log.ip', 'admin.log.online', 'admin.log.notify', 'admin.payment.callback') ? 'active open' : ''}}">
  380. <a href="javascript:void(0)">
  381. <i class="site-menu-icon wb-calendar" aria-hidden="true"></i>
  382. <span class="site-menu-title">{{ trans('admin.menu.log.attribute') }}</span>
  383. </a>
  384. <ul class="site-menu-sub">
  385. @can('admin.log.traffic')
  386. <li class="site-menu-item {{request()->routeIs('admin.log.traffic') ? 'active open' : ''}}">
  387. <a href="{{route('admin.log.traffic')}}">
  388. <span class="site-menu-title">{{ trans('admin.menu.log.traffic') }}</span>
  389. </a>
  390. </li>
  391. @endcan
  392. @can('admin.log.flow')
  393. <li class="site-menu-item {{request()->routeIs('admin.log.flow') ? 'active open' : ''}}">
  394. <a href="{{route('admin.log.flow')}}">
  395. <span class="site-menu-title">{{ trans('admin.menu.log.traffic_flow') }}</span>
  396. </a>
  397. </li>
  398. @endcan
  399. @can('admin.log.ban')
  400. <li class="site-menu-item {{request()->routeIs('admin.log.ban') ? 'active open' : ''}}">
  401. <a href="{{route('admin.log.ban')}}">
  402. <span class="site-menu-title">{{ trans('admin.menu.log.service_ban') }}</span>
  403. </a>
  404. </li>
  405. @endcan
  406. @can('admin.log.ip')
  407. <li class="site-menu-item {{request()->routeIs('admin.log.ip') ? 'active open' : ''}}">
  408. <a href="{{route('admin.log.ip')}}">
  409. <span class="site-menu-title">{{ trans('admin.menu.log.online_logs') }}</span>
  410. </a>
  411. </li>
  412. @endcan
  413. @can('admin.log.online')
  414. <li class="site-menu-item {{request()->routeIs('admin.log.online') ? 'active open' : ''}}">
  415. <a href="{{route('admin.log.online')}}">
  416. <span class="site-menu-title">{{ trans('admin.menu.log.online_monitor') }}</span>
  417. </a>
  418. </li>
  419. @endcan
  420. @can('admin.log.notify')
  421. <li class="site-menu-item {{request()->routeIs('admin.log.notify') ? 'active open' : ''}}">
  422. <a href="{{route('admin.log.notify')}}">
  423. <span class="site-menu-title">{{ trans('admin.menu.log.notify') }}</span>
  424. </a>
  425. </li>
  426. @endcan
  427. @can('admin.payment.callback')
  428. <li class="site-menu-item {{request()->routeIs('admin.payment.callback') ? 'active open' : ''}}">
  429. <a href="{{route('admin.payment.callback')}}">
  430. <span class="site-menu-title">{{ trans('admin.menu.log.payment_callback') }}</span>
  431. </a>
  432. </li>
  433. @endcan
  434. @can('log-viewer')
  435. <li class="site-menu-item">
  436. <a href="{{route('log-viewer::dashboard')}}" target="_blank">
  437. <span class="site-menu-title">{{ trans('admin.menu.log.system') }}</span>
  438. </a>
  439. </li>
  440. @endcan
  441. @can('viewHorizon')
  442. <li class="site-menu-item">
  443. <a href="{{route('horizon.index')}}" target="_blank">
  444. <span class="site-menu-title"> Horizon </span>
  445. </a>
  446. </li>
  447. @endcan
  448. @if(config('app.debug') && config('app.env') === 'local')
  449. @can('viewTelescope')
  450. <li class="site-menu-item">
  451. <a href="{{route('telescope')}}" target="_blank">
  452. <span class="site-menu-title"> Telescope </span>
  453. </a>
  454. </li>
  455. @endcan
  456. @endif
  457. </ul>
  458. </li>
  459. @endcanany
  460. @canany(['admin.tools.decompile', 'admin.tools.convert', 'admin.tools.import', 'admin.tools.analysis'])
  461. <li class="site-menu-item has-sub {{request()->routeIs('admin.tools.*') ? 'active open' : ''}}">
  462. <a href="javascript:void(0)">
  463. <i class="site-menu-icon wb-briefcase" aria-hidden="true"></i>
  464. <span class="site-menu-title">{{ trans('admin.menu.tools.attribute') }}</span>
  465. </a>
  466. <ul class="site-menu-sub">
  467. @can('admin.tools.decompile')
  468. <li class="site-menu-item {{request()->routeIs('admin.tools.decompile') ? 'active open' : ''}}">
  469. <a href="{{route('admin.tools.decompile')}}">
  470. <span class="site-menu-title">{{ trans('admin.menu.tools.decompile') }}</span>
  471. </a>
  472. </li>
  473. @endcan
  474. @can('admin.tools.convert')
  475. <li class="site-menu-item {{request()->routeIs('admin.tools.convert') ? 'active open' : ''}}">
  476. <a href="{{route('admin.tools.convert')}}">
  477. <span class="site-menu-title">{{ trans('admin.menu.tools.convert') }}</span>
  478. </a>
  479. </li>
  480. @endcan
  481. @can('admin.tools.import')
  482. <li class="site-menu-item {{request()->routeIs('admin.tools.import') ? 'active open' : ''}}">
  483. <a href="{{route('admin.tools.import')}}">
  484. <span class="site-menu-title">{{ trans('admin.menu.tools.import') }}</span>
  485. </a>
  486. </li>
  487. @endcan
  488. @can('admin.tools.analysis')
  489. <li class="site-menu-item {{request()->routeIs('admin.tools.analysis') ? 'active open' : ''}}">
  490. <a href="{{route('admin.tools.analysis')}}">
  491. <span class="site-menu-title">{{ trans('admin.menu.tools.analysis') }}</span>
  492. </a>
  493. </li>
  494. @endcan
  495. </ul>
  496. </li>
  497. @endcanany
  498. @canany(['admin.config.filter.index', 'admin.config.index', 'admin.system.index'])
  499. <li class="site-menu-item has-sub {{request()->routeIs('admin.config.*', 'admin.system.index') ? 'active open' : ''}}">
  500. <a href="javascript:void(0)">
  501. <i class="site-menu-icon wb-settings" aria-hidden="true"></i>
  502. <span class="site-menu-title">{{ trans('admin.menu.setting.attribute') }}</span>
  503. </a>
  504. <ul class="site-menu-sub">
  505. @can('admin.config.filter.index')
  506. <li class="site-menu-item {{request()->routeIs('admin.config.filter.index') ? 'active open' : ''}}">
  507. <a href="{{route('admin.config.filter.index')}}">
  508. <span class="site-menu-title">{{ trans('admin.menu.setting.email_suffix') }}</span>
  509. </a>
  510. </li>
  511. @endcan
  512. @can('admin.config.index')
  513. <li class="site-menu-item {{request()->routeIs('admin.config.common.*') ? 'active open' : ''}}">
  514. <a href="{{route('admin.config.index')}}">
  515. <span class="site-menu-title">{{ trans('admin.menu.setting.universal') }}</span>
  516. </a>
  517. </li>
  518. @endcan
  519. @can('admin.system.index')
  520. <li class="site-menu-item {{request()->routeIs('admin.system.index') ? 'active open' : ''}}">
  521. <a href="{{route('admin.system.index')}}">
  522. <span class="site-menu-title">{{ trans('admin.menu.setting.system') }}</span>
  523. </a>
  524. </li>
  525. @endcan
  526. </ul>
  527. </li>
  528. @endcanany
  529. </ul>
  530. </div>
  531. </div>
  532. <div class="page">
  533. <!--[if lt IE 8]><p class="browserupgrade">{{trans('common.update_browser.0')}}<strong>{{trans('common.update_browser.1')}}</strong>
  534. {{trans('common.update_browser.2')}}<a href="https://browsehappy.com/" target="_blank">{{trans('common.update_browser.3')}}</a>{{trans('common.update_browser.4')}}</p><![endif]-->
  535. @yield('content')
  536. </div>
  537. @endsection
  538. @section('layout_javascript')
  539. <!--[if lt IE 11]>
  540. <script src="/assets/custom/sweetalert2/polyfill.min.js"></script>
  541. <![endif]-->
  542. <script src="/assets/custom/sweetalert2/sweetalert2.all.min.js"></script>
  543. @yield('javascript')
  544. @endsection