@@ -13,41 +13,41 @@ const createState = () => {
1313 posts : [ ] ,
1414 activeItem : null ,
1515 ui : {
16+ status : null , // 'error', 'success', 'pending'
1617 error : null ,
17- pending : false ,
18- success : false ,
1918 } ,
2019 } ;
2120
2221 return onChange ( object , ( path , value ) => {
2322 console . log ( `состояние изменено: ${ path } ` , value ) ;
24- if ( path === "feeds" ) {
25- view . feeds . renderFeeds ( value ) ;
26- model . update . checkFeeds ( ) ;
27- }
28- if ( path === "posts" ) {
29- view . posts . renderPosts ( value ) ;
30- }
31- if ( path === "activeItem" ) {
32- if ( state . activeItem !== null ) {
33- view . modal . showModal ( state . activeItem ) ;
34- model . post . markAsRead ( state . activeItem . id ) ;
35- view . posts . renderViewedPost ( state . activeItem . id ) ;
36- } else {
37- view . modal . closeModal ( ) ;
38- }
39- }
40- if ( path === "form.inputValue" ) {
41- view . form . renderInputValue ( value ) ;
42- }
43- if ( path === "ui.error" ) {
44- view . ui . renderUi ( "error" , value ) ;
45- }
46- if ( path === "ui.success" ) {
47- view . ui . renderUi ( "success" ) ;
48- }
49- if ( path === "ui.pending" ) {
50- view . ui . renderUi ( "pending" ) ;
23+ switch ( path ) {
24+ case "feeds" :
25+ view . feeds . renderFeeds ( value ) ;
26+ model . update . checkFeeds ( ) ;
27+ break ;
28+ case "posts" :
29+ view . posts . renderPosts ( value ) ;
30+ break ;
31+ case "activeItem" :
32+ if ( state . activeItem !== null ) {
33+ view . modal . showModal ( state . activeItem ) ;
34+ model . post . markAsRead ( state . activeItem . id ) ;
35+ view . posts . renderViewedPost ( state . activeItem . id ) ;
36+ } else {
37+ view . modal . closeModal ( ) ;
38+ }
39+ break ;
40+ case "form.inputValue" :
41+ view . form . renderInputValue ( value ) ;
42+ break ;
43+ case "ui.status" :
44+ view . ui . renderUi ( value , state . ui . error ) ;
45+ break ;
46+ case "ui.error" :
47+ if ( state . ui . status === "error" ) {
48+ view . ui . renderUi ( "error" , value ) ;
49+ }
50+ break ;
5151 }
5252 } ) ;
5353} ;
0 commit comments