@@ -20,6 +20,7 @@ import { Paginator } from '../../components/paginator/paginator'
2020import { PageService } from '../../services/page-service'
2121import { PageDisplayToggle } from '../../components/page-display-toggle/page-display-toggle'
2222import { AsyncPipe } from '@angular/common'
23+ import { SortOrder } from '../../entities/base/base.enums'
2324
2425@Component ( {
2526 selector : 'app-home' ,
@@ -53,6 +54,7 @@ export class HomePage implements OnInit {
5354
5455 $readFilter = new BehaviorSubject ( true )
5556 $favFilter = new BehaviorSubject ( false )
57+ $dateOrder = new BehaviorSubject ( SortOrder . Desc )
5658
5759 favTagId = signal < string > ( '' )
5860 userTags = signal < Tag [ ] > ( [ ] )
@@ -91,8 +93,9 @@ export class HomePage implements OnInit {
9193 this . pageService . $currentPage ,
9294 this . $favFilter ,
9395 this . $readFilter ,
96+ this . $dateOrder ,
9497 ] ) . pipe (
95- switchMap ( ( [ perPage , pageNumber , fav , read ] ) => {
98+ switchMap ( ( [ perPage , pageNumber , fav , read , dateSort ] ) => {
9699 const filters : Record < string , string | boolean > = { }
97100
98101 if ( read ) {
@@ -109,6 +112,9 @@ export class HomePage implements OnInit {
109112 pageNumber,
110113 } ,
111114 filters,
115+ sort : {
116+ date : dateSort ,
117+ } ,
112118 } )
113119 } ) ,
114120 )
@@ -160,7 +166,14 @@ export class HomePage implements OnInit {
160166 this . $readFilter . next ( ! this . $readFilter . value )
161167 } else {
162168 this . pageService . setCurrentPage ( 1 )
163- this . $favFilter . next ( ! this . $favFilter . value )
169+ }
170+ this . $favFilter . next ( ! this . $favFilter . value )
171+ }
172+
173+ orderHandler ( param : 'date' ) {
174+ if ( param === 'date' ) {
175+ this . $dateOrder . next ( this . $dateOrder . value === SortOrder . Asc ? SortOrder . Desc : SortOrder . Asc )
176+ this . pageService . setCurrentPage ( 1 )
164177 }
165178 }
166179
@@ -181,4 +194,6 @@ export class HomePage implements OnInit {
181194 this . pageService . setCurrentPage ( 1 )
182195 } )
183196 }
197+
198+ protected readonly SortOrder = SortOrder
184199}
0 commit comments