diff --git a/src/components/communitySettings/communityPlatforms/TcCommunityPlatforms.tsx b/src/components/communitySettings/communityPlatforms/TcCommunityPlatforms.tsx
index ea137147..fcd8fa71 100644
--- a/src/components/communitySettings/communityPlatforms/TcCommunityPlatforms.tsx
+++ b/src/components/communitySettings/communityPlatforms/TcCommunityPlatforms.tsx
@@ -10,7 +10,7 @@ import TcGdriveIntegration from './TcGdriveIntegration';
import TcGithubIntegration from './TcGithubIntegration';
import TcMediaWiki from './TcMediaWiki';
import TcNotionIntegration from './TcNotionIntegration';
-import TcTelegram from './tcTelegram/TcTelegram';
+import TcTelegram from './TcTelegram/TcTelegram';
import TcButton from '../../shared/TcButton';
import TcCard from '../../shared/TcCard';
import TcText from '../../shared/TcText';
diff --git a/src/components/communitySettings/communityPlatforms/tcTelegram/TcConnectedTelegram.tsx b/src/components/communitySettings/communityPlatforms/TcTelegram/TcConnectedTelegram.tsx
similarity index 100%
rename from src/components/communitySettings/communityPlatforms/tcTelegram/TcConnectedTelegram.tsx
rename to src/components/communitySettings/communityPlatforms/TcTelegram/TcConnectedTelegram.tsx
diff --git a/src/components/communitySettings/communityPlatforms/tcTelegram/TcConnectedTelegramDialog.tsx b/src/components/communitySettings/communityPlatforms/TcTelegram/TcConnectedTelegramDialog.tsx
similarity index 100%
rename from src/components/communitySettings/communityPlatforms/tcTelegram/TcConnectedTelegramDialog.tsx
rename to src/components/communitySettings/communityPlatforms/TcTelegram/TcConnectedTelegramDialog.tsx
diff --git a/src/components/communitySettings/communityPlatforms/tcTelegram/TcTelegram.tsx b/src/components/communitySettings/communityPlatforms/TcTelegram/TcTelegram.tsx
similarity index 97%
rename from src/components/communitySettings/communityPlatforms/tcTelegram/TcTelegram.tsx
rename to src/components/communitySettings/communityPlatforms/TcTelegram/TcTelegram.tsx
index 3dee13b3..95cb65c8 100644
--- a/src/components/communitySettings/communityPlatforms/tcTelegram/TcTelegram.tsx
+++ b/src/components/communitySettings/communityPlatforms/TcTelegram/TcTelegram.tsx
@@ -3,7 +3,6 @@ import { CircularProgress } from '@mui/material';
import useAppStore from '@/store/useStore';
-import { truncateCenter } from '@/helpers/helper';
import { StorageService } from '@/services/StorageService';
import { IntegrationPlatform } from '@/utils/enums';
import { IDiscordModifiedCommunity, IPlatformProps } from '@/utils/interfaces';
diff --git a/src/components/communitySettings/communityPlatforms/tcTelegram/TcTelegramIntegrationDialog.tsx b/src/components/communitySettings/communityPlatforms/TcTelegram/TcTelegramIntegrationDialog.tsx
similarity index 100%
rename from src/components/communitySettings/communityPlatforms/tcTelegram/TcTelegramIntegrationDialog.tsx
rename to src/components/communitySettings/communityPlatforms/TcTelegram/TcTelegramIntegrationDialog.tsx
diff --git a/src/components/layouts/SwitchPlatform.tsx b/src/components/layouts/SwitchPlatform.tsx
index e6a01ce7..0eccb57d 100644
--- a/src/components/layouts/SwitchPlatform.tsx
+++ b/src/components/layouts/SwitchPlatform.tsx
@@ -27,8 +27,7 @@ const SwitchPlatform = () => {
const fetchedPlatforms =
community?.platforms.filter(
({ name, disconnectedAt }) =>
- (name.includes('discord') || name.includes('discourse')) &&
- !disconnectedAt
+ ['discord', 'discourse', 'telegram'].some((platform) => name.includes(platform)) && !disconnectedAt
) || [];
setPlatforms(fetchedPlatforms);
diff --git a/src/components/layouts/shared/TcPrompt.tsx b/src/components/layouts/shared/TcPrompt.tsx
index 2aab0215..207b4df0 100644
--- a/src/components/layouts/shared/TcPrompt.tsx
+++ b/src/components/layouts/shared/TcPrompt.tsx
@@ -49,10 +49,16 @@ function TcPrompt() {
message:
'Data extraction is in progress for Discourse. This process may take more than 6 hours to complete.',
}
- : {
- backgroundColor: 'bg-orange',
- message: `Data processing is in progress for ${selectedPlatformData.name}. Please check back later.`,
- }
+ : selectedPlatformData.name === 'telegram'
+ ? {
+ backgroundColor: 'bg-orange',
+ message:
+ 'Data extraction is in progress for Telegram. This process may take more than 6 hours to complete.',
+ }
+ : {
+ backgroundColor: 'bg-orange',
+ message: `Data processing is in progress for ${selectedPlatformData.name}. Please check back later.`,
+ }
: {
backgroundColor: 'bg-orange',
message: (
diff --git a/src/components/pages/pageIndex/ActiveMemberComposition.tsx b/src/components/pages/pageIndex/ActiveMemberComposition.tsx
index 50b12809..6f6afb91 100644
--- a/src/components/pages/pageIndex/ActiveMemberComposition.tsx
+++ b/src/components/pages/pageIndex/ActiveMemberComposition.tsx
@@ -22,6 +22,7 @@ const ActiveMemberComposition = () => {
const endDate: moment.Moment = moment().subtract(1, 'day');
const startDate: moment.Moment = moment(endDate).subtract(7, 'days');
+
const platformId = community?.platforms.find(
(platform) => platform.id === selectedPlatform
)?.id;
@@ -109,7 +110,7 @@ const ActiveMemberComposition = () => {
}, [activeMembers]);
return (
-
diff --git a/src/components/pages/statistics/ActiveMembersComposition.tsx b/src/components/pages/statistics/ActiveMembersComposition.tsx
index 747261ac..b055d34d 100644
--- a/src/components/pages/statistics/ActiveMembersComposition.tsx
+++ b/src/components/pages/statistics/ActiveMembersComposition.tsx
@@ -18,7 +18,7 @@ import ActiveMemberBreakdown from './memberBreakdowns/activeMembers/ActiveMember
import StatisticalData from './StatisticalData';
export interface ActiveMembersComposition {
- platformType: 'discord' | 'discourse';
+ platformType: 'discord' | 'discourse' | 'telegram';
activePeriod: number;
isPremiumGuild: boolean;
handleDateRange: (range: number) => void;
diff --git a/src/components/pages/statistics/DisengagedMembersComposition.tsx b/src/components/pages/statistics/DisengagedMembersComposition.tsx
index 3d279ab1..914f6889 100644
--- a/src/components/pages/statistics/DisengagedMembersComposition.tsx
+++ b/src/components/pages/statistics/DisengagedMembersComposition.tsx
@@ -18,7 +18,7 @@ import DisengagedMembersCompositionBreakdown from './memberBreakdowns/disengaged
import StatisticalData from './StatisticalData';
export interface DisengagedMembersComposition {
- platformType: 'discord' | 'discourse';
+ platformType: 'discord' | 'discourse' | 'telegram';
activePeriod: number;
isPremiumGuild: boolean;
handleDateRange: (range: number) => void;
diff --git a/src/components/pages/statistics/Onboarding.tsx b/src/components/pages/statistics/Onboarding.tsx
index 88619e94..bf861e6b 100644
--- a/src/components/pages/statistics/Onboarding.tsx
+++ b/src/components/pages/statistics/Onboarding.tsx
@@ -18,7 +18,7 @@ import OnboardingMembersBreakdown from './memberBreakdowns/onboardingMembers/Onb
import StatisticalData from './StatisticalData';
export interface OnboardingProps {
- platformType: 'discord' | 'discourse';
+ platformType: 'discord' | 'discourse' | 'telegram';
activePeriod: number;
isPremiumGuild: boolean;
handleDateRange: (range: number) => void;
diff --git a/src/components/pages/statistics/memberBreakdowns/CustomTable.tsx b/src/components/pages/statistics/memberBreakdowns/CustomTable.tsx
index 318f58fe..144a8d26 100644
--- a/src/components/pages/statistics/memberBreakdowns/CustomTable.tsx
+++ b/src/components/pages/statistics/memberBreakdowns/CustomTable.tsx
@@ -652,7 +652,7 @@ const CustomTable: React.FC = ({
) : column.id === 'joinedAt' ||
column.id === 'joined_at' ? (
- formatDate(row.joinedAt ?? row.joined_at)
+ row.joinedAt ? formatDate(row.joinedAt) : '-'
) : (
row[column.id]
)}
diff --git a/src/components/pages/statistics/memberBreakdowns/activeMembers/ActiveMemberBreakdown.tsx b/src/components/pages/statistics/memberBreakdowns/activeMembers/ActiveMemberBreakdown.tsx
index ff2ecbd9..73b992e3 100644
--- a/src/components/pages/statistics/memberBreakdowns/activeMembers/ActiveMemberBreakdown.tsx
+++ b/src/components/pages/statistics/memberBreakdowns/activeMembers/ActiveMemberBreakdown.tsx
@@ -42,7 +42,7 @@ const options: IActivityCompositionOptions[] = [
];
interface IAcriveMemberBreakdownProps {
- platformType: 'discord' | 'discourse';
+ platformType: 'discord' | 'discourse' | 'telegram';
}
export default function ActiveMemberBreakdown({
diff --git a/src/components/pages/statistics/memberBreakdowns/disengagedMembersComposition/DisengagedMembersCompositionBreakdown.tsx b/src/components/pages/statistics/memberBreakdowns/disengagedMembersComposition/DisengagedMembersCompositionBreakdown.tsx
index 46dffb89..f1bf1e00 100644
--- a/src/components/pages/statistics/memberBreakdowns/disengagedMembersComposition/DisengagedMembersCompositionBreakdown.tsx
+++ b/src/components/pages/statistics/memberBreakdowns/disengagedMembersComposition/DisengagedMembersCompositionBreakdown.tsx
@@ -53,7 +53,7 @@ const options: IActivityCompositionOptions[] = [
];
interface IDisengagedMembersCompositionBreakdown {
- platformType: 'discord' | 'discourse';
+ platformType: 'discord' | 'discourse' | 'telegram';
}
export default function DisengagedMembersCompositionBreakdown({
@@ -262,7 +262,7 @@ export default function DisengagedMembersCompositionBreakdown({
)}
{fetchedData && fetchedData?.totalResults > 3 ? (
-
+
{
'2': 'disengagedMembers',
};
- const [activePlatform, setActivePlatform] = useState<'discord' | 'discourse'>(
- 'discord'
- );
+ const [activePlatform, setActivePlatform] = useState<
+ 'discord' | 'discourse' | 'telegram'
+ >('discord');
const [loading, setLoading] = useState(true);
const [activeMemberDate, setActiveMemberDate] = useState(1);
const [onBoardingMemberDate, setOnBoardingMemberDate] = useState(1);
@@ -72,9 +72,13 @@ const Statistics = () => {
const platform = community?.platforms.find(
(platform) => platform.id === selectedPlatform
);
- setActivePlatform(
- platform?.name.includes('discord') ? 'discord' : 'discourse'
- );
+ if (platform?.name === 'discord') {
+ setActivePlatform('discord');
+ } else if (platform?.name === 'discourse') {
+ setActivePlatform('discourse');
+ } else if (platform?.name === 'telegram') {
+ setActivePlatform('telegram');
+ }
}, [selectedPlatform]);
useEffect(() => {
diff --git a/src/store/slices/breakdownsSlice.ts b/src/store/slices/breakdownsSlice.ts
index 4ab94fad..2b16e4b8 100644
--- a/src/store/slices/breakdownsSlice.ts
+++ b/src/store/slices/breakdownsSlice.ts
@@ -12,7 +12,7 @@ const createBreakdownsSlice: StateCreator = (set, get) => ({
roles: [],
getActiveMemberCompositionTable: async (
platformId: string,
- platformType: 'discord' | 'discourse',
+ platformType: 'discord' | 'discourse' | 'telegram',
activityComposition: string[],
roles?: IRolesPayload,
username?: string,
@@ -56,7 +56,9 @@ const createBreakdownsSlice: StateCreator = (set, get) => ({
const baseUrl =
platformType === 'discourse'
? `/discourse/member-activity/${platformId}/active-members-composition-table`
- : `/member-activity/${platformId}/active-members-composition-table`;
+ : platformType === 'telegram'
+ ? `/telegram/member-activity/${platformId}/active-members-composition-table`
+ : `/member-activity/${platformId}/active-members-composition-table`;
const url = `${baseUrl}?${params.toString()}`;
@@ -69,7 +71,7 @@ const createBreakdownsSlice: StateCreator = (set, get) => ({
},
getOnboardingMemberCompositionTable: async (
platformId: string,
- platformType: 'discord' | 'discourse',
+ platformType: 'discord' | 'discourse' | 'telegram',
activityComposition: string[],
roles?: IRolesPayload,
username?: string,
@@ -113,7 +115,9 @@ const createBreakdownsSlice: StateCreator = (set, get) => ({
const baseUrl =
platformType === 'discourse'
? `/discourse/member-activity/${platformId}/active-members-onboarding-table`
- : `/member-activity/${platformId}/active-members-onboarding-table`;
+ : platformType === 'telegram'
+ ? `/telegram/member-activity/${platformId}/active-members-onboarding-table`
+ : `/member-activity/${platformId}/active-members-onboarding-table`;
const url = `${baseUrl}?${params.toString()}`;
@@ -126,7 +130,7 @@ const createBreakdownsSlice: StateCreator = (set, get) => ({
},
getDisengagedMembersCompositionTable: async (
platformId: string,
- platformType: 'discord' | 'discourse',
+ platformType: 'discord' | 'discourse' | 'telegram',
activityComposition: string[],
roles?: IRolesPayload,
username?: string,
@@ -170,7 +174,9 @@ const createBreakdownsSlice: StateCreator = (set, get) => ({
const baseUrl =
platformType === 'discourse'
? `/discourse/member-activity/${platformId}/disengaged-members-composition-table`
- : `/member-activity/${platformId}/disengaged-members-composition-table`;
+ : platformType === 'telegram'
+ ? `/telegram/member-activity/${platformId}/disengaged-members-composition-table`
+ : `/member-activity/${platformId}/disengaged-members-composition-table`;
const url = `${baseUrl}?${params.toString()}`;
diff --git a/src/store/slices/chartSlice.ts b/src/store/slices/chartSlice.ts
index 13d2ff32..4018747c 100644
--- a/src/store/slices/chartSlice.ts
+++ b/src/store/slices/chartSlice.ts
@@ -19,7 +19,7 @@ const chartSlice: StateCreator = (set, get) => ({
onboardingMembersLoading: false,
fetchHeatmapData: async (
platformId: string,
- platformType: 'discord' | 'discourse',
+ platformType: 'discord' | 'discourse' | 'telegram',
startDate: string,
endDate: string,
timeZone: string,
@@ -32,7 +32,9 @@ const chartSlice: StateCreator = (set, get) => ({
const endpoint =
platformType === 'discourse'
? `/discourse/heatmaps/${platformId}/heatmap-chart`
- : `/heatmaps/${platformId}/heatmap-chart`;
+ : platformType === 'telegram'
+ ? `/telegram/heatmaps/${platformId}/heatmap-chart`
+ : `/heatmaps/${platformId}/heatmap-chart`;
set(() => ({ isLoading: true }));
@@ -71,12 +73,14 @@ const chartSlice: StateCreator = (set, get) => ({
platformId: string,
startDate: string,
endDate: string,
- platformType: 'discord' | 'discourse'
+ platformType: 'discord' | 'discourse' | 'telegram'
) => {
const endpoint =
platformType === 'discourse'
? `/discourse/heatmaps/${platformId}/line-graph`
- : `/heatmaps/${platformId}/line-graph`;
+ : platformType === 'telegram'
+ ? `/telegram/heatmaps/${platformId}/line-graph`
+ : `/heatmaps/${platformId}/line-graph`;
try {
set(() => ({ interactionsLoading: true }));
diff --git a/src/store/slices/memberInteractionSlice.ts b/src/store/slices/memberInteractionSlice.ts
index d2946e39..60c8dcb5 100644
--- a/src/store/slices/memberInteractionSlice.ts
+++ b/src/store/slices/memberInteractionSlice.ts
@@ -8,13 +8,16 @@ const createHeatmapSlice: StateCreator = (set, get) => ({
memberInteractionRecords: [],
getMemberInteraction: async (
platformId: string,
- platformType: 'discord' | 'discourse'
+ platformType: 'discord' | 'discourse' | 'telegram'
) => {
try {
const endpoint =
platformType === 'discourse'
? `/discourse/member-activity/${platformId}/members-interactions-network-graph`
- : `/member-activity/${platformId}/members-interactions-network-graph`;
+ : platformType === 'telegram'
+ ? `/telegram/member-activity/${platformId}/members-interactions-network-graph`
+ : `/member-activity/${platformId}/members-interactions-network-graph`;
+
set(() => ({ isLoading: true }));
const { data } = await axiosInstance.post(endpoint);
set({ memberInteractionRecords: [...data], isLoading: false });
diff --git a/src/store/types/IBreakdown.ts b/src/store/types/IBreakdown.ts
index 7862be2b..ac7dd599 100644
--- a/src/store/types/IBreakdown.ts
+++ b/src/store/types/IBreakdown.ts
@@ -8,7 +8,7 @@ export default interface IBreakdown {
roles: any[];
getActiveMemberCompositionTable: (
platformId: string,
- platformType: 'discord' | 'discourse',
+ platformType: 'discord' | 'discourse' | 'telegram',
activityComposition: string[],
roles?: IRolesPayload,
username?: string,
@@ -18,7 +18,7 @@ export default interface IBreakdown {
) => any;
getOnboardingMemberCompositionTable: (
platformId: string,
- platformType: 'discord' | 'discourse',
+ platformType: 'discord' | 'discourse' | 'telegram',
activityComposition: string[],
roles?: IRolesPayload,
username?: string,
@@ -28,7 +28,7 @@ export default interface IBreakdown {
) => any;
getDisengagedMembersCompositionTable: (
platformId: string,
- platformType: 'discord' | 'discourse',
+ platformType: 'discord' | 'discourse' | 'telegram',
activityComposition: string[],
roles?: IRolesPayload,
username?: string,
diff --git a/src/store/types/ICharts.ts b/src/store/types/ICharts.ts
index 0033983d..b3908c52 100644
--- a/src/store/types/ICharts.ts
+++ b/src/store/types/ICharts.ts
@@ -14,7 +14,7 @@ export default interface ICharts {
selectedChannelsList: any[];
fetchHeatmapData: (
platformId: string,
- platformType: 'discord' | 'discourse',
+ platformType: 'discord' | 'discourse' | 'telegram',
startDate: string,
endDate: string,
timeZone: string,
@@ -27,7 +27,7 @@ export default interface ICharts {
platformId: string,
startDate: string,
endDate: string,
- platformType: 'discord' | 'discourse',
+ platformType: 'discord' | 'discourse' | 'telegram',
timeZone: string
) => any;
fetchActiveMembers: (
diff --git a/src/store/types/IMemberInteraction.ts b/src/store/types/IMemberInteraction.ts
index 796fff51..04505eab 100644
--- a/src/store/types/IMemberInteraction.ts
+++ b/src/store/types/IMemberInteraction.ts
@@ -3,6 +3,6 @@ export default interface IMemberInteraction {
memberInteractionRecords: any[];
getMemberInteraction: (
platformId: string,
- platformType: 'discord' | 'discourse'
+ platformType: 'discord' | 'discourse' | 'telegram'
) => any;
}