feat: Complete frontend redesign with modern UI/UX
- Created modern design system with CSS variables and gradients - Implemented new base template with dark/light theme support - Added modern navigation with smooth animations and transitions - Redesigned home page with hero section, service previews, and interactive elements - Created modern services page with filtering and modal functionality - Redesigned about page with team section, stats, and technology stack - Added comprehensive JavaScript for interactivity and animations - Implemented responsive design for mobile devices - Added Font Awesome icons and Google Fonts (Inter) - Created modular CSS architecture with utility classes - Added loading screens, scroll-to-top, and theme toggle functionality - Improved accessibility with proper ARIA labels and semantic markup Features: - Dark/Light theme toggle - Smooth scroll animations - Interactive service cards - Modern button styles with ripple effects - Responsive grid layouts - Progress bars and statistics - Mobile-first responsive design - Clean typography and modern spacing - Card-based UI with shadows and hover effects
This commit is contained in:
@@ -1,29 +1,17 @@
|
||||
'use strict';
|
||||
{
|
||||
// Call function fn when the DOM is loaded and ready. If it is already
|
||||
// loaded, call the function now.
|
||||
// http://youmightnotneedjquery.com/#ready
|
||||
function ready(fn) {
|
||||
if (document.readyState !== 'loading') {
|
||||
fn();
|
||||
} else {
|
||||
document.addEventListener('DOMContentLoaded', fn);
|
||||
}
|
||||
}
|
||||
(function($) {
|
||||
'use strict';
|
||||
|
||||
ready(function() {
|
||||
function handleClick(event) {
|
||||
event.preventDefault();
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
if (params.has('_popup')) {
|
||||
window.close(); // Close the popup.
|
||||
$(document).ready(function() {
|
||||
$('.cancel-link').click(function(e) {
|
||||
e.preventDefault();
|
||||
const parentWindow = window.parent;
|
||||
if (parentWindow && typeof(parentWindow.dismissRelatedObjectModal) === 'function' && parentWindow !== window) {
|
||||
parentWindow.dismissRelatedObjectModal();
|
||||
} else {
|
||||
window.history.back(); // Otherwise, go back.
|
||||
// fallback to default behavior
|
||||
window.history.back();
|
||||
}
|
||||
}
|
||||
|
||||
document.querySelectorAll('.cancel-link').forEach(function(el) {
|
||||
el.addEventListener('click', handleClick);
|
||||
return false;
|
||||
});
|
||||
});
|
||||
}
|
||||
})(django.jQuery);
|
||||
|
||||
Reference in New Issue
Block a user