feat(email-templates): update release note template for Worklenz 2.1.0

- Added a title and meta subject for the release note template.
- Enhanced styling for better readability and user experience, including background color, font adjustments, and button styles.
- Introduced new sections for features, including a new tasks list, kanban board, group view, language support, and bug fixes.
- Improved responsiveness and dark mode support for the email template.
This commit is contained in:
chamikaJ
2025-07-08 11:59:17 +05:30
parent b0253135e5
commit a44b276269
4 changed files with 255 additions and 258 deletions

View File

@@ -26,7 +26,7 @@ const TASK_LIST_MIN_WIDTH = 500;
const SIDEBAR_MAX_WIDTH = 400;
// Lazy load heavy components
const TaskDrawer = React.lazy(() => import('@components/task-drawer/task-drawer'));
const TaskDrawer = React.lazy(() => import('@/components/task-drawer/task-drawer'));
const HomePage = memo(() => {
const dispatch = useAppDispatch();
@@ -35,6 +35,19 @@ const HomePage = memo(() => {
useDocumentTitle('Home');
// Preload TaskDrawer component to prevent dynamic import failures
useEffect(() => {
const preloadTaskDrawer = async () => {
try {
await import('@/components/task-drawer/task-drawer');
} catch (error) {
console.warn('Failed to preload TaskDrawer:', error);
}
};
preloadTaskDrawer();
}, []);
// Memoize fetch function to prevent recreation on every render
const fetchLookups = useCallback(async () => {
const fetchPromises = [
@@ -113,9 +126,15 @@ const HomePage = memo(() => {
{MainContent}
{/* Use Suspense for lazy-loaded components */}
<Suspense fallback={null}>
{createPortal(<TaskDrawer />, document.body, 'home-task-drawer')}
{/* Use Suspense for lazy-loaded components with error boundary */}
<Suspense fallback={<div>Loading...</div>}>
{createPortal(
<React.Suspense fallback={null}>
<TaskDrawer />
</React.Suspense>,
document.body,
'home-task-drawer'
)}
</Suspense>
{createPortal(