littleshop/LittleShop/wwwroot/css/enhanced-navigation.css
SysAdmin a2247d7c02
Some checks failed
Build and Deploy LittleShop / Build TeleBot Docker Image (push) Failing after 11s
Build and Deploy LittleShop / Build LittleShop Docker Image (push) Failing after 15s
Build and Deploy LittleShop / Deploy to Production VPS (Manual Only) (push) Has been skipped
Build and Deploy LittleShop / Deploy to Pre-Production (CT109) (push) Has been skipped
feat: Add customer management, payments, and push notifications with security enhancements
Major Feature Additions:
- Customer management: Full CRUD with data export and privacy compliance
- Payment management: Centralized payment tracking and administration
- Push notification subscriptions: Manage and track web push subscriptions

Security Enhancements:
- IP whitelist middleware for administrative endpoints
- Data retention service with configurable policies
- Enhanced push notification security documentation
- Security fixes progress tracking (2025-11-14)

UI/UX Improvements:
- Enhanced navigation with improved mobile responsiveness
- Updated admin dashboard with order status counts
- Improved product CRUD forms
- New customer and payment management interfaces

Backend Improvements:
- Extended customer service with data export capabilities
- Enhanced order service with status count queries
- Improved crypto payment service with better error handling
- Updated validators and configuration

Documentation:
- DEPLOYMENT_NGINX_GUIDE.md: Nginx deployment instructions
- IP_STORAGE_ANALYSIS.md: IP storage security analysis
- PUSH_NOTIFICATION_SECURITY.md: Push notification security guide
- UI_UX_IMPROVEMENT_PLAN.md: Planned UI/UX enhancements
- UI_UX_IMPROVEMENTS_COMPLETED.md: Completed improvements

Cleanup:
- Removed temporary database WAL files
- Removed stale commit message file

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-16 19:33:02 +00:00

313 lines
6.5 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Enhanced Navigation Styles for TeleShop Admin
* Improves dropdown menus and active state highlighting
*/
/* ========================================
NAVIGATION BAR
======================================== */
/* Modern Navbar Styling */
.navbar {
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
border-bottom: 1px solid #e5e7eb;
}
.navbar-brand {
font-weight: 700;
font-size: 1.25rem;
color: #2563eb !important;
transition: all 0.2s ease;
}
.navbar-brand:hover {
transform: scale(1.05);
}
.navbar-brand i {
margin-right: 0.5rem;
}
/* ========================================
NAVIGATION LINKS
======================================== */
.nav-link {
font-weight: 500;
color: #4b5563 !important;
transition: all 0.2s ease;
border-radius: 0.375rem;
margin: 0 0.25rem;
padding: 0.5rem 1rem !important;
}
.nav-link:hover {
color: #2563eb !important;
background-color: #eff6ff;
}
.nav-link.active {
color: #2563eb !important;
background-color: #dbeafe;
font-weight: 600;
}
.nav-link i {
margin-right: 0.5rem;
font-size: 0.875rem;
}
/* ========================================
DROPDOWN MENUS
======================================== */
.dropdown-menu {
border: 1px solid #e5e7eb;
border-radius: 0.5rem;
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
0 4px 6px -2px rgba(0, 0, 0, 0.05);
padding: 0.5rem;
min-width: 220px;
margin-top: 0.5rem;
}
.dropdown-item {
border-radius: 0.375rem;
padding: 0.625rem 1rem;
font-weight: 500;
color: #4b5563;
transition: all 0.15s ease;
display: flex;
align-items: center;
}
.dropdown-item i {
margin-right: 0.75rem;
width: 1.25rem;
text-align: center;
color: #6b7280;
transition: color 0.15s ease;
}
.dropdown-item:hover {
background-color: #eff6ff;
color: #2563eb;
transform: translateX(2px);
}
.dropdown-item:hover i {
color: #2563eb;
}
.dropdown-item:active {
background-color: #dbeafe;
}
.dropdown-divider {
margin: 0.5rem 0;
border-color: #e5e7eb;
}
/* ========================================
DROPDOWN TOGGLE INDICATOR
======================================== */
.dropdown-toggle::after {
margin-left: 0.5rem;
vertical-align: 0.1em;
transition: transform 0.2s ease;
}
.dropdown-toggle[aria-expanded="true"]::after {
transform: rotate(180deg);
}
/* ========================================
ACTIVE DROPDOWN HIGHLIGHTING
======================================== */
/* Highlight dropdown parent when child page is active */
.nav-item.dropdown .nav-link.active {
background-color: #dbeafe;
color: #2563eb !important;
}
.nav-item.dropdown .nav-link.active::before {
content: "";
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 80%;
height: 3px;
background: linear-gradient(90deg, transparent, #2563eb, transparent);
border-radius: 2px 2px 0 0;
}
.nav-item.dropdown {
position: relative;
}
/* ========================================
RESPONSIVE IMPROVEMENTS
======================================== */
@media (max-width: 768px) {
.navbar-collapse {
background-color: white;
border-radius: 0.5rem;
margin-top: 0.5rem;
padding: 1rem;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.nav-link {
padding: 0.75rem 1rem !important;
margin: 0.25rem 0;
}
.dropdown-menu {
border: none;
box-shadow: none;
padding-left: 1rem;
margin-top: 0;
background-color: #f9fafb;
}
.dropdown-item {
font-size: 0.9rem;
}
}
/* ========================================
BREADCRUMB NAVIGATION (Future Enhancement)
======================================== */
.breadcrumb {
background-color: transparent;
padding: 0.5rem 0;
margin-bottom: 1rem;
font-size: 0.875rem;
}
.breadcrumb-item {
color: #6b7280;
}
.breadcrumb-item.active {
color: #2563eb;
font-weight: 600;
}
.breadcrumb-item + .breadcrumb-item::before {
content: "";
color: #9ca3af;
padding: 0 0.5rem;
}
.breadcrumb-item a {
color: #6b7280;
text-decoration: none;
transition: color 0.2s ease;
}
.breadcrumb-item a:hover {
color: #2563eb;
}
/* ========================================
ACCESSIBILITY ENHANCEMENTS
======================================== */
.nav-link:focus,
.dropdown-item:focus {
outline: 2px solid #2563eb;
outline-offset: 2px;
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
/* Keyboard navigation indicator */
.nav-link:focus-visible,
.dropdown-item:focus-visible {
outline: 2px solid #2563eb;
outline-offset: 2px;
}
/* ========================================
ANIMATION & MICRO-INTERACTIONS
======================================== */
@keyframes slideDown {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.dropdown-menu.show {
animation: slideDown 0.2s ease-out;
}
/* Hover effect for dropdown parent */
.nav-item.dropdown:hover .nav-link {
background-color: #f3f4f6;
}
/* ========================================
NOTIFICATION BADGES (For Future Use)
======================================== */
.nav-link .badge {
position: absolute;
top: 0.25rem;
right: 0.25rem;
font-size: 0.625rem;
padding: 0.2rem 0.4rem;
border-radius: 0.75rem;
background-color: #ef4444;
color: white;
font-weight: 700;
min-width: 1.25rem;
text-align: center;
}
/* ========================================
LOADING STATE (For Future Enhancement)
======================================== */
.nav-link.loading {
opacity: 0.6;
pointer-events: none;
}
.nav-link.loading::after {
content: "";
display: inline-block;
width: 0.75rem;
height: 0.75rem;
margin-left: 0.5rem;
border: 2px solid currentColor;
border-right-color: transparent;
border-radius: 50%;
animation: spin 0.6s linear infinite;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
/* ========================================
PWA INSTALL ALERT (Inline Dashboard Content)
======================================== */
/* PWA install alert is now inline Bootstrap alert component */
/* No custom styles needed - using standard Bootstrap alert-info */
/* Dismiss functionality handled via Bootstrap's data-bs-dismiss */
/* Visibility controlled by JavaScript based on localStorage */