diff --git a/src/components/tabs/tabs.scss b/src/components/tabs/tabs.scss index f3f9b452a..af468876f 100644 --- a/src/components/tabs/tabs.scss +++ b/src/components/tabs/tabs.scss @@ -45,9 +45,6 @@ justify-content: center; align-items: center; - ion-icon { - color: #ccc; - } } } } diff --git a/src/components/tabs/tabs.ts b/src/components/tabs/tabs.ts index 502cc3e89..09e37e2ce 100644 --- a/src/components/tabs/tabs.ts +++ b/src/components/tabs/tabs.ts @@ -70,6 +70,8 @@ export class CoreTabsComponent implements OnInit, AfterViewInit, OnChanges, OnDe protected resizeFunction; protected isDestroyed = false; protected isCurrentView = true; + protected shouldSlideToInitial = false; // Whether we need to slide to the initial slide because it's out of view. + protected hasSliddenToInitial = false; // Whether we've already slidden to the initial slide or there was no need. constructor(element: ElementRef, protected content: Content, protected domUtils: CoreDomUtilsProvider) { this.tabBarElement = element.nativeElement; @@ -265,6 +267,11 @@ export class CoreTabsComponent implements OnInit, AfterViewInit, OnChanges, OnDe this.showPrevButton = false; this.showNextButton = this.numTabsShown > this.slidesShown; } + + if (this.shouldSlideToInitial && currentIndex != this.selected) { + // Current tab has changed, don't slide to initial anymore. + this.shouldSlideToInitial = false; + } } /** @@ -282,6 +289,20 @@ export class CoreTabsComponent implements OnInit, AfterViewInit, OnChanges, OnDe setTimeout(() => { this.slides.update(); this.slides.resize(); + + if (!this.hasSliddenToInitial && this.selected && this.selected >= this.slidesShown) { + this.hasSliddenToInitial = true; + this.shouldSlideToInitial = true; + + setTimeout(() => { + if (this.shouldSlideToInitial) { + this.slides.slideTo(this.selected, 0); + this.shouldSlideToInitial = false; + } + }, 400); + } else if (this.selected) { + this.hasSliddenToInitial = true; + } }); } diff --git a/src/core/courses/pages/my-overview/my-overview.html b/src/core/courses/pages/my-overview/my-overview.html index 773301fe5..552d88c91 100644 --- a/src/core/courses/pages/my-overview/my-overview.html +++ b/src/core/courses/pages/my-overview/my-overview.html @@ -21,39 +21,6 @@ - - - - - - - - -
- - {{ 'core.courses.sortbydates' | translate }} - {{ 'core.courses.sortbycourses' | translate }} - -
- - - - - - - - - - - - - - - -
-
-
- @@ -100,5 +67,38 @@ + + + + + + + + + +
+ + {{ 'core.courses.sortbydates' | translate }} + {{ 'core.courses.sortbycourses' | translate }} + +
+ + + + + + + + + + + + + + + +
+
+
\ No newline at end of file diff --git a/src/core/courses/pages/my-overview/my-overview.ts b/src/core/courses/pages/my-overview/my-overview.ts index 16ba471bb..63ef5c4af 100644 --- a/src/core/courses/pages/my-overview/my-overview.ts +++ b/src/core/courses/pages/my-overview/my-overview.ts @@ -114,7 +114,7 @@ export class CoreCoursesMyOverviewPage implements OnDestroy { displaySiteHome = site.getInfo() && site.getInfo().userhomepage === 0; this.siteHomeEnabled = enabled; - this.firstSelectedTab = displaySiteHome ? 0 : 2; + this.firstSelectedTab = displaySiteHome ? 0 : 1; this.tabsReady = true; }); }