Merge pull request #3823 from crazyserver/MOBILE-4362

MOBILE-4362 activitymodules: Fix activity modules block icons
main
Dani Palou 2023-10-17 07:45:38 +02:00 committed by GitHub
commit 68f67ea4d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 11 deletions

View File

@ -22,6 +22,7 @@ import { Translate } from '@singletons';
import { CoreUtils } from '@services/utils/utils'; import { CoreUtils } from '@services/utils/utils';
import { CoreNavigator } from '@services/navigator'; import { CoreNavigator } from '@services/navigator';
import { CoreCourseHelper } from '@features/course/services/course-helper'; import { CoreCourseHelper } from '@features/course/services/course-helper';
import { CoreUrlUtils } from '@services/utils/url';
/** /**
* Component to render an "activity modules" block. * Component to render an "activity modules" block.
@ -68,23 +69,22 @@ export class AddonBlockActivityModulesComponent extends CoreBlockBaseComponent i
} }
section.modules.forEach((mod) => { section.modules.forEach((mod) => {
if (!CoreCourseHelper.canUserViewModule(mod, section) || !CoreCourse.moduleHasView(mod) || if (archetypes[mod.modname] !== undefined ||
modFullNames[mod.modname] !== undefined) { !CoreCourseHelper.canUserViewModule(mod, section) ||
!CoreCourse.moduleHasView(mod)) {
// Ignore this module. // Ignore this module.
return; return;
} }
// Get the archetype of the module type. // Get the archetype of the module type.
if (archetypes[mod.modname] === undefined) { archetypes[mod.modname] = CoreCourseModuleDelegate.supportsFeature<number>(
archetypes[mod.modname] = CoreCourseModuleDelegate.supportsFeature<number>( mod.modname,
mod.modname, CoreConstants.FEATURE_MOD_ARCHETYPE,
CoreConstants.FEATURE_MOD_ARCHETYPE, CoreConstants.MOD_ARCHETYPE_OTHER,
CoreConstants.MOD_ARCHETYPE_OTHER, );
);
}
// Get the full name of the module type. // Get the full name of the module type.
if (archetypes[mod.modname] == CoreConstants.MOD_ARCHETYPE_RESOURCE) { if (archetypes[mod.modname] === CoreConstants.MOD_ARCHETYPE_RESOURCE) {
// All resources are gathered in a single "Resources" option. // All resources are gathered in a single "Resources" option.
if (!modFullNames['resources']) { if (!modFullNames['resources']) {
modFullNames['resources'] = Translate.instant('core.resources'); modFullNames['resources'] = Translate.instant('core.resources');
@ -92,7 +92,11 @@ export class AddonBlockActivityModulesComponent extends CoreBlockBaseComponent i
} else { } else {
modFullNames[mod.modname] = mod.modplural; modFullNames[mod.modname] = mod.modplural;
} }
modIcons[mod.modname] = mod.modicon;
// If this is not a theme image, leave it undefined to avoid having specific activity icons.
if (CoreUrlUtils.isThemeImageUrl(mod.modicon)) {
modIcons[mod.modname] = mod.modicon;
}
}); });
}); });
// Sort the modnames alphabetically. // Sort the modnames alphabetically.