Merge pull request #119 from chamikaJ/imp/task-list-loading-improvement

Imp/task list loading improvement
This commit is contained in:
Chamika J
2025-05-14 16:31:19 +05:30
committed by GitHub
10 changed files with 759 additions and 252 deletions

View File

@@ -14,6 +14,8 @@
<title>Worklenz</title>
<!-- Environment configuration -->
<script src="/env-config.js"></script>
<!-- Unregister service worker -->
<script src="/unregister-sw.js"></script>
</head>
<body>

View File

@@ -109,5 +109,13 @@
"expiredDaysAgo": "{{days}} days ago",
"continueWith": "Continue with {{plan}}",
"changeToPlan": "Change to {{plan}}"
"changeToPlan": "Change to {{plan}}",
"creditPlan": "Credit Plan",
"customPlan": "Custom Plan",
"planValidTill": "Your plan is valid till {{date}}",
"purchaseSeatsText": "To continue, you'll need to purchase additional seats.",
"currentSeatsText": "You currently have {{seats}} seats available.",
"selectSeatsText": "Please select the number of additional seats to purchase.",
"purchase": "Purchase",
"contactSales": "Contact sales"
}

View File

@@ -101,5 +101,13 @@
"expirestoday": "hoy",
"expirestomorrow": "mañana",
"expiredDaysAgo": "hace {{days}} días"
"expiredDaysAgo": "hace {{days}} días",
"creditPlan": "Plan de Crédito",
"customPlan": "Plan Personalizado",
"planValidTill": "Su plan es válido hasta {{date}}",
"purchaseSeatsText": "Para continuar, deberá comprar asientos adicionales.",
"currentSeatsText": "Actualmente tiene {{seats}} asientos disponibles.",
"selectSeatsText": "Seleccione el número de asientos adicionales a comprar.",
"purchase": "Comprar",
"contactSales": "Contactar ventas"
}

View File

@@ -101,5 +101,13 @@
"expirestoday": "hoje",
"expirestomorrow": "amanhã",
"expiredDaysAgo": "há {{days}} dias"
"expiredDaysAgo": "há {{days}} dias",
"creditPlan": "Plano de Crédito",
"customPlan": "Plano Personalizado",
"planValidTill": "Seu plano é válido até {{date}}",
"purchaseSeatsText": "Para continuar, você precisará comprar assentos adicionais.",
"currentSeatsText": "Atualmente você tem {{seats}} assentos disponíveis.",
"selectSeatsText": "Selecione o número de assentos adicionais para comprar.",
"purchase": "Comprar",
"contactSales": "Fale com vendas"
}

View File

@@ -0,0 +1,7 @@
if ('serviceWorker' in navigator) {
navigator.serviceWorker.getRegistrations().then(function(registrations) {
for(let registration of registrations) {
registration.unregister();
}
});
}

View File

@@ -246,7 +246,7 @@ const CurrentPlanDetails = () => {
const renderFreePlan = () => (
<Flex vertical>
<Typography.Text strong>Free Plan</Typography.Text>
<Typography.Text strong>{t('freePlan')}</Typography.Text>
<Typography.Text>
<br />-{' '}
{freePlanSettings?.team_member_limit === 0
@@ -309,16 +309,16 @@ const CurrentPlanDetails = () => {
const renderCreditSubscriptionInfo = () => {
return <Flex vertical>
<Typography.Text strong>Credit Plan</Typography.Text>
<Typography.Text strong>{t('creditPlan','Credit Plan')}</Typography.Text>
</Flex>
};
};
const renderCustomSubscriptionInfo = () => {
return <Flex vertical>
<Typography.Text strong>Custom Plan</Typography.Text>
<Typography.Text>Your plan is valid till {billingInfo?.valid_till_date}</Typography.Text>
<Typography.Text strong>{t('customPlan','Custom Plan')}</Typography.Text>
<Typography.Text>{t('planValidTill','Your plan is valid till {{date}}',{date: billingInfo?.valid_till_date})}</Typography.Text>
</Flex>
};
};
return (
<Card
@@ -381,15 +381,15 @@ const CurrentPlanDetails = () => {
>
<Flex vertical gap="middle" style={{ marginTop: '8px' }}>
<Typography.Paragraph style={{ fontSize: '16px', margin: '0 0 16px 0', fontWeight: 500 }}>
To continue, you'll need to purchase additional seats.
{t('purchaseSeatsText','To continue, you\'ll need to purchase additional seats.')}
</Typography.Paragraph>
<Typography.Paragraph style={{ margin: '0 0 16px 0' }}>
You currently have {billingInfo?.total_seats} seats available.
{t('currentSeatsText','You currently have {{seats}} seats available.',{seats: billingInfo?.total_seats})}
</Typography.Paragraph>
<Typography.Paragraph style={{ margin: '0 0 24px 0' }}>
Please select the number of additional seats to purchase.
{t('selectSeatsText','Please select the number of additional seats to purchase.')}
</Typography.Paragraph>
<div style={{ marginBottom: '24px' }}>
@@ -416,14 +416,14 @@ const CurrentPlanDetails = () => {
borderRadius: '2px'
}}
>
Purchase
{t('purchase','Purchase')}
</Button>
) : (
<Button
type="primary"
size="middle"
>
Contact sales
{t('contactSales','Contact sales')}
</Button>
)}
</Flex>

View File

@@ -1,6 +1,6 @@
import { LabelType } from './label.type';
import { MemberType } from './member.types';
import { ProjectType } from './project.types';
import { ITaskLabel } from './tasks/taskLabel.types';
export type TaskStatusType = 'doing' | 'todo' | 'done';
export type TaskPriorityType = 'low' | 'medium' | 'high';
@@ -13,13 +13,16 @@ export type SubTaskType = {
subTaskDueDate?: Date;
};
export type ProgressModeType = 'manual' | 'weighted' | 'time' | 'default';
export type TaskType = {
taskId: string;
progress_mode?: ProgressModeType;
task: string;
description?: string | null;
progress?: number;
members?: MemberType[];
labels?: LabelType[];
labels?: ITaskLabel[];
status: TaskStatusType | string;
priority: TaskPriorityType | string;
timeTracking?: number;