blob: 9c36ae1849d65d173cee5c9bdcc89349bafa090f [file] [log] [blame]
avm9996337601bc2022-02-21 10:36:45 +01001import {getOptions} from '../common/optionsUtils.js';
Adrià Vilanova Martínez46773172024-01-10 21:44:22 +01002import {parseView} from '../common/TWBasicUtils.js';
avm9996337601bc2022-02-21 10:36:45 +01003
4import PerForumStatsSection from './communityConsole/utils/PerForumStatsSection.js';
avm9996337601bc2022-02-21 10:36:45 +01005import {injectPreviousPostsLinksUnifiedProfile} from './utilsCommon/unifiedProfiles.js';
6
Adrià Vilanova Martínez46773172024-01-10 21:44:22 +01007const kProfileViewVar = 'view';
avm9996337601bc2022-02-21 10:36:45 +01008
Adrià Vilanova Martínez89c54812022-06-06 13:32:29 +02009getOptions(['history', 'perforumstats']).then(options => {
avm9996337601bc2022-02-21 10:36:45 +010010 if (options?.history)
11 injectPreviousPostsLinksUnifiedProfile(/* isCommunityConsole = */ false);
12
Adrià Vilanova Martínez89c54812022-06-06 13:32:29 +020013 if (options?.perforumstats) {
avm9996337601bc2022-02-21 10:36:45 +010014 try {
15 // Find chart
16 const chart = document.querySelector(
17 'sc-tailwind-user_profile-user-profile ' +
18 '.scTailwindUser_profileUserprofilesection ' +
19 'sc-tailwind-shared-activity-chart');
20 if (!chart) throw new Error('Couldn\'t find existing chart.');
21
22 // Extract profile JSON information
Adrià Vilanova Martínez46773172024-01-10 21:44:22 +010023 const profileView = parseView(kProfileViewVar);
24 const profileViewC = {'1': profileView};
avm9996337601bc2022-02-21 10:36:45 +010025 if (!profileView) throw new Error('Could not find user view data.');
26 new PerForumStatsSection(
27 chart?.parentNode, profileViewC,
28 document.documentElement?.lang ?? 'en',
29 /* isCommunityConsole = */ false);
30 } catch (err) {
31 console.error('Error while injecting extra info: ', err);
32 }
33 }
34});