Skip to content

Commit dbdd303

Browse files
committed
added PAN Backpack add-on for product analytics
1 parent a4fe422 commit dbdd303

File tree

6 files changed

+223
-49
lines changed

6 files changed

+223
-49
lines changed

composer.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@
3434
"league/flysystem-aws-s3-v3": "^3.0",
3535
"mews/purifier": "^3.4",
3636
"spatie/laravel-ignition": "^2.0",
37-
"spatie/laravel-translatable": "^6.0"
37+
"spatie/laravel-translatable": "^6.0",
38+
"backpack/pan-panel": "dev-main"
3839
},
3940
"require-dev": {
4041
"fakerphp/faker": "~1.4",
@@ -49,6 +50,10 @@
4950
{
5051
"type": "composer",
5152
"url": "https://repo.backpackforlaravel.com/"
53+
},
54+
{
55+
"type": "vcs",
56+
"url": "https://github.com/Laravel-Backpack/pan-panel.git"
5257
}
5358
],
5459
"autoload": {

composer.lock

Lines changed: 140 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
3+
use Illuminate\Database\Migrations\Migration;
4+
use Illuminate\Database\Schema\Blueprint;
5+
use Illuminate\Support\Facades\Schema;
6+
7+
return new class extends Migration
8+
{
9+
/**
10+
* Run the migrations.
11+
*/
12+
public function up(): void
13+
{
14+
Schema::create('pan_analytics', function (Blueprint $table): void {
15+
$table->id();
16+
$table->string('name');
17+
18+
$table->unsignedBigInteger('impressions')->default(0);
19+
$table->unsignedBigInteger('hovers')->default(0);
20+
$table->unsignedBigInteger('clicks')->default(0);
21+
});
22+
}
23+
24+
/**
25+
* Reverse the migrations.
26+
*/
27+
public function down(): void
28+
{
29+
Schema::dropIfExists('pan_analytics');
30+
}
31+
};

resources/views/vendor/backpack/theme-tabler/auth/login/inc/form.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<h2 class="h2 text-center my-4">{{ trans('backpack::base.login') }}</h2>
2-
<form method="POST" action="{{ route('backpack.auth.login') }}" autocomplete="off" novalidate="">
2+
<form method="POST" action="{{ route('backpack.auth.login') }}" autocomplete="off" novalidate="" data-pan="login-form">
33
@csrf
44
<div class="mb-3">
55
<label class="form-label" for="{{ $username }}">{{ config('backpack.base.authentication_column_name') }}</label>
Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,62 @@
11
{{-- This file is used for menu items by any Backpack v6 theme --}}
22

3-
<x-backpack::menu-item title="Dashboard" icon="la la-dashboard" :link="backpack_url('dashboard')" />
3+
<x-backpack::menu-item title="Dashboard" icon="la la-dashboard" :link="backpack_url('dashboard')" data-pan="menu-item-dashboard" />
44

55
@includeWhen(class_exists(\Backpack\DevTools\DevToolsServiceProvider::class), 'backpack.devtools::buttons.sidebar_item')
66

77
{{-- Addons --}}
8-
<x-backpack::menu-dropdown title="Add-ons" icon="la la-puzzle-piece">
9-
<x-backpack::menu-dropdown title="News" icon="la la-newspaper-o" nested="true">
10-
<x-backpack::menu-dropdown-item title="Articles" icon="la la-newspaper-o" :link="backpack_url('article')" />
11-
<x-backpack::menu-dropdown-item title="Categories" icon="la la-list" :link="backpack_url('category')" />
12-
<x-backpack::menu-dropdown-item title="Tags" icon="la la-tag" :link="backpack_url('tag')" />
8+
<x-backpack::menu-dropdown title="Add-ons" icon="la la-puzzle-piece" data-pan="menu-item-addons">
9+
<x-backpack::menu-dropdown title="News" icon="la la-newspaper-o" nested="true" data-pan="menu-item-news">
10+
<x-backpack::menu-dropdown-item title="Articles" icon="la la-newspaper-o" :link="backpack_url('article')" data-pan="menu-item-articles" />
11+
<x-backpack::menu-dropdown-item title="Categories" icon="la la-list" :link="backpack_url('category')" data-pan="menu-item-categories" />
12+
<x-backpack::menu-dropdown-item title="Tags" icon="la la-tag" :link="backpack_url('tag')" data-pan="menu-item-tags" />
1313
</x-backpack::menu-dropdown>
1414

15-
<x-backpack::menu-dropdown title="Authentication" icon="la la-user" nested="true">
16-
<x-backpack::menu-dropdown-item title="Users" icon="la la-user" :link="backpack_url('user')" />
17-
<x-backpack::menu-dropdown-item title="Roles" icon="la la-group" :link="backpack_url('role')" />
18-
<x-backpack::menu-dropdown-item title="Permissions" icon="la la-key" :link="backpack_url('permission')" />
15+
<x-backpack::menu-dropdown title="Authentication" icon="la la-user" nested="true" data-pan="menu-item-auth">
16+
<x-backpack::menu-dropdown-item title="Users" icon="la la-user" :link="backpack_url('user')" data-pan="menu-item-users" />
17+
<x-backpack::menu-dropdown-item title="Roles" icon="la la-group" :link="backpack_url('role')" data-pan="menu-item-roles" />
18+
<x-backpack::menu-dropdown-item title="Permissions" icon="la la-key" :link="backpack_url('permission')" data-pan="menu-item-permissions" />
1919
</x-backpack::menu-dropdown>
2020

21-
<x-backpack::menu-dropdown-item title="File Manager" icon="la la-files-o" :link="backpack_url('elfinder')" />
22-
<x-backpack::menu-dropdown-item title="Activity Logs" icon="la la-stream" :link="backpack_url('activity-log')" />
23-
<x-backpack::menu-dropdown-item title="Translation Manager" icon="la la-language" :link="backpack_url('translation-manager')" />
24-
<x-backpack::menu-dropdown-item title="Meetings (Calendar Operation)" icon="la la-calendar" :link="backpack_url('meeting')" />
25-
<x-backpack::menu-dropdown-item title="Backups" icon="la la-hdd-o" :link="backpack_url('backup')" />
26-
<x-backpack::menu-dropdown-item title="Logs" icon="la la-terminal" :link="backpack_url('log')" />
27-
<x-backpack::menu-dropdown-item title="Settings" icon="la la-cog" :link="backpack_url('setting')" />
28-
<x-backpack::menu-dropdown-item title="Pages" icon="la la-file-o" :link="backpack_url('page')" />
29-
<x-backpack::menu-dropdown-item title="Menu" icon="la la-list" :link="backpack_url('menu-item')" />
21+
<x-backpack::menu-dropdown-item title="File Manager" icon="la la-files-o" :link="backpack_url('elfinder')" data-pan="menu-item-filemanager" />
22+
<x-backpack::menu-dropdown-item title="Activity Logs" icon="la la-stream" :link="backpack_url('activity-log')" data-pan="menu-item-activity-log" />
23+
<x-backpack::menu-dropdown-item title="Translation Manager" icon="la la-language" :link="backpack_url('translation-manager')" data-pan="menu-item-translation-manager" />
24+
<x-backpack::menu-dropdown-item title="Meetings (Calendar Operation)" icon="la la-calendar" :link="backpack_url('meeting')" data-pan="menu-item-calendar-operation" />
25+
<x-backpack::menu-dropdown-item title="Backups" icon="la la-hdd-o" :link="backpack_url('backup')" data-pan="menu-item-backup-manager" />
26+
<x-backpack::menu-dropdown-item title="Logs" icon="la la-terminal" :link="backpack_url('log')" data-pan="menu-item-log-manager" />
27+
<x-backpack::menu-dropdown-item title="Settings" icon="la la-cog" :link="backpack_url('setting')" data-pan="menu-item-settings" />
28+
<x-backpack::menu-dropdown-item title="Pages" icon="la la-file-o" :link="backpack_url('page')" data-pan="menu-item-page-manager" />
29+
<x-backpack::menu-dropdown-item title="Menu" icon="la la-list" :link="backpack_url('menu-item')" data-pan="menu-item-menu-manager" />
30+
<x-backpack::menu-dropdown-item title="Analytics" icon="la la-chart-bar" :link="backpack_url(config('backpack.pan.route_prefix'))" data-pan="menu-item-analytics" />
3031
</x-backpack::menu-dropdown>
3132

3233
<x-backpack::menu-separator title="Example CRUDs" />
3334

3435
{{-- Pets --}}
35-
<x-backpack::menu-dropdown title="Pet Shop" icon="la la-store-alt">
36-
<x-backpack::menu-dropdown-item title="Invoices" icon="la la-file-text" :link="backpack_url('pet-shop/invoice')" />
37-
<x-backpack::menu-dropdown-item title="Owners" icon="la la-user" :link="backpack_url('pet-shop/owner')" />
38-
<x-backpack::menu-dropdown-item title="Pets" icon="la la-dog" :link="backpack_url('pet-shop/pet')" />
39-
<x-backpack::menu-dropdown-item title="Badges" icon="la la-certificate" :link="backpack_url('pet-shop/badge')" />
40-
<x-backpack::menu-dropdown-item title="Skills" icon="la la-ribbon" :link="backpack_url('pet-shop/skill')" />
41-
<x-backpack::menu-dropdown-item title="Comments" icon="la la-comment" :link="backpack_url('pet-shop/comment')" />
36+
<x-backpack::menu-dropdown title="Pet Shop" icon="la la-store-alt" data-pan="menu-item-petshop">
37+
<x-backpack::menu-dropdown-item title="Invoices" icon="la la-file-text" :link="backpack_url('pet-shop/invoice')" data-pan="menu-item-invoices" />
38+
<x-backpack::menu-dropdown-item title="Owners" icon="la la-user" :link="backpack_url('pet-shop/owner')" data-pan="menu-item-owners" />
39+
<x-backpack::menu-dropdown-item title="Pets" icon="la la-dog" :link="backpack_url('pet-shop/pet')" data-pan="menu-item-pets" />
40+
<x-backpack::menu-dropdown-item title="Badges" icon="la la-certificate" :link="backpack_url('pet-shop/badge')" data-pan="menu-item-badges" />
41+
<x-backpack::menu-dropdown-item title="Skills" icon="la la-ribbon" :link="backpack_url('pet-shop/skill')" data-pan="menu-item-dogs" />
42+
<x-backpack::menu-dropdown-item title="Comments" icon="la la-comment" :link="backpack_url('pet-shop/comment')" data-pan="menu-item-comments" />
4243

4344
<x-backpack::menu-dropdown-header title="Info" />
44-
<x-backpack::menu-dropdown-item title="About" icon="la la-question" :link="backpack_url('pet-shop/about')" />
45+
<x-backpack::menu-dropdown-item title="About" icon="la la-question" :link="backpack_url('pet-shop/about')" data-pan="menu-item-about" />
4546
</x-backpack::menu-dropdown>
4647

4748
{{-- Monsters --}}
4849
<x-backpack::menu-dropdown title="Crazy Stuff" icon="la la-skull-crossbones">
49-
<x-backpack::menu-dropdown-item title="Monsters" icon="la la-optin-monster" :link="backpack_url('monster')" />
50-
<x-backpack::menu-dropdown-item title="Caves" icon="la la-dungeon" :link="backpack_url('cave')" />
51-
<x-backpack::menu-dropdown-item title="Stories" icon="la la-book" :link="backpack_url('story')" />
52-
<x-backpack::menu-dropdown-item title="Icons" icon="la la-info-circle" :link="backpack_url('icon')" />
53-
<x-backpack::menu-dropdown-item title="Products" icon="la la-shopping-cart" :link="backpack_url('product')" />
50+
<x-backpack::menu-dropdown-item title="Monsters" icon="la la-optin-monster" :link="backpack_url('monster')" data-pan="menu-item-mosters" />
51+
<x-backpack::menu-dropdown-item title="Caves" icon="la la-dungeon" :link="backpack_url('cave')" data-pan="menu-item-caves" />
52+
<x-backpack::menu-dropdown-item title="Stories" icon="la la-book" :link="backpack_url('story')" data-pan="menu-item-stories" />
53+
<x-backpack::menu-dropdown-item title="Icons" icon="la la-info-circle" :link="backpack_url('icon')" data-pan="menu-item-icons" />
54+
<x-backpack::menu-dropdown-item title="Products" icon="la la-shopping-cart" :link="backpack_url('product')" data-pan="menu-item-products" />
5455
<x-backpack::menu-dropdown-item title="Fluent Monsters" icon="la la-pastafarianism"
55-
:link="backpack_url('fluent-monster')" />
56+
:link="backpack_url('fluent-monster')" data-pan="menu-item-fluent-monsters" />
5657
<x-backpack::menu-dropdown-item title="Field Monsters" icon="la la-list-alt"
57-
:link="backpack_url('field-monster')" />
58+
:link="backpack_url('field-monster')" data-pan="menu-item-field-monsters" />
5859
<x-backpack::menu-dropdown-item title="Editable Monsters" icon="la la-spell-check"
59-
:link="backpack_url('editable-monster')" />
60-
<x-backpack::menu-dropdown-item title="Dummies" icon="la la-poo" :link="backpack_url('dummy')" />
60+
:link="backpack_url('editable-monster')" data-pan="menu-item-editable-monsters" />
61+
<x-backpack::menu-dropdown-item title="Dummies" icon="la la-poo" :link="backpack_url('dummy')" data-pan="menu-item-dummies" />
6162
</x-backpack::menu-dropdown>

resources/views/welcome.blade.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,17 +65,17 @@
6565
{{-- Plausibile.io analytics, proxied through a CloudFlare Worker --}}
6666
<script defer data-domain="demo.backpackforlaravel.com" src="https://sweet-surf-fd04.dhcfw.workers.dev/js/script.js"></script>
6767
</head>
68-
<body>
68+
<body data-pan="welcome-page">
6969
<div class="flex-center position-ref full-height">
7070
@if (Route::has('login'))
7171
<div class="top-right links">
7272
@auth
73-
<a href="{{ url('/home') }}">Home</a>
73+
<a href="{{ url('/home') }}" data-pan="welcome-home-link">Home</a>
7474
@else
75-
<a href="{{ route('login') }}">Login</a>
75+
<a href="{{ route('login') }}" data-pan="welcome-login-link">>Login</a>
7676

7777
@if (Route::has('register'))
78-
<a href="{{ route('register') }}">Register</a>
78+
<a href="{{ route('register') }}" data-pan="welcome-register-link">Register</a>
7979
@endif
8080
@endauth
8181
</div>
@@ -87,10 +87,10 @@
8787
</div>
8888

8989
<div class="links">
90-
<a href="{{ backpack_url() }}">Login</a>
91-
<a target="_blank" href="https://backpackforlaravel.com/docs">Docs</a>
92-
<a target="_blank" href="https://github.com/laravel-backpack/crud">GitHub</a>
93-
<a target="_blank" href="https://backpackforlaravel.com/contact">Contact</a>
90+
<a href="{{ backpack_url() }}" data-pan="welcome-login-link">Login</a>
91+
<a target="_blank" href="https://backpackforlaravel.com/docs" data-pan="welcome-docs-link">Docs</a>
92+
<a target="_blank" href="https://github.com/laravel-backpack/crud" data-pan="welcome-github-link">GitHub</a>
93+
<a target="_blank" href="https://backpackforlaravel.com/contact" data-pan="welcome-contact-link">Contact</a>
9494
</div>
9595

9696
<div class="m-t-lg">

0 commit comments

Comments
 (0)