layouts.blade.php 34 KB

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