11import { photos } from './create-array-photos.js' ;
2+ import { clearComments , renderComments } from './render-comments.js' ;
23
34const bigPictureNode = document . querySelector ( '.big-picture' ) ;
45const bigPictureImgNode = bigPictureNode . querySelector ( '.big-picture__img' ) . querySelector ( 'img' ) ;
56const likesCountNode = bigPictureNode . querySelector ( '.likes-count' ) ;
6- const commentsShownCountNode = bigPictureNode . querySelector ( '.social__comment-shown-count' ) ;
7- const commentsTotalCountNode = bigPictureNode . querySelector ( '.social__comment-total-count' ) ;
8- const socialCommentsNode = bigPictureNode . querySelector ( '.social__comments' ) ;
9- const socialCommentTemplate = socialCommentsNode . querySelector ( '.social__comment' ) ;
107const commentsCaptionNode = bigPictureNode . querySelector ( '.social__caption' ) ;
11- const commentsCountNode = bigPictureNode . querySelector ( '.social__comment-count' ) ;
12- const commentsLoaderNode = bigPictureNode . querySelector ( '.social__comments-loader' ) ;
138const bigPictureCancelNode = bigPictureNode . querySelector ( '.big-picture__cancel' ) ;
149
15- const createSocialComment = ( { avatar, name, message} ) => {
16- const socialCommentNode = socialCommentTemplate . cloneNode ( true ) ;
17-
18- const socialPictureNode = socialCommentNode . querySelector ( '.social__picture' ) ;
19- socialPictureNode . src = avatar ;
20- socialPictureNode . alt = name ;
21- socialCommentNode . querySelector ( '.social__text' ) . textContent = message ;
22-
23- return socialCommentNode ;
24- } ;
25-
26- const renderComments = ( comments ) => {
27- const socialCommentsFragment = document . createDocumentFragment ( ) ;
28-
29- const appendComment = ( comment ) => {
30- socialCommentsFragment . appendChild ( createSocialComment ( comment ) ) ;
31- } ;
32-
33- comments . forEach ( appendComment ) ;
34- socialCommentsNode . innerHTML = '' ;
35- socialCommentsNode . appendChild ( socialCommentsFragment ) ;
36- } ;
37-
3810const closeBigPicture = ( ) => {
11+ clearComments ( ) ;
3912 bigPictureNode . classList . add ( 'hidden' ) ;
4013 document . body . classList . remove ( 'modal-open' ) ;
4114 document . removeEventListener ( 'keydown' , onEscKeydown ) ;
@@ -62,15 +35,10 @@ const openBigPicture = (pictureId) => {
6235 bigPictureImgNode . src = currentPhoto . url ;
6336 bigPictureImgNode . alt = currentPhoto . description ;
6437 likesCountNode . textContent = currentPhoto . likes ;
65- commentsShownCountNode . textContent = currentPhoto . comments . length ;
66- commentsTotalCountNode . textContent = currentPhoto . comments . length ;
6738 commentsCaptionNode . textContent = currentPhoto . description ;
6839
6940 renderComments ( currentPhoto . comments ) ;
7041
71- commentsCountNode . classList . add ( 'hidden' ) ;
72- commentsLoaderNode . classList . add ( 'hidden' ) ;
73-
7442 bigPictureNode . classList . remove ( 'hidden' ) ;
7543 document . body . classList . add ( 'modal-open' ) ;
7644 document . addEventListener ( 'keydown' , onEscKeydown ) ;
0 commit comments