]> _ Git - fluidbook-elearning.git/commitdiff
wip #6693 @5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 1 Feb 2024 18:06:06 +0000 (19:06 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 1 Feb 2024 18:06:06 +0000 (19:06 +0100)
17 files changed:
.idea/fluidbook-elearning.iml
.idea/php.xml
app/Models/User.php
config/backpack/base.php
config/backpack/basset.php [new file with mode: 0644]
config/backpack/menu.php [new file with mode: 0644]
config/backpack/theme-tabler.php
config/backpack/ui.php
resources/css/app.css [deleted file]
resources/css/tabler/app.css [new file with mode: 0644]
resources/css/tabler/app.css.map [new file with mode: 0644]
resources/css/tabler/app.sass [new file with mode: 0644]
resources/css/tabler/colors.css [new file with mode: 0644]
resources/views/icons.blade.php [new file with mode: 0644]
resources/views/vendor/backpack/theme-tabler/blank.blade.php [new file with mode: 0644]
resources/views/vendor/backpack/theme-tabler/layouts/horizontal.blade.php [new file with mode: 0644]
resources/views/vendor/backpack/ui/inc/menu_items.blade.php

index 7d227262fa4ea710dc038ddfc5765b135a3f0f9e..eac892bcc34946954d52824a5afbab93e9e9c6ce 100644 (file)
       <excludeFolder url="file://$MODULE_DIR$/vendor/laravel-lang/native-locale-names" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/laravel/tinker" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/psy/psysh" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/backpack/generators" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/backpack/theme-tabler" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/barryvdh/laravel-ide-helper" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/barryvdh/reflection-docblock" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-common" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/type-resolver" />
+      <excludeFolder url="file://$MODULE_DIR$/vendor/phpstan/phpdoc-parser" />
     </content>
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
index 6c236462288437ac1316e4cf9193207b2398a92b..13bc02a2f4f93e4cff77b545b456d275d6145449 100644 (file)
       <path value="$PROJECT_DIR$/vendor/backpack/basset" />
       <path value="$PROJECT_DIR$/vendor/laravel/tinker" />
       <path value="$PROJECT_DIR$/vendor/psy/psysh" />
+      <path value="$PROJECT_DIR$/vendor/barryvdh/reflection-docblock" />
+      <path value="$PROJECT_DIR$/vendor/barryvdh/laravel-ide-helper" />
+      <path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
+      <path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
+      <path value="$PROJECT_DIR$/vendor/phpstan/phpdoc-parser" />
+      <path value="$PROJECT_DIR$/vendor/backpack/theme-tabler" />
+      <path value="$PROJECT_DIR$/vendor/backpack/generators" />
     </include_path>
   </component>
   <component name="PhpProjectSharedConfiguration" php_language_level="8.1">
index 4d7f70f568fe2e9eff23fa12f309a10bf1e74e3c..f06407a504068122c236d6620ae278d9be322f7b 100644 (file)
@@ -2,44 +2,14 @@
 
 namespace App\Models;
 
-// use Illuminate\Contracts\Auth\MustVerifyEmail;
-use Illuminate\Database\Eloquent\Factories\HasFactory;
-use Illuminate\Foundation\Auth\User as Authenticatable;
-use Illuminate\Notifications\Notifiable;
-use Laravel\Sanctum\HasApiTokens;
+use Cubist\Backpack\Magic\Models\CubistMagicAuthenticatable;
 
-class User extends Authenticatable
+class User extends CubistMagicAuthenticatable
 {
-    use HasApiTokens, HasFactory, Notifiable;
+    protected $table = 'users';
+    protected $_options = ['name' => 'user',
+        'singular' => 'user',
+        'plural' => 'users'];
 
-    /**
-     * The attributes that are mass assignable.
-     *
-     * @var array<int, string>
-     */
-    protected $fillable = [
-        'name',
-        'email',
-        'password',
-    ];
-
-    /**
-     * The attributes that should be hidden for serialization.
-     *
-     * @var array<int, string>
-     */
-    protected $hidden = [
-        'password',
-        'remember_token',
-    ];
-
-    /**
-     * The attributes that should be cast.
-     *
-     * @var array<string, string>
-     */
-    protected $casts = [
-        'email_verified_at' => 'datetime',
-        'password' => 'hashed',
-    ];
+    protected static $_permissionBase = 'user';
 }
index 0fa3af544b514a39d2f797693d8781289b88a460..86abbe7a2ed4c34e9f1b21db8c130927c5547590 100644 (file)
@@ -133,7 +133,7 @@ return [
 
     // The guard that protects the Backpack admin panel.
     // If null, the config.auth.defaults.guard value will be used.
-    'guard' => 'backpack',
+    'guard' => 'web',
 
     // The password reset configuration for Backpack.
     // If null, the config.auth.defaults.passwords value will be used.
diff --git a/config/backpack/basset.php b/config/backpack/basset.php
new file mode 100644 (file)
index 0000000..8f69434
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+
+return [
+    // development mode, assets will not be internalized
+    'dev_mode' => env('APP_DEBUG'),
+
+    // verify ssl certificate while fetching assets
+    'verify_ssl_certificate' => env('BASSET_VERIFY_SSL_CERTIFICATE', true),
+
+    // disk and path where to store bassets
+    'disk' => env('BASSET_DISK', 'public'),
+    'path' => 'basset',
+
+    // use cache map file (.basset)
+    'cache_map' => env('BASSET_CACHE_MAP', true),
+
+    // view paths that may use @basset
+    // used to internalize assets in advance with artisan basset:internalize
+    'view_paths' => [
+        resource_path('views'),
+    ],
+
+    // content security policy nonce
+    'nonce' => null,
+
+    // use relative path
+    'relative_paths' => env('BASSET_RELATIVE_PATHS', true),
+];
diff --git a/config/backpack/menu.php b/config/backpack/menu.php
new file mode 100644 (file)
index 0000000..88e0ef3
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+return [
+    'items' => [
+        ['label' => 'Contenus', 'icon' => 'ti ti-brush', 'items' => [
+            ['label' => 'Pages', 'icon' => 'ti ti-file-code', 'url' => 'pages'],
+            ['label' => 'Traductions', 'icon' => 'ti ti-language', 'url' => 'pages'],
+            ['label' => 'Paramètres', 'icon' => 'ti ti-adjustments', 'url' => 'settings'],
+        ]],
+        ['label' => 'Utilisateurs', 'icon' => 'ti ti-users', 'section' => 'users', 'items' => [
+            ['label' => 'Utilisateurs', 'icon' => 'ti ti-user', 'url' => 'user', 'can' => 'user:admin'],
+            ['label' => 'Rôles', 'icon' => 'ti ti-user-check', 'url' => 'role', 'can' => 'user:admin'],
+            ['label' => 'Permissions', 'icon' => 'ti ti-user-shield', 'url' => 'permission', 'can' => 'user:admin'],
+        ]],
+        ['label' => 'Administration', 'icon' => 'ti ti-settings', 'section' => 'admin', 'items' => [
+            ['label' => 'Logs', 'icon' => 'ti ti-file-stack', 'url' => 'log', 'can' => 'maintenance'],
+            ['label' => 'Backup', 'icon' => 'ti ti-history', 'url' => 'backup', 'can' => 'maintenance'],
+        ]],
+    ]
+];
index c6fb1967b7e76fea128f21562acff0ecf9a96542..7e10825dfdb316085492221c9634e9146f461397 100644 (file)
@@ -22,7 +22,7 @@ return [
      * Possible values: horizontal, horizontal_dark, horizontal_overlap, vertical,
      * vertical_dark, vertical_transparent (legacy theme), right_vertical, right_vertical_dark, right_vertical_transparent
      */
-    'layout' => 'horizontal_overlap',
+    'layout' => 'horizontal',
 
     /**
      * Pick a login page layout.
@@ -40,7 +40,8 @@ return [
      */
     'styles' => [
         base_path('vendor/backpack/theme-tabler/resources/assets/css/color-adjustments.css'),
-        base_path('vendor/backpack/theme-tabler/resources/assets/css/colors.css'),
+        base_path('resources/css/tabler/colors.css'),
+        base_path('resources/css/tabler/app.css'),
     ],
 
     /**
@@ -62,7 +63,7 @@ return [
         /**
          * The color mode used by default.
          */
-        'defaultColorMode' => 'system', // system, light, dark
+        'defaultColorMode' => 'light', // system, light, dark
 
         /**
          * When true, a switch is displayed to let admins choose their favorite theme mode.
index 21ef8ebd0e2bd396a97e80f5a94a8a60b5ac0620..a2fb9b095bf42585879916907a5dcc379da4839e 100644 (file)
@@ -46,7 +46,7 @@ return [
     // ----
 
     // Project name - shown in the window title
-    'project_name' => 'Backpack Admin Panel',
+    'project_name' => 'Fluidbook Digital Learning',
 
     // Content of the HTML meta robots tag to prevent indexing and link following
     'meta_robots_content' => 'noindex, nofollow',
@@ -60,10 +60,10 @@ return [
     // The string below will be passed through the url() helper.
     // - default: '' (project root)
     // - alternative: 'admin' (the admin's dashboard)
-    'home_link' => '',
+    'home_link' => '/admin',
 
     // Menu logo. You can replace this with an <img> tag if you have a logo.
-    'project_logo' => '<b>Back</b>pack',
+    'project_logo' => '<div id="logo"><svg viewBox="0 0 156.497 48" aria-hidden="true"><use xlink:href="#fb-elearning-logo" /></svg></div>',
 
     // Show / hide breadcrumbs on admin panel pages.
     'breadcrumbs' => true,
@@ -72,14 +72,8 @@ return [
     // FOOTER
     // ------
 
-    // Developer or company name. Shown in footer.
-    'developer_name' => 'Cristian Tabacitu',
-
-    // Developer website. Link in footer. Type false if you want to hide it.
-    'developer_link' => 'http://tabacitu.ro',
-
     // Show powered by Laravel Backpack in the footer? true/false
-    'show_powered_by' => true,
+    'show_powered_by' => false,
 
     // ---------
     // DASHBOARD
@@ -94,6 +88,7 @@ return [
 
     // CSS files that are loaded in all pages, using Laravel's asset() helper
     'styles' => [
+        'https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@2.46.0/tabler-icons.min.css',
         // 'styles/example.css',
         // 'https://some-cdn.com/example.css',
     ],
@@ -115,6 +110,7 @@ return [
 
     // JS files that are loaded in all pages, using Laravel's asset() helper
     'scripts' => [
+        'https://cdn.jsdelivr.net/npm/tabler-icons@1.35.0/icons-react/dist/index.umd.min.js',
         // 'js/example.js',
         // 'https://unpkg.com/vue@2.4.4/dist/vue.min.js',
         // 'https://unpkg.com/react@16/umd/react.production.min.js',
diff --git a/resources/css/app.css b/resources/css/app.css
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/resources/css/tabler/app.css b/resources/css/tabler/app.css
new file mode 100644 (file)
index 0000000..a111ba0
--- /dev/null
@@ -0,0 +1,11 @@
+.nav-brand a {
+  padding-top: 0;
+  padding-bottom: 0;
+}
+
+#logo svg {
+  width: 160px;
+  padding-right: 2em;
+}
+
+/*# sourceMappingURL=app.css.map */
diff --git a/resources/css/tabler/app.css.map b/resources/css/tabler/app.css.map
new file mode 100644 (file)
index 0000000..7c0dbe4
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["app.sass"],"names":[],"mappings":"AACI;EACI;EACA;;;AAEJ;EACI;EACA","file":"app.css"}
\ No newline at end of file
diff --git a/resources/css/tabler/app.sass b/resources/css/tabler/app.sass
new file mode 100644 (file)
index 0000000..c1ef3f3
--- /dev/null
@@ -0,0 +1,9 @@
+.nav-brand
+    a
+        padding-top: 0
+        padding-bottom: 0
+#logo
+    svg
+        width: 160px
+        padding-right: 2em
+
diff --git a/resources/css/tabler/colors.css b/resources/css/tabler/colors.css
new file mode 100644 (file)
index 0000000..b05b59f
--- /dev/null
@@ -0,0 +1,229 @@
+@charset "UTF-8";
+:root,
+[data-bs-theme=light] {
+    --tblr-blue: #206bc4;
+    --tblr-indigo: #4263eb;
+    --tblr-purple: #ae3ec9;
+    --tblr-pink: #d6336c;
+    --tblr-red: #d63939;
+    --tblr-orange: #f76707;
+    --tblr-yellow: #f59f00;
+    --tblr-green: #2fb344;
+    --tblr-teal: #0ca678;
+    --tblr-cyan: #17a2b8;
+    --tblr-black: #000000;
+    --tblr-white: #ffffff;
+    --tblr-gray: #49566c;
+    --tblr-gray-dark: #1d273b;
+    --tblr-gray-100: #f1f5f9;
+    --tblr-gray-200: #e2e8f0;
+    --tblr-gray-300: #c8d3e1;
+    --tblr-gray-400: #9ba9be;
+    --tblr-gray-500: #6c7a91;
+    --tblr-gray-600: #49566c;
+    --tblr-gray-700: #313c52;
+    --tblr-gray-800: #1d273b;
+    --tblr-gray-900: #0f172a;
+    --tblr-primary: #206bc4;
+    --tblr-secondary: #616876;
+    --tblr-success: #2fb344;
+    --tblr-info: #4299e1;
+    --tblr-warning: #f76707;
+    --tblr-danger: #d63939;
+    --tblr-light: #f8fafc;
+    --tblr-dark: #1d273b;
+    --tblr-muted: #616876;
+    --tblr-blue: #206bc4;
+    --tblr-azure: #4299e1;
+    --tblr-indigo: #4263eb;
+    --tblr-purple: #ae3ec9;
+    --tblr-pink: #d6336c;
+    --tblr-red: #d63939;
+    --tblr-orange: #f76707;
+    --tblr-yellow: #f59f00;
+    --tblr-lime: #74b816;
+    --tblr-green: #2fb344;
+    --tblr-teal: #0ca678;
+    --tblr-cyan: #17a2b8;
+    --tblr-facebook: #1877F2;
+    --tblr-twitter: #1da1f2;
+    --tblr-linkedin: #0a66c2;
+    --tblr-google: #dc4e41;
+    --tblr-youtube: #ff0000;
+    --tblr-vimeo: #1ab7ea;
+    --tblr-dribbble: #ea4c89;
+    --tblr-github: #181717;
+    --tblr-instagram: #e4405f;
+    --tblr-pinterest: #bd081c;
+    --tblr-vk: #6383a8;
+    --tblr-rss: #ffa500;
+    --tblr-flickr: #0063dc;
+    --tblr-bitbucket: #0052cc;
+    --tblr-tabler: #206bc4;
+    --tblr-primary-rgb: 32, 107, 196;
+    --tblr-secondary-rgb: 97, 104, 118;
+    --tblr-success-rgb: 47, 179, 68;
+    --tblr-info-rgb: 66, 153, 225;
+    --tblr-warning-rgb: 247, 103, 7;
+    --tblr-danger-rgb: 214, 57, 57;
+    --tblr-light-rgb: 248, 250, 252;
+    --tblr-dark-rgb: 29, 39, 59;
+    --tblr-muted-rgb: 97, 104, 118;
+    --tblr-blue-rgb: 32, 107, 196;
+    --tblr-azure-rgb: 66, 153, 225;
+    --tblr-indigo-rgb: 66, 99, 235;
+    --tblr-purple-rgb: 174, 62, 201;
+    --tblr-pink-rgb: 214, 51, 108;
+    --tblr-red-rgb: 214, 57, 57;
+    --tblr-orange-rgb: 247, 103, 7;
+    --tblr-yellow-rgb: 245, 159, 0;
+    --tblr-lime-rgb: 116, 184, 22;
+    --tblr-green-rgb: 47, 179, 68;
+    --tblr-teal-rgb: 12, 166, 120;
+    --tblr-cyan-rgb: 23, 162, 184;
+    --tblr-facebook-rgb: 24, 119, 242;
+    --tblr-twitter-rgb: 29, 161, 242;
+    --tblr-linkedin-rgb: 10, 102, 194;
+    --tblr-google-rgb: 220, 78, 65;
+    --tblr-youtube-rgb: 255, 0, 0;
+    --tblr-vimeo-rgb: 26, 183, 234;
+    --tblr-dribbble-rgb: 234, 76, 137;
+    --tblr-github-rgb: 24, 23, 23;
+    --tblr-instagram-rgb: 228, 64, 95;
+    --tblr-pinterest-rgb: 189, 8, 28;
+    --tblr-vk-rgb: 99, 131, 168;
+    --tblr-rss-rgb: 255, 165, 0;
+    --tblr-flickr-rgb: 0, 99, 220;
+    --tblr-bitbucket-rgb: 0, 82, 204;
+    --tblr-tabler-rgb: 32, 107, 196;
+    --tblr-primary-text: #1a569d;
+    --tblr-secondary-text: #49566c;
+    --tblr-success-text: #268f36;
+    --tblr-info-text: #0e616e;
+    --tblr-warning-text: #935f00;
+    --tblr-danger-text: #ab2e2e;
+    --tblr-light-text: #49566c;
+    --tblr-dark-text: #313c52;
+    --tblr-primary-bg-subtle: #d2e1f3;
+    --tblr-secondary-bg-subtle: #f1f5f9;
+    --tblr-success-bg-subtle: #d5f0da;
+    --tblr-info-bg-subtle: #d1ecf1;
+    --tblr-warning-bg-subtle: #fdeccc;
+    --tblr-danger-bg-subtle: #f7d7d7;
+    --tblr-light-bg-subtle: #f8fafc;
+    --tblr-dark-bg-subtle: #9ba9be;
+    --tblr-primary-border-subtle: #a6c4e7;
+    --tblr-secondary-border-subtle: #e2e8f0;
+    --tblr-success-border-subtle: #ace1b4;
+    --tblr-info-border-subtle: #a2dae3;
+    --tblr-warning-border-subtle: #fbd999;
+    --tblr-danger-border-subtle: #efb0b0;
+    --tblr-light-border-subtle: #e2e8f0;
+    --tblr-dark-border-subtle: #6c7a91;
+    --tblr-white-rgb: 255, 255, 255;
+    --tblr-black-rgb: 0, 0, 0;
+    --tblr-body-color-rgb: 29, 39, 59;
+    --tblr-body-bg-rgb: 241, 245, 249;
+    --tblr-font-sans-serif:    -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif;
+    --tblr-font-monospace:  Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
+    --tblr-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
+    --tblr-body-font-family: var(--tblr-font-sans-serif);
+    --tblr-body-font-size: 0.875rem;
+    --tblr-body-font-weight: 400;
+    --tblr-body-line-height: 1.4285714286;
+    --tblr-body-color: #1d273b;
+    --tblr-emphasis-color: #000000;
+    --tblr-emphasis-color-rgb: 0, 0, 0;
+    --tblr-secondary-color: rgba(29, 39, 59, 0.75);
+    --tblr-secondary-color-rgb: 29, 39, 59;
+    --tblr-secondary-bg: #e2e8f0;
+    --tblr-secondary-bg-rgb: 226, 232, 240;
+    --tblr-tertiary-color: rgba(29, 39, 59, 0.5);
+    --tblr-tertiary-color-rgb: 29, 39, 59;
+    --tblr-tertiary-bg: #f1f5f9;
+    --tblr-tertiary-bg-rgb: 241, 245, 249;
+    --tblr-body-bg: #f1f5f9;
+    --tblr-body-bg-rgb: 241, 245, 249;
+    --tblr-link-color: #206bc4;
+    --tblr-link-color-rgb: 32, 107, 196;
+    --tblr-link-decoration: none;
+    --tblr-link-hover-color: #1a569d;
+    --tblr-link-hover-color-rgb: 26, 86, 157;
+    --tblr-link-hover-decoration: underline;
+    --tblr-code-color: var(--tblr-gray-600);
+    --tblr-highlight-bg: #fdeccc;
+    --tblr-border-width: 1px;
+    --tblr-border-style: solid;
+    --tblr-border-color: #e6e7e9;
+    --tblr-border-color-translucent: rgba(97, 104, 118, 0.16);
+    --tblr-border-radius: 4px;
+    --tblr-border-radius-sm: 2px;
+    --tblr-border-radius-lg: 8px;
+    --tblr-border-radius-xl: 1rem;
+    --tblr-border-radius-2xl: 2rem;
+    --tblr-border-radius-pill: 100rem;
+    --tblr-box-shadow: 0 0.5rem 1rem rgba(var(--tblr-body-color-rgb), 0.15);
+    --tblr-box-shadow-sm: 0 0.125rem 0.25rem rgba(var(--tblr-body-color-rgb), 0.075);
+    --tblr-box-shadow-lg: 0 1rem 3rem rgba(var(--tblr-body-color-rgb), 0.175);
+    --tblr-box-shadow-inset: inset 0 1px 2px rgba(var(--tblr-body-color-rgb), 0.075);
+    --tblr-emphasis-color: #000000;
+    --tblr-form-control-bg: var(--tblr-body-bg);
+    --tblr-form-control-disabled-bg: var(--tblr-secondary-bg);
+    --tblr-highlight-bg: #fdeccc;
+    --tblr-breakpoint-xs: 0;
+    --tblr-breakpoint-sm: 576px;
+    --tblr-breakpoint-md: 768px;
+    --tblr-breakpoint-lg: 992px;
+    --tblr-breakpoint-xl: 1200px;
+    --tblr-breakpoint-xxl: 1400px;
+}
+
+[data-bs-theme=dark] {
+    --tblr-body-color: #6c7a91;
+    --tblr-body-color-rgb: 108, 122, 145;
+    --tblr-body-bg: #0f172a;
+    --tblr-body-bg-rgb: 15, 23, 42;
+    --tblr-emphasis-color: #f1f5f9;
+    --tblr-emphasis-color-rgb: 241, 245, 249;
+    --tblr-secondary-color: rgba(108, 122, 145, 0.75);
+    --tblr-secondary-color-rgb: 108, 122, 145;
+    --tblr-secondary-bg: #1d273b;
+    --tblr-secondary-bg-rgb: 29, 39, 59;
+    --tblr-tertiary-color: rgba(108, 122, 145, 0.5);
+    --tblr-tertiary-color-rgb: 108, 122, 145;
+    --tblr-tertiary-bg: #161f33;
+    --tblr-tertiary-bg-rgb: 22, 31, 51;
+    --tblr-emphasis-color: #ffffff;
+    --tblr-primary-text: #79a6dc;
+    --tblr-secondary-text: #c8d3e1;
+    --tblr-success-text: #82d18f;
+    --tblr-info-text: #74c7d4;
+    --tblr-warning-text: #f9c566;
+    --tblr-danger-text: #e68888;
+    --tblr-light-text: #f1f5f9;
+    --tblr-dark-text: #c8d3e1;
+    --tblr-primary-bg-subtle: #061527;
+    --tblr-secondary-bg-subtle: #0f172a;
+    --tblr-success-bg-subtle: #09240e;
+    --tblr-info-bg-subtle: #052025;
+    --tblr-warning-bg-subtle: #312000;
+    --tblr-danger-bg-subtle: #2b0b0b;
+    --tblr-light-bg-subtle: #1d273b;
+    --tblr-dark-bg-subtle: #0f141e;
+    --tblr-primary-border-subtle: #134076;
+    --tblr-secondary-border-subtle: #313c52;
+    --tblr-success-border-subtle: #1c6b29;
+    --tblr-info-border-subtle: #09414a;
+    --tblr-warning-border-subtle: #624000;
+    --tblr-danger-border-subtle: #802222;
+    --tblr-light-border-subtle: #313c52;
+    --tblr-dark-border-subtle: #1d273b;
+    --tblr-heading-color: #fff;
+    --tblr-link-color: #79a6dc;
+    --tblr-link-hover-color: #a6c4e7;
+    --tblr-link-color-rgb: 121, 166, 220;
+    --tblr-link-hover-color-rgb: 166, 196, 231;
+    --tblr-code-color: #e685a7;
+    --tblr-border-color: #313c52;
+    --tblr-border-color-translucent: rgba(255, 255, 255, 0.15);
+}
diff --git a/resources/views/icons.blade.php b/resources/views/icons.blade.php
new file mode 100644 (file)
index 0000000..b98f39a
--- /dev/null
@@ -0,0 +1,143 @@
+@push('content')
+    {{--
+
+    Downloaded from https://toolbox.fluidbook.com/tool-sprite/11/download
+    Edit here : https://toolbox.fluidbook.com/tool-sprite/11/edit
+
+    --}}
+    <div class="svg-sprite" style="height: 0;width: 0;position: absolute;" aria-hidden="true">
+        <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+            <symbol id="fb-elearning-logo" viewBox="0 0 156.497 48">
+                <clipPath id="a">
+                    <path d="m0 0h156.497v48h-156.497z"/>
+                </clipPath>
+                <g clip-path="url(#a)">
+                    <g fill="currentColor">
+                        <path
+                            d="m61.5 47.74a6.482 6.482 0 0 0 -3.2-.754h-3.733v11.767h3.733a5.46 5.46 0 0 0 5.95-5.909 6.38 6.38 0 0 0 -.7-3.036 5.026 5.026 0 0 0 -2.05-2.068m-.226 8.3a4.1 4.1 0 0 1 -3 1.114h-1.893v-8.568h1.887a4.081 4.081 0 0 1 3.008 1.121 4.228 4.228 0 0 1 1.124 3.138 4.283 4.283 0 0 1 -1.132 3.194"
+                            transform="translate(-17.233 -14.839)"/>
+                        <path
+                            d="m71.665 46.062a1.154 1.154 0 0 0 -.829.312 1.05 1.05 0 0 0 -.328.8 1.076 1.076 0 0 0 .324.812 1.153 1.153 0 0 0 .833.313 1.194 1.194 0 0 0 .85-.313 1.063 1.063 0 0 0 .332-.812 1.045 1.045 0 0 0 -.332-.8 1.193 1.193 0 0 0 -.85-.312"
+                            transform="translate(-22.268 -14.547)"/>
+                        <path d="m0 0h1.764v8.789h-1.764z" transform="translate(48.511 35.125)"/>
+                        <path
+                            d="m82.483 52.5h-.123a2.526 2.526 0 0 0 -.336-.426 4.35 4.35 0 0 0 -.561-.48 2.935 2.935 0 0 0 -.869-.418 3.711 3.711 0 0 0 -1.118-.162 3.914 3.914 0 0 0 -3 1.273 5.238 5.238 0 0 0 .016 6.648 4.014 4.014 0 0 0 3.066 1.277 3.512 3.512 0 0 0 .938-.123 3.141 3.141 0 0 0 .738-.291 3.516 3.516 0 0 0 .553-.4 3.717 3.717 0 0 0 .385-.378 3.605 3.605 0 0 0 .221-.3h.123v1.27a2.363 2.363 0 0 1 -2.655 2.628 2.86 2.86 0 0 1 -1.537-.375 1.623 1.623 0 0 1 -.757-1.045h-1.644a3.1 3.1 0 0 0 1.2 2.089 4.264 4.264 0 0 0 2.737.824 4.468 4.468 0 0 0 3.231-1.111 3.978 3.978 0 0 0 1.156-3.007v-8.756h-1.764zm-.688 5.257a2.467 2.467 0 0 1 -1.966.856 2.544 2.544 0 0 1 -1.97-.819 3.514 3.514 0 0 1 0-4.345 2.5 2.5 0 0 1 1.95-.835 2.584 2.584 0 0 1 1.954.8 3.045 3.045 0 0 1 .766 2.193 3.176 3.176 0 0 1 -.738 2.148"
+                            transform="translate(-23.779 -16.112)"/>
+                        <path
+                            d="m91.9 46.062a1.154 1.154 0 0 0 -.829.312 1.05 1.05 0 0 0 -.328.8 1.076 1.076 0 0 0 .324.812 1.153 1.153 0 0 0 .833.313 1.194 1.194 0 0 0 .85-.313 1.063 1.063 0 0 0 .332-.812 1.045 1.045 0 0 0 -.332-.8 1.193 1.193 0 0 0 -.85-.312"
+                            transform="translate(-28.658 -14.547)"/>
+                        <path d="m0 0h1.764v8.789h-1.764z" transform="translate(62.355 35.125)"/>
+                        <path
+                            d="m98.725 47.7h-1.657v1.929a.589.589 0 0 1 -.147.419.5.5 0 0 1 -.378.155h-1.157v1.428h1.575v4.559a2.524 2.524 0 0 0 2.774 2.79h1.46v-1.493h-1.19q-1.28 0-1.28-1.346v-4.505h2.56v-1.445h-2.56z"
+                            transform="translate(-30.125 -15.066)"/>
+                        <path
+                            d="m112.361 52.5h-.122a3.1 3.1 0 0 0 -.346-.426 4.37 4.37 0 0 0 -.552-.476 2.864 2.864 0 0 0 -.865-.423 3.67 3.67 0 0 0 -1.1-.162 3.9 3.9 0 0 0 -3.021 1.294 4.775 4.775 0 0 0 -1.177 3.343 4.67 4.67 0 0 0 1.19 3.322 4.033 4.033 0 0 0 3.09 1.273 3.292 3.292 0 0 0 2.835-1.468h.106v1.247h1.732v-8.787h-1.765zm-.688 5.281a2.454 2.454 0 0 1 -1.966.864 2.533 2.533 0 0 1 -1.971-.826 3.537 3.537 0 0 1 0-4.361 2.493 2.493 0 0 1 1.95-.844 2.57 2.57 0 0 1 1.954.811 3.076 3.076 0 0 1 .766 2.2 3.209 3.209 0 0 1 -.738 2.156"
+                            transform="translate(-33.216 -16.112)"/>
+                        <path
+                            d="m122.905 56.61a.775.775 0 0 1 -.172-.541v-10.307h-1.764v10.421a2.236 2.236 0 0 0 .546 1.608 2.018 2.018 0 0 0 1.538.575h.722v-1.566h-.369a.645.645 0 0 1 -.5-.188"
+                            transform="translate(-38.204 -14.452)"/>
+                        <path d="m135.078 46.986h-1.814v11.767h6.721v-1.6h-4.907z"
+                              transform="translate(-42.087 -14.839)"/>
+                        <path
+                            d="m151.39 52.337a3.719 3.719 0 0 0 -1.358-.968 4.564 4.564 0 0 0 -1.822-.353 4.419 4.419 0 0 0 -2.244.574 4.083 4.083 0 0 0 -1.572 1.637 5.034 5.034 0 0 0 -.575 2.433 4.585 4.585 0 0 0 1.231 3.3 4.211 4.211 0 0 0 3.192 1.292 4.593 4.593 0 0 0 2.72-.791 3.639 3.639 0 0 0 1.465-2.089h-1.715a2.059 2.059 0 0 1 -.923 1.012 2.984 2.984 0 0 1 -1.5.374 2.663 2.663 0 0 1 -1.929-.7 2.624 2.624 0 0 1 -.779-1.856h6.926v-.657a5.23 5.23 0 0 0 -.291-1.764 4.382 4.382 0 0 0 -.829-1.436m-5.773 2.495a2.462 2.462 0 0 1 .837-1.671 2.738 2.738 0 0 1 3.512-.028 2.4 2.4 0 0 1 .8 1.7z"
+                            transform="translate(-45.421 -16.112)"/>
+                        <path
+                            d="m164.933 52.5h-.122a3.1 3.1 0 0 0 -.345-.426 4.419 4.419 0 0 0 -.552-.476 2.872 2.872 0 0 0 -.865-.423 3.671 3.671 0 0 0 -1.106-.162 3.9 3.9 0 0 0 -3.021 1.294 4.775 4.775 0 0 0 -1.177 3.343 4.67 4.67 0 0 0 1.19 3.322 4.035 4.035 0 0 0 3.09 1.273 3.294 3.294 0 0 0 2.835-1.468h.106v1.247h1.734v-8.787h-1.764zm-.688 5.281a2.454 2.454 0 0 1 -1.966.864 2.532 2.532 0 0 1 -1.97-.826 3.536 3.536 0 0 1 0-4.361 2.5 2.5 0 0 1 1.951-.844 2.572 2.572 0 0 1 1.954.811 3.075 3.075 0 0 1 .766 2.2 3.205 3.205 0 0 1 -.738 2.156"
+                            transform="translate(-49.819 -16.112)"/>
+                        <path
+                            d="m176.217 51.783a2.407 2.407 0 0 0 -.861 1.075h-.115v-1.527h-1.7v8.789h1.765v-4.333a3.029 3.029 0 0 1 .627-2 2.125 2.125 0 0 1 1.728-.755h.82v-1.717h-.771a2.44 2.44 0 0 0 -1.494.468"
+                            transform="translate(-54.808 -16.206)"/>
+                        <path
+                            d="m187.148 51.016a3.107 3.107 0 0 0 -1.609.4 2.363 2.363 0 0 0 -.967.993h-.115v-1.172h-1.715v8.789h1.764v-5.126a2.218 2.218 0 0 1 .607-1.6 2.024 2.024 0 0 1 1.526-.636 1.892 1.892 0 0 1 1.407.571 2.016 2.016 0 0 1 .562 1.481v5.309h1.765v-5.645a3.422 3.422 0 0 0 -.878-2.412 3.038 3.038 0 0 0 -2.347-.952"
+                            transform="translate(-57.714 -16.112)"/>
+                        <path
+                            d="m197.38 46.062a1.155 1.155 0 0 0 -.829.312 1.05 1.05 0 0 0 -.328.8 1.074 1.074 0 0 0 .324.812 1.15 1.15 0 0 0 .833.313 1.193 1.193 0 0 0 .85-.313 1.063 1.063 0 0 0 .332-.812 1.045 1.045 0 0 0 -.332-.8 1.192 1.192 0 0 0 -.85-.312"
+                            transform="translate(-61.971 -14.547)"/>
+                        <path d="m0 0h1.764v8.789h-1.764z" transform="translate(134.523 35.125)"/>
+                        <path
+                            d="m206.327 51.016a3.107 3.107 0 0 0 -1.608.4 2.363 2.363 0 0 0 -.967.993h-.115v-1.172h-1.715v8.789h1.764v-5.126a2.218 2.218 0 0 1 .607-1.6 2.024 2.024 0 0 1 1.526-.636 1.892 1.892 0 0 1 1.407.571 2.016 2.016 0 0 1 .562 1.481v5.309h1.764v-5.645a3.422 3.422 0 0 0 -.878-2.412 3.038 3.038 0 0 0 -2.347-.952"
+                            transform="translate(-63.771 -16.112)"/>
+                        <path
+                            d="m222.075 51.237v1.263h-.122a2.562 2.562 0 0 0 -.336-.426 4.447 4.447 0 0 0 -.561-.48 2.944 2.944 0 0 0 -.869-.418 3.718 3.718 0 0 0 -1.118-.162 3.916 3.916 0 0 0 -3 1.273 5.237 5.237 0 0 0 .017 6.648 4.014 4.014 0 0 0 3.065 1.277 3.512 3.512 0 0 0 .938-.123 3.141 3.141 0 0 0 .738-.291 3.516 3.516 0 0 0 .553-.4 3.583 3.583 0 0 0 .385-.378 3.621 3.621 0 0 0 .222-.3h.122v1.27a2.363 2.363 0 0 1 -2.654 2.628 2.862 2.862 0 0 1 -1.537-.375 1.624 1.624 0 0 1 -.757-1.045h-1.643a3.1 3.1 0 0 0 1.2 2.089 4.265 4.265 0 0 0 2.738.824 4.465 4.465 0 0 0 3.227-1.111 3.976 3.976 0 0 0 1.156-3.007v-8.756zm-.688 6.522a2.466 2.466 0 0 1 -1.966.856 2.542 2.542 0 0 1 -1.97-.819 3.512 3.512 0 0 1 0-4.345 2.506 2.506 0 0 1 1.951-.835 2.585 2.585 0 0 1 1.954.8 3.044 3.044 0 0 1 .766 2.193 3.176 3.176 0 0 1 -.738 2.148"
+                            transform="translate(-67.865 -16.112)"/>
+                    </g>
+                    <path
+                        d="m28.844 56.042c-4.105-10.264-6.365-14.062-11.393-16.526-5.03-2.361-11.5 1.026-17.451.308 4.209 12.01 9.136 17.45 17.143 16.321s11.7-.1 11.7-.1"
+                        fill="#4fc38a" transform="translate(0 -12.212)"/>
+                    <path
+                        d="m26.015 12.626c-5.03-7.083-16.424-7.185-24.122-12.626a94.817 94.817 0 0 0 -1.293 10.149h-.007c-.008.129-.01.248-.018.376-.027.433-.044.855-.061 1.277-.016.391-.033.783-.04 1.164-.009.411-.008.81-.006 1.21 0 .371 0 .743.011 1.1.01.388.03.766.05 1.143.018.352.036.705.064 1.048.029.365.068.72.107 1.074.037.334.073.67.118.994.049.342.107.673.165 1.005.055.317.11.635.175.942s.145.628.222.937.149.6.234.889.185.586.282.873.189.563.294.834c.061.158.129.309.195.463a26.631 26.631 0 0 0 3.16-.321c-.868-2.657-1.085-6.329-.872-11.501 6.261 3.382 14.775 2.359 19.186 7.181s5.133 10.063 5.133 22.994c2.155-17.142 2.053-24.122-2.977-31.2"
+                        fill="#4fc38a" transform="translate(-.147)"/>
+                    <g fill="currentColor">
+                        <path d="m55 33.487v-18.461h11.687v3.566h-7.518v4.248h6.771v3.566h-6.771v7.081z"
+                              transform="translate(-17.369 -4.745)"/>
+                        <path
+                            d="m74.605 28.5v-15.4h4.095v14.928q0 1.261 1.159 1.262h.5v3.59h-1.4a4.3 4.3 0 0 1 -3.212-1.158 4.391 4.391 0 0 1 -1.14-3.218"
+                            transform="translate(-23.562 -4.139)"/>
+                        <path
+                            d="m85.388 30.95v-9.282h4.093v8.007a2.579 2.579 0 0 0 .6 1.784 2.093 2.093 0 0 0 1.643.675 2.141 2.141 0 0 0 1.708-.766 2.825 2.825 0 0 0 .655-1.9v-7.8h4.093v13.916h-3.88v-1.532h-.206a3.594 3.594 0 0 1 -1.419 1.326 4.591 4.591 0 0 1 -2.291.553 4.846 4.846 0 0 1 -3.638-1.39 4.931 4.931 0 0 1 -1.355-3.592"
+                            transform="translate(-26.967 -6.843)"/>
+                        <path d="m0 0h4.093v13.916h-4.093z" transform="translate(73.368 14.825)"/>
+                        <path
+                            d="m161.449 28.46a7.526 7.526 0 0 1 .545-2.871 7.073 7.073 0 0 1 1.506-2.317 6.867 6.867 0 0 1 2.365-1.545 8.088 8.088 0 0 1 3.057-.567 7.266 7.266 0 0 1 5.371 2.092 7.074 7.074 0 0 1 2.089 5.207 7.586 7.586 0 0 1 -.545 2.877 6.795 6.795 0 0 1 -3.9 3.868 8.06 8.06 0 0 1 -3.045.566 7.717 7.717 0 0 1 -3.877-.972 6.81 6.81 0 0 1 -2.64-2.633 7.458 7.458 0 0 1 -.929-3.708m4.093 0a3.657 3.657 0 0 0 .948 2.607 3.154 3.154 0 0 0 2.4 1.011 3.2 3.2 0 0 0 2.432-1.017 3.992 3.992 0 0 0 0-5.195 3.213 3.213 0 0 0 -2.432-1.011 3.156 3.156 0 0 0 -2.4 1.011 3.64 3.64 0 0 0 -.948 2.594"
+                            transform="translate(-50.989 -6.683)"/>
+                        <path
+                            d="m184.594 28.46a7.526 7.526 0 0 1 .545-2.871 7.073 7.073 0 0 1 1.506-2.317 6.867 6.867 0 0 1 2.365-1.545 8.088 8.088 0 0 1 3.057-.567 7.266 7.266 0 0 1 5.371 2.092 7.074 7.074 0 0 1 2.089 5.207 7.586 7.586 0 0 1 -.545 2.877 6.795 6.795 0 0 1 -3.9 3.868 8.06 8.06 0 0 1 -3.045.566 7.717 7.717 0 0 1 -3.877-.972 6.81 6.81 0 0 1 -2.64-2.633 7.458 7.458 0 0 1 -.929-3.708m4.093 0a3.657 3.657 0 0 0 .948 2.607 3.154 3.154 0 0 0 2.4 1.011 3.2 3.2 0 0 0 2.432-1.017 3.992 3.992 0 0 0 0-5.195 3.213 3.213 0 0 0 -2.432-1.011 3.156 3.156 0 0 0 -2.4 1.011 3.64 3.64 0 0 0 -.948 2.594"
+                            transform="translate(-58.299 -6.683)"/>
+                        <path
+                            d="m208.886 32.881v-19.774h4.093v10.593h.155l3.952-4.737h5.034l-4.48 5.008 4.828 8.909h-4.583l-3.064-5.78-1.841 2.06v3.721z"
+                            transform="translate(-65.971 -4.139)"/>
+                        <path
+                            d="m125.317 20.548h-.217a4.435 4.435 0 0 0 -1.478-1.333 4.706 4.706 0 0 0 -2.457-.6 5.69 5.69 0 0 0 -4.54 2.047 7.925 7.925 0 0 0 -1.747 5.33 7.62 7.62 0 0 0 1.76 5.252 5.893 5.893 0 0 0 4.629 1.982c4.793 0 3.874-1.942 8.144-2.4v-17.719h-4.093zm-.8 7.962a2.9 2.9 0 0 1 -2.322 1.024 2.98 2.98 0 0 1 -2.334-1 3.788 3.788 0 0 1 -.889-2.62 3.774 3.774 0 0 1 .889-2.6 2.944 2.944 0 0 1 2.309-1 3.008 3.008 0 0 1 2.322.985 3.724 3.724 0 0 1 .9 2.62 3.844 3.844 0 0 1 -.877 2.594"
+                            transform="translate(-36.28 -4.139)"/>
+                        <path
+                            d="m151.782 20.664a5.746 5.746 0 0 0 -4.575-2.047 4.677 4.677 0 0 0 -2.466.6 4.461 4.461 0 0 0 -1.461 1.333h-.205v-7.443h-4.095v17.72c4.26.458 3.359 2.39 8.109 2.4h.036a5.958 5.958 0 0 0 4.631-1.981 7.557 7.557 0 0 0 1.784-5.252 7.893 7.893 0 0 0 -1.759-5.33m-3.3 7.872a2.938 2.938 0 0 1 -2.3 1 2.9 2.9 0 0 1 -2.318-1.024 3.852 3.852 0 0 1 -.875-2.594 3.753 3.753 0 0 1 .889-2.626 2.965 2.965 0 0 1 2.3-.978 2.931 2.931 0 0 1 2.3 1 3.776 3.776 0 0 1 .889 2.6 3.791 3.791 0 0 1 -.889 2.62"
+                            transform="translate(-43.893 -4.139)"/>
+                        <path d="m111.535 15.537a2.431 2.431 0 1 1 -2.43-2.43 2.43 2.43 0 0 1 2.43 2.43"
+                              transform="translate(-33.69 -4.139)"/>
+                    </g>
+                </g>
+            </symbol>
+        </svg>
+    </div>
+    <script>
+        function getSpriteIcon(icon, attrs, dimensions) {
+            var a = [];
+            var iconSymbol = $('svg symbol[id="' + icon + '"]');
+            if (iconSymbol.length > 1) {
+                $('svg symbol[id="' + icon + '"]:not(:last)').remove();
+                iconSymbol = $('svg symbol[id="' + icon + '"]');
+            }
+
+            if (iconSymbol.length == 0) {
+                return ''; // Bail out because symbol doesn't exist
+            }
+
+            if (attrs == undefined) {
+                attrs = {};
+            }
+            if (attrs.viewBox == null) {
+                attrs.viewBox = iconSymbol.get(0).attributes.viewBox.value;
+            }
+            if (dimensions === true) {
+                var vb = attrs.viewBox.split(' ');
+                attrs.x = vb[0];
+                attrs.y = vb[1];
+                attrs.width = vb[2];
+                attrs.height = vb[3];
+            }
+            if (attrs.class == null) {
+                attrs.class = icon;
+            } else {
+                attrs.class += ' ' + icon;
+            }
+
+            attrs.class += ' nav-icon svg-icon'; // Common class for all icons
+
+            $.each(attrs, function (k, v) {
+                a.push(k + '="' + v + '"');
+            });
+            return '<svg ' + a.join(' ') + ' aria-hidden="true"><use xlink:href="#' + icon + '" /></svg>';
+        }
+
+    </script>
+@endpush
diff --git a/resources/views/vendor/backpack/theme-tabler/blank.blade.php b/resources/views/vendor/backpack/theme-tabler/blank.blade.php
new file mode 100644 (file)
index 0000000..d287b5a
--- /dev/null
@@ -0,0 +1,35 @@
+@extends(backpack_view('layouts.' . (backpack_theme_config('layout') ?? 'vertical')))
+
+@include('icons')
+
+@php
+    // Merge widgets that were fluently declared with widgets declared without the fluent syntax:
+    // - $data['widgets']['before_content']
+    // - $data['widgets']['after_content']
+    if (isset($widgets)) {
+        foreach ($widgets as $section => $widgetSection) {
+            foreach ($widgetSection as $key => $widget) {
+                \Backpack\CRUD\app\Library\Widget::add($widget)->section($section);
+            }
+        }
+    }
+@endphp
+
+@section('before_breadcrumbs_widgets')
+    @include(backpack_view('inc.widgets'), [ 'widgets' => app('widgets')->where('section', 'before_breadcrumbs')->toArray() ])
+@endsection
+
+@section('after_breadcrumbs_widgets')
+    @include(backpack_view('inc.widgets'), [ 'widgets' => app('widgets')->where('section', 'after_breadcrumbs')->toArray() ])
+@endsection
+
+@section('before_content_widgets')
+    @include(backpack_view('inc.widgets'), [ 'widgets' => app('widgets')->where('section', 'before_content')->toArray() ])
+@endsection
+
+@section('content')
+@endsection
+
+@section('after_content_widgets')
+    @include(backpack_view('inc.widgets'), [ 'widgets' => app('widgets')->where('section', 'after_content')->toArray() ])
+@endsection
diff --git a/resources/views/vendor/backpack/theme-tabler/layouts/horizontal.blade.php b/resources/views/vendor/backpack/theme-tabler/layouts/horizontal.blade.php
new file mode 100644 (file)
index 0000000..41494cb
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+
+<html lang="{{ app()->getLocale() }}" dir="{{ backpack_theme_config('html_direction') }}">
+
+<head>
+    @include(backpack_view('inc.head'))
+</head>
+
+<body class="{{ backpack_theme_config('classes.body') }}" bp-layout="horizontal">
+
+@include(backpack_view('layouts.partials.light_dark_mode_logic'))
+
+<div class="page">
+    <div class="page-wrapper">
+
+        <div class="@if(backpack_theme_config('options.useStickyHeader')) sticky-top @endif">
+            @includeWhen(backpack_theme_config('options.doubleTopBarInHorizontalLayouts'), backpack_view('layouts._horizontal.header_container'))
+            @include(backpack_view('layouts._horizontal.menu_container'))
+        </div>
+
+        <div class="page-body">
+            <main class="{{ backpack_theme_config('options.useFluidContainers') ? 'container-fluid' : 'container-xl' }}">
+
+                @yield('before_breadcrumbs_widgets')
+                @includeWhen(isset($breadcrumbs), backpack_view('inc.breadcrumbs'))
+                @yield('after_breadcrumbs_widgets')
+                @yield('header')
+
+                <div class="container-fluid animated fadeIn">
+                    @yield('before_content_widgets')
+                    @stack('content')
+                    @yield('content')
+                    @yield('after_content_widgets')
+                </div>
+            </main>
+        </div>
+
+        @include(backpack_view('inc.footer'))
+    </div>
+</div>
+
+@yield('before_scripts')
+@stack('before_scripts')
+
+@include(backpack_view('inc.scripts'))
+@include(backpack_view('inc.theme_scripts'))
+
+@yield('after_scripts')
+@stack('after_scripts')
+</body>
+</html>
index 735ec9539bc8d64e1216fcef6218a39f2d29e853..c84e22d8866aac2fad13f0da88041fcc34541aa0 100644 (file)
@@ -1,6 +1,20 @@
-{{-- This file is used for menu items by any Backpack v6 theme --}}
-<li class="nav-item"><a class="nav-link" href="{{ backpack_url('dashboard') }}"><i class="la la-home nav-icon"></i> {{ trans('backpack::base.dashboard') }}</a></li>
-
-<li><a href='{{ backpack_url('backup') }}'><i class='la la-hdd-o'></i> <span>Backups</span></a></li>
-<li><a href='{{ backpack_url('log') }}'><i class='la la-terminal'></i> <span>Logs</span></a></li>
-<li class='nav-item nav-dropdown'><a class='nav-link nav-dropdown-toggle' href='#'><i class='nav-icon la la-group'></i>Authentication</a><ul class='nav-dropdown-items'><li class='nav-item'><a class='nav-link' href='{{ backpack_url('user') }}'><i class='nav-icon la la-user'></i><span>Users</span></a></li><li class='nav-item'><a class='nav-link' href='{{ backpack_url('role') }}'><i class='nav-icon la la-group'></i> <span>Roles</span></a></li><li class='nav-item'><a class='nav-link' href='{{ backpack_url('permission') }}'><i class='nav-icon la la-key'></i><span>Permissions</span></a></li></ul></li>
\ No newline at end of file
+<x-backpack::menu-item title="{!!__('Tableau de bord')!!}" icon="ti ti-dashboard" :link="backpack_url('dashboard')" />
+<x-backpack::menu-item title="{!!__('Pages')!!}" icon="" :link="backpack_url('pages')" />
+<x-backpack::menu-item title="{!!__('Traductions')!!}" icon="" :link="backpack_url('pages')" />
+@canany('["user:admin","user:admin","user:admin"]')
+       <x-backpack::menu-dropdown title="{!!__('Utilisateurs')!!}" icon="">
+               @can('user:admin')
+                       <x-backpack::menu-dropdown-item title="{!!__('Utilisateurs')!!}" icon="la la-language" :link="backpack_url('user')" />
+               @endcan
+               @can('user:admin')
+                       <x-backpack::menu-dropdown-item title="{!!__('Rôles')!!}" icon="la la-language" :link="backpack_url('role')" />
+               @endcan
+               @can('user:admin')
+                       <x-backpack::menu-dropdown-item title="{!!__('Permissions')!!}" icon="la la-language" :link="backpack_url('permission')" />
+               @endcan
+       </x-backpack::menu-dropdown>
+@endcan
+<x-backpack::menu-dropdown title="{!!__('Administration')!!}" icon="ti ti-adjustments">
+       <x-backpack::menu-dropdown-item title="{!!__('Logs')!!}" icon="ti ti-file-stack" :link="backpack_url('log')" />
+       <x-backpack::menu-dropdown-item title="{!!__('Backup')!!}" icon="ti ti-history" :link="backpack_url('backup')" />
+</x-backpack::menu-dropdown>