@@ -70,7 +70,7 @@ function start(window, ipcMain) {
7070 await page . goto ( 'https://allocation.miq.govt.nz/portal/dashboard' ) ;
7171 while ( true ) {
7272 await page . waitForTimeout ( 300 ) ;
73- if ( page . url ( ) . includes ( '/event/MIQ-DEFAULT-EVENT/accommodation' ) ) {
73+ if ( page . url ( ) . includes ( '/event/MIQ-DEFAULT-EVENT/accommodation/arrival-date ' ) ) {
7474 break
7575 }
7676 }
@@ -84,7 +84,7 @@ function start(window, ipcMain) {
8484 // Wait for the reset button to be pressed.
8585 updateElectronAvailable ( ) ;
8686 await page . waitForTimeout ( 300 ) ;
87- if ( page . url ( ) . includes ( '/event/MIQ-DEFAULT-EVENT/accommodation' ) && reset ) {
87+ if ( page . url ( ) . includes ( '/event/MIQ-DEFAULT-EVENT/accommodation/arrival-date ' ) && reset ) {
8888 reset = false ;
8989 await page . reload ( { waitUntil : [ "networkidle0" , "domcontentloaded" ] } ) ;
9090 break ;
@@ -110,22 +110,6 @@ async function login(page) {
110110}
111111
112112async function prepareAndCheckPage ( page ) {
113- //accessibility requirement
114- await page . waitForSelector ( '#form_rooms_0_accessibilityRequirement_1' ) ;
115- page . $eval ( '#form_rooms_0_accessibilityRequirement_' + ( accessibilityRequirement ? 0 : 1 ) , elem => {
116- elem . checked = true ;
117- } ) ;
118-
119- page . $eval ( '#form_rooms_0_room' , ( elem , roomType ) => {
120- switch ( roomType ) {
121- case 'twin' :
122- elem . value = 'Twin share' ;
123- break ;
124- default :
125- elem . value = 'Double' ;
126- }
127- } , roomType ) ;
128-
129113 await page . waitForSelector ( '.flatpickr-input' ) ;
130114
131115 if ( await findAvailability ( page ) ) {
@@ -163,11 +147,12 @@ async function findAvailability(page) {
163147 const availableDates = dataArrivalDates . split ( '_' ) ;
164148 const matchingDates = availableDates . filter ( d => myDates . indexOf ( d ) !== - 1 ) ;
165149 const myMonths = [ ...new Set ( myDates . filter ( d => d . split ( '-' ) . length === 2 ) . map ( d => d . split ( '-' ) [ 1 ] ) ) ] . sort ( ) ;
166- const matchingMonths = availableDates . filter ( d => myMonths . indexOf ( d . split ( '-' ) [ 1 ] ) )
167- if ( matchingDates . length > 0 || matchingMonths . length > 1 || ( findAnyDate && availableDates [ 0 ] ) ) {
168- const month = ( findAnyDate ? availableDates [ 0 ] : matchingDates [ 0 ] ) . split ( '-' ) [ 1 ] - 1 ;
169- fp . changeMonth ( month , false )
150+ const matchingMonths = availableDates . filter ( d => myMonths . indexOf ( d . split ( '-' ) [ 1 ] ) > - 1 )
151+ if ( matchingDates . length > 0 || matchingMonths . length > 0 || ( findAnyDate && availableDates [ 0 ] ) ) {
152+ const month = ( findAnyDate ? availableDates [ 0 ] : matchingDates [ 0 ] || matchingMonths [ 0 ] ) . split ( '-' ) [ 1 ] - 1 ;
153+ fp . changeMonth ( month , false ) ;
170154 beep ( )
155+ fp . setDate ( matchingDates [ 0 ] || matchingMonths [ 0 ] || availableDates [ 0 ] , true ) ;
171156 return true ;
172157 }
173158
0 commit comments