� Calendar Improvements: - Fixed duplicate API calls and event handling - Enhanced calendar toolbar with beautiful gradient buttons - Fixed button alignment and clipping issues - Added custom calendar-custom.css with modern styling - Improved drag & drop functionality with better visual feedback - Enhanced recently dropped events section with proper scrolling - Added dark mode support for all calendar components - Mobile responsive design with optimized button layouts � Project Tracker Fixes: - Eliminated duplicate API calls with loading refs and time-based prevention - Enhanced pagination handling to prevent double requests - Improved error handling and loading states - Better console logging for debugging � UI/UX Enhancements: - Beautiful gradient backgrounds and hover effects - Proper icon alignment in recently dropped events - Color-coded status indicators (dots instead of text) - Smooth animations and transitions - Enhanced visual hierarchy and spacing - Professional styling with backdrop filters and shadows � Responsive Design: - Mobile-optimized layouts and button sizes - Proper touch targets and spacing - Consistent styling across all screen sizes � Performance: - Reduced re-renders and optimized event handling - Better memory management with proper cleanup - Eliminated React StrictMode double rendering in development
66 lines
2.1 KiB
JavaScript
66 lines
2.1 KiB
JavaScript
|
|
import React from "react";
|
|
import { BrowserRouter } from 'react-router-dom';
|
|
import ReactDOM from 'react-dom';
|
|
import '../node_modules/bootstrap/dist/css/bootstrap.min.css';
|
|
import '../node_modules/bootstrap/dist/js/bootstrap.bundle.js';
|
|
|
|
import '../src/style/css/feather.css'
|
|
import '../src/style/css/line-awesome.min.css'
|
|
import "../src/style/scss/main.scss";
|
|
import '../src/style/icons/fontawesome/css/fontawesome.min.css'
|
|
import '../src/style/icons/fontawesome/css/all.min.css'
|
|
|
|
|
|
import { Provider } from "react-redux";
|
|
import store from "./core/redux/store.jsx";
|
|
import AllRoutes from "./Router/router.jsx";
|
|
|
|
const rootElement = document.getElementById('root');
|
|
|
|
// Initialize default dark mode theme
|
|
const initializeTheme = () => {
|
|
// Force reset to dark mode for new default (uncomment if needed)
|
|
// localStorage.removeItem("colorschema");
|
|
// localStorage.removeItem("layoutStyling");
|
|
// localStorage.removeItem("layoutThemeColors");
|
|
|
|
// Set default values if not exists in localStorage
|
|
if (!localStorage.getItem("colorschema")) {
|
|
localStorage.setItem("colorschema", "dark_mode");
|
|
}
|
|
if (!localStorage.getItem("layoutStyling")) {
|
|
localStorage.setItem("layoutStyling", "default");
|
|
}
|
|
if (!localStorage.getItem("layoutThemeColors")) {
|
|
localStorage.setItem("layoutThemeColors", "light");
|
|
}
|
|
|
|
// Apply theme to document
|
|
const colorSchema = localStorage.getItem("colorschema") || "dark_mode";
|
|
const layoutStyling = localStorage.getItem("layoutStyling") || "default";
|
|
const layoutThemeColors = localStorage.getItem("layoutThemeColors") || "light";
|
|
|
|
document.documentElement.setAttribute("data-layout-mode", colorSchema);
|
|
document.documentElement.setAttribute("data-layout-style", layoutStyling);
|
|
document.documentElement.setAttribute("data-nav-color", layoutThemeColors);
|
|
};
|
|
|
|
// Initialize theme before rendering
|
|
initializeTheme();
|
|
|
|
|
|
|
|
if (rootElement) {
|
|
const root = ReactDOM.createRoot(rootElement);
|
|
root.render(
|
|
<Provider store={store} >
|
|
<BrowserRouter basename={process.env.PUBLIC_URL}>
|
|
<AllRoutes />
|
|
</BrowserRouter>
|
|
</Provider>
|
|
);
|
|
} else {
|
|
console.error("Element with id 'root' not found.");
|
|
}
|