@@ -8,12 +8,13 @@ import { DialogFacade } from '@devmx/shared-ui-global/dialog';
8
8
import { MatTooltipModule } from '@angular/material/tooltip' ;
9
9
import { IconComponent } from '@devmx/shared-ui-global/icon' ;
10
10
import { AlbumCardComponent } from '@devmx/album-ui-shared' ;
11
+ import { SheetFacade } from '@devmx/shared-ui-global/sheet' ;
11
12
import { MatButtonModule } from '@angular/material/button' ;
12
13
import { combineLatest , filter , map , take } from 'rxjs' ;
13
14
import { AlbumFacade } from '@devmx/album-data-access' ;
14
15
import { Album } from '@devmx/shared-api-interfaces' ;
16
+ import { CreateAlbumSheet } from '../../sheets' ;
15
17
import { AsyncPipe } from '@angular/common' ;
16
- import { AlbumForm } from '../../forms' ;
17
18
18
19
@Component ( {
19
20
selector : 'devmx-admin-my-albums' ,
@@ -38,6 +39,8 @@ export class MyAlbumsContainer {
38
39
39
40
dialogFacade = inject ( DialogFacade ) ;
40
41
42
+ sheetFacade = inject ( SheetFacade ) ;
43
+
41
44
authFacade = inject ( AuthenticationFacade ) ;
42
45
43
46
albumFacade = inject ( AlbumFacade ) ;
@@ -74,15 +77,17 @@ export class MyAlbumsContainer {
74
77
}
75
78
76
79
createAlbum ( ) {
77
- const form = new AlbumForm ( ) ;
78
-
79
- form . patchValue ( { title : new Date ( ) . toLocaleDateString ( ) } ) ;
80
-
81
- const request$ = this . albumFacade . create ( form . getRawValue ( ) ) ;
82
-
83
- request$ . pipe ( take ( 1 ) ) . subscribe ( ( album ) => {
84
- this . router . navigate ( [ album . id ] , { relativeTo : this . route } ) ;
85
- } ) ;
80
+ this . sheetFacade
81
+ . open < CreateAlbumSheet , void , Album > ( CreateAlbumSheet )
82
+ . pipe ( take ( 1 ) )
83
+ . subscribe ( ( value ) => {
84
+ if ( value ) {
85
+ const request$ = this . albumFacade . create ( value ) ;
86
+ request$ . pipe ( take ( 1 ) ) . subscribe ( ( album ) => {
87
+ this . router . navigate ( [ album . id ] , { relativeTo : this . route } ) ;
88
+ } ) ;
89
+ }
90
+ } ) ;
86
91
}
87
92
88
93
deleteAlbum ( { id, title } : Album ) {
0 commit comments