feat: Add banner management functionality
- Implemented a new Banner model to represent banner data. - Created a BannerRepository for database interactions related to banners. - Developed a BannerService to handle business logic for banners. - Added admin views for listing and adding banners. - Integrated banner hooks for frontend rendering and click tracking. - Created frontend styles and scripts for banner display and interaction. - Updated database migrations to include a new banners table. - Enhanced AdminController to manage banner actions and pages.
This commit is contained in:
@@ -294,3 +294,94 @@
|
||||
#sodino-app .sd-chart-card {
|
||||
min-height: 300px;
|
||||
}
|
||||
|
||||
#sodino-app {
|
||||
min-height: 100vh;
|
||||
background: radial-gradient(circle at top right, rgba(99, 102, 241, 0.14), transparent 22%),
|
||||
radial-gradient(circle at bottom left, rgba(59, 130, 246, 0.08), transparent 15%),
|
||||
#f8fafc;
|
||||
padding: 30px 16px 50px;
|
||||
color: #0f172a;
|
||||
}
|
||||
|
||||
#sodino-app .bg-white.rounded-lg.shadow-sm.border,
|
||||
#sodino-app .bg-white.rounded-2xl.border {
|
||||
background: rgba(255, 255, 255, 0.98);
|
||||
border-color: rgba(148, 163, 184, 0.70);
|
||||
box-shadow: 0 18px 35px rgba(15, 23, 42, 0.10);
|
||||
}
|
||||
|
||||
#sodino-app .bg-white.rounded-lg.shadow-sm.border,
|
||||
#sodino-app .bg-white.rounded-2xl.border,
|
||||
#sodino-app .bg-gray-50,
|
||||
#sodino-app .sd-sidebar,
|
||||
#sodino-app .sd-card,
|
||||
#sodino-app .sd-chart-card {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
#sodino-app .bg-gray-50 {
|
||||
background: #f7fbff !important;
|
||||
border-color: rgba(148, 163, 184, 0.35);
|
||||
}
|
||||
|
||||
#sodino-app .shadow-sm {
|
||||
box-shadow: 0 14px 30px rgba(15, 23, 42, 0.09) !important;
|
||||
}
|
||||
|
||||
#sodino-app .sd-sidebar,
|
||||
#sodino-app .sd-card,
|
||||
#sodino-app .sd-chart-card {
|
||||
border-color: rgba(148, 163, 184, 0.65);
|
||||
}
|
||||
|
||||
#sodino-app .rounded-lg,
|
||||
#sodino-app .rounded-2xl,
|
||||
#sodino-app .rounded-md {
|
||||
border-radius: 1.3rem !important;
|
||||
}
|
||||
|
||||
#sodino-app .space-y-2 > a {
|
||||
display: block;
|
||||
padding: 0.95rem 1rem;
|
||||
border-radius: 1rem;
|
||||
transition: all 0.18s ease-in-out;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
#sodino-app .space-y-2 > a:hover {
|
||||
background: rgba(99, 102, 241, 0.1);
|
||||
}
|
||||
|
||||
#sodino-app .text-gray-500,
|
||||
#sodino-app .text-gray-600,
|
||||
#sodino-app .text-gray-700 {
|
||||
color: #334155 !important;
|
||||
}
|
||||
|
||||
#sodino-app h1,
|
||||
#sodino-app h2,
|
||||
#sodino-app h3,
|
||||
#sodino-app h4 {
|
||||
letter-spacing: -0.02em;
|
||||
}
|
||||
|
||||
#sodino-app .bg-white.rounded-lg.shadow-sm.border p,
|
||||
#sodino-app .bg-white.rounded-2xl.border p {
|
||||
color: #475569;
|
||||
}
|
||||
|
||||
#sodino-app .bg-white.rounded-lg.shadow-sm.border .inline-flex,
|
||||
#sodino-app .bg-white.rounded-2xl.border .inline-flex {
|
||||
box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
|
||||
}
|
||||
|
||||
#sodino-app table thead th {
|
||||
color: #334155 !important;
|
||||
}
|
||||
|
||||
#sodino-app .wp-list-table .column-name,
|
||||
#sodino-app .wp-list-table .column-title {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user