+
+
{{event.timesort * 1000 | coreFormatDate:"strftimetime24" }}
-
-
-
- {{event.action.name}}
- {{event.action.itemcount}}
-
-
-
-
+
+
+ {{event.action.name}}
+
+ {{event.action.itemcount}}
+
+
+
diff --git a/src/addons/block/timeline/components/events/events.scss b/src/addons/block/timeline/components/events/events.scss
new file mode 100644
index 000000000..c863dbb2a
--- /dev/null
+++ b/src/addons/block/timeline/components/events/events.scss
@@ -0,0 +1,6 @@
+.events-info {
+ display: flex;
+ flex-direction: column;
+ text-align: end;
+ padding: 10px 0;
+}
diff --git a/src/addons/block/timeline/components/events/events.ts b/src/addons/block/timeline/components/events/events.ts
index 0b29a7b80..f4266f50c 100644
--- a/src/addons/block/timeline/components/events/events.ts
+++ b/src/addons/block/timeline/components/events/events.ts
@@ -29,6 +29,7 @@ import { AddonCalendarEvent } from '@addons/calendar/services/calendar';
@Component({
selector: 'addon-block-timeline-events',
templateUrl: 'addon-block-timeline-events.html',
+ styleUrls: ['events.scss'],
})
export class AddonBlockTimelineEventsComponent implements OnChanges {
diff --git a/src/addons/block/timeline/services/timeline.ts b/src/addons/block/timeline/services/timeline.ts
index 2a4f7e4d0..c50c5adef 100644
--- a/src/addons/block/timeline/services/timeline.ts
+++ b/src/addons/block/timeline/services/timeline.ts
@@ -103,7 +103,7 @@ export class AddonBlockTimelineProvider {
async getActionEventsByCourses(
courseIds: number[],
siteId?: string,
- ): Promise<{[courseId: string]: { events: AddonCalendarEvent[]; canLoadMore: number } }> {
+ ): Promise<{[courseId: string]: { events: AddonCalendarEvent[]; canLoadMore?: number } }> {
const site = await CoreSites.getSite(siteId);
const time = moment().subtract(14, 'days').unix(); // Check two weeks ago.
@@ -123,17 +123,13 @@ export class AddonBlockTimelineProvider {
preSets,
);
- if (events && events.groupedbycourse) {
- const courseEvents = {};
+ const courseEvents: {[courseId: string]: { events: AddonCalendarEvent[]; canLoadMore?: number } } = {};
- events.groupedbycourse.forEach((course) => {
- courseEvents[course.courseid] = this.treatCourseEvents(course, time);
- });
+ events.groupedbycourse.forEach((course) => {
+ courseEvents[course.courseid] = this.treatCourseEvents(course, time);
+ });
- return courseEvents;
- }
-
- throw new CoreError('No events returned on core_calendar_get_action_events_by_courses.');
+ return courseEvents;
}
/**
diff --git a/src/core/features/courses/components/course-options-menu/core-courses-course-options-menu.html b/src/core/features/courses/components/course-options-menu/core-courses-course-options-menu.html
index e1ff79574..f18b47cbd 100644
--- a/src/core/features/courses/components/course-options-menu/core-courses-course-options-menu.html
+++ b/src/core/features/courses/components/course-options-menu/core-courses-course-options-menu.html
@@ -1,25 +1,26 @@
-
+
{{ prefetch.statusTranslatable | translate }}
-
+
{{ 'addon.storagemanager.deletecourse' | translate }}
-
+
{{ 'core.courses.hidecourse' | translate }}
-
+
{{ 'core.courses.show' | translate }}
-
+
{{ 'core.courses.addtofavourites' | translate }}
-
+
{{ 'core.courses.removefromfavourites' | translate }}
diff --git a/src/core/features/courses/components/course-progress/core-courses-course-progress.html b/src/core/features/courses/components/course-progress/core-courses-course-progress.html
index 508bcf80f..1138065e7 100644
--- a/src/core/features/courses/components/course-progress/core-courses-course-progress.html
+++ b/src/core/features/courses/components/course-progress/core-courses-course-progress.html
@@ -5,7 +5,7 @@