-
-
-
- @if (isFetchingPosts) {
-
-
-
- }
-
- @if (!isFetchingPosts && posts.length === 0) {
-
-
-
- }
-
-
diff --git a/src/main/webapp/app/overview/course-conversations/course-wide-search/course-wide-search.component.scss b/src/main/webapp/app/overview/course-conversations/course-wide-search/course-wide-search.component.scss
index d4913cca2254..76a2c538cd1f 100644
--- a/src/main/webapp/app/overview/course-conversations/course-wide-search/course-wide-search.component.scss
+++ b/src/main/webapp/app/overview/course-conversations/course-wide-search/course-wide-search.component.scss
@@ -1,3 +1,7 @@
+@import 'bootstrap/scss/functions';
+@import 'bootstrap/scss/variables';
+@import 'bootstrap/scss/mixins';
+
.coursewide-search {
.bold-line {
height: 1px;
@@ -28,3 +32,39 @@
padding-bottom: 100px;
}
}
+
+.course-wide-search-mobile-disclaimer {
+ display: none;
+}
+
+@include media-breakpoint-down(sm) {
+ .is-not-in-active-search {
+ display: none;
+ }
+
+ .course-wide-search-mobile-disclaimer {
+ pointer-events: none;
+ position: absolute;
+ top: 10%;
+ left: 0;
+ height: 80%;
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-direction: column;
+ opacity: 0;
+
+ transition: opacity 0.2s ease-in-out;
+ }
+
+ .course-wide-search-mobile-disclaimer.is-not-in-active-search {
+ opacity: 1;
+ pointer-events: all;
+ }
+
+ .coursewide-search .posting-infinite-scroll-container {
+ max-height: calc(60vh - var(--header-height) - var(--search-channel-header-height));
+ max-height: calc(60dvh - var(--header-height) - var(--search-channel-header-height));
+ }
+}
diff --git a/src/main/webapp/app/overview/course-conversations/course-wide-search/course-wide-search.component.ts b/src/main/webapp/app/overview/course-conversations/course-wide-search/course-wide-search.component.ts
index 7c4ce294e0ac..556291d952d1 100644
--- a/src/main/webapp/app/overview/course-conversations/course-wide-search/course-wide-search.component.ts
+++ b/src/main/webapp/app/overview/course-conversations/course-wide-search/course-wide-search.component.ts
@@ -12,8 +12,9 @@ import {
ViewChild,
ViewChildren,
ViewEncapsulation,
+ inject,
} from '@angular/core';
-import { faCircleNotch, faEnvelope, faFilter, faLongArrowAltDown, faLongArrowAltUp, faPlus, faTimes } from '@fortawesome/free-solid-svg-icons';
+import { faChevronLeft, faCircleNotch, faEnvelope, faFilter, faLongArrowAltDown, faLongArrowAltUp, faPlus, faTimes } from '@fortawesome/free-solid-svg-icons';
import { FormBuilder, FormGroup } from '@angular/forms';
import { Subject, takeUntil } from 'rxjs';
import { Course } from 'app/entities/course.model';
@@ -23,6 +24,7 @@ import { MetisService } from 'app/shared/metis/metis.service';
import { MetisConversationService } from 'app/shared/metis/metis-conversation.service';
import { PostContextFilter, PostSortCriterion, SortDirection } from 'app/shared/metis/metis.util';
import { ConversationDTO } from 'app/entities/metis/conversation/conversation.model';
+import { CourseSidebarService } from 'app/overview/course-sidebar.service';
@Component({
selector: 'jhi-course-wide-search',
@@ -54,6 +56,7 @@ export class CourseWideSearchComponent implements OnInit, AfterViewInit, OnDestr
faTimes = faTimes;
faEnvelope = faEnvelope;
faCircleNotch = faCircleNotch;
+ faChevronLeft = faChevronLeft;
readonly SortDirection = SortDirection;
sortingOrder = SortDirection.ASCENDING;
@@ -69,6 +72,8 @@ export class CourseWideSearchComponent implements OnInit, AfterViewInit, OnDestr
getAsChannel = getAsChannelDTO;
+ private courseSidebarService: CourseSidebarService = inject(CourseSidebarService);
+
constructor(
public metisService: MetisService, // instance from course-conversations.component
public metisConversationService: MetisConversationService, // instance from course-conversations.component
@@ -92,6 +97,10 @@ export class CourseWideSearchComponent implements OnInit, AfterViewInit, OnDestr
this.ngUnsubscribe.complete();
}
+ openSidebar() {
+ this.courseSidebarService.openSidebar();
+ }
+
private subscribeToMetis() {
this.metisService.posts.pipe(takeUntil(this.ngUnsubscribe)).subscribe((posts: Post[]) => {
this.setPosts(posts);
diff --git a/src/main/webapp/app/overview/course-conversations/layout/conversation-header/conversation-header.component.html b/src/main/webapp/app/overview/course-conversations/layout/conversation-header/conversation-header.component.html
index 77c54a91e20f..1db98b09814d 100644
--- a/src/main/webapp/app/overview/course-conversations/layout/conversation-header/conversation-header.component.html
+++ b/src/main/webapp/app/overview/course-conversations/layout/conversation-header/conversation-header.component.html
@@ -1,8 +1,11 @@
@if (activeConversation && course) {
-
-
+
+
+
@if (activeConversationAsChannel) {
}
}
-