Skip to content
This repository was archived by the owner on Feb 20, 2026. It is now read-only.

Commit d803a18

Browse files
Fixes for MIQ website update (#48)
* Fixes for MIQ website update * fix renderer.js * Fixed month matching and added selecting date
1 parent 34bccd8 commit d803a18

4 files changed

Lines changed: 8 additions & 45 deletions

File tree

MIQ-Booking-Assistance/index.html

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,6 @@ <h3>Settings:</h3>
3535
</div>
3636
</div>
3737
<div>
38-
<br/>
39-
<label for="roomType">Room Type:</label>
40-
<select name="roomType" id="roomType">
41-
<option value="double">Double</option>
42-
<option value="twin">Twin Share</option>
43-
</select>
44-
45-
<p>Accessibility Room:</p>
46-
<input type="radio" id="accessibilityRoom_yes" name="accessibilityRoom">
47-
<label for="accessibilityRoom_yes">Yes</label><br>
48-
<input type="radio" id="accessibilityRoom_no" name="accessibilityRoom" checked>
49-
<label for="accessibilityRoom_no">No</label><br>
50-
5138
<br/>
5239
<label for="refresh">Page Refresh Time (s):</label>
5340
<input type="number" id="refresh" value="5">

MIQ-Booking-Assistance/miq-assistance.js

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -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

112112
async 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

MIQ-Booking-Assistance/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "miq-nz-booking-assistance",
3-
"version": "0.10.0",
3+
"version": "0.10.1",
44
"description": "A tool to help you book MIQ",
55
"main": "main.js",
66
"scripts": {

MIQ-Booking-Assistance/renderer.js

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
const { ipcRenderer } = require('electron')
22

3-
const accessibilityRoomYes = document.getElementById('accessibilityRoom_yes');
4-
const accessibilityRoomNo = document.getElementById('accessibilityRoom_no');
53
const findAnyDateYes = document.getElementById('findAnyDate_yes');
64
const findAnyDateNo = document.getElementById('findAnyDate_no');
7-
const roomType = document.getElementById('roomType');
85
const dateButton = document.getElementById('date-button');
96
const monthButton = document.getElementById('month-button');
107
const dateList = document.getElementById('date-list');
@@ -36,10 +33,6 @@ ipcRenderer.on('available', function (evt, message) {
3633
resetButton.disabled = false;
3734
});
3835

39-
accessibilityRoomYes.addEventListener('change', sendSettings)
40-
accessibilityRoomNo.addEventListener('change', sendSettings)
41-
roomType.addEventListener('change', sendSettings)
42-
4336
dateButton.addEventListener('click', () => {
4437
if(dateInput.value && dates.indexOf(dateInput.value) === -1){
4538
dates.push(dateInput.value);
@@ -94,8 +87,6 @@ function sendSettings(reset = false){
9487
'settings',
9588
{
9689
dates: dates,
97-
accessibilityRequirement: accessibilityRoomYes.checked,
98-
roomType: roomType.value,
9990
findAnyDate: findAnyDateYes.checked,
10091
reset: reset,
10192
refreshTime: refreshTime.value

0 commit comments

Comments
 (0)