diff options
Diffstat (limited to 'www/photo.causal.agency/trips.html')
-rw-r--r-- | www/photo.causal.agency/trips.html | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/www/photo.causal.agency/trips.html b/www/photo.causal.agency/trips.html index a5cacc5c..d65aeaef 100644 --- a/www/photo.causal.agency/trips.html +++ b/www/photo.causal.agency/trips.html @@ -32,6 +32,17 @@ input[type="number"] { width: 5ch; } </select> <label for="roll-film">Film:</label> <input id="roll-film" list="films" required> +<span>Exposures:</span> +<span> +<input id="roll-36" type="radio" name="roll-exposures" value="36" checked> +<label for="roll-36">36</label> +<input id="roll-27" type="radio" name="roll-exposures" value="27"> +<label for="roll-27">27</label> +<input id="roll-24" type="radio" name="roll-exposures" value="24"> +<label for="roll-24">24</label> +<input id="roll-12" type="radio" name="roll-exposures" value="12"> +<label for="roll-12">12</label> +</span> <button type="button" onclick="loadRoll()">Load</button> </form> @@ -207,8 +218,9 @@ function setTrips() { rollB.appendChild(document.createTextNode(rollTrips[0].film)); rollLi.appendChild(rollB); rollLi.appendChild(document.createTextNode(` (${rollTrips[0].body})`)); + let body = bodies.find(body => body.name == rollTrips[0].body); let rollUl = document.createElement("ul"); - for (let trip of rollTrips) { + for (let [index, trip] of rollTrips.entries()) { let li = document.createElement("li"); let b = document.createElement("b"); b.appendChild(document.createTextNode(trip.date)); @@ -216,8 +228,13 @@ function setTrips() { li.appendChild(document.createTextNode( `: ${trip.firstExposure}–${trip.lastExposure}` )); - li.appendChild(document.createElement("br")); - li.appendChild(document.createTextNode(trip.lens)); + if ( + body.mount != body.name && + (!index || trip.lens != rollTrips[index-1].lens) + ) { + li.appendChild(document.createElement("br")); + li.appendChild(document.createTextNode(trip.lens)); + } if (trip.note) { li.appendChild(document.createElement("br")); li.appendChild(document.createTextNode(`“${trip.note}”`)); @@ -261,6 +278,7 @@ setTripBody(); function clearForm(form) { let inputs = form.querySelectorAll("input"); for (input of inputs) { + if (input.type == "radio") continue; input.value = null; } } @@ -313,7 +331,8 @@ function loadRoll() { if (!form.checkValidity()) return; let body = document.getElementById("roll-body").value; let film = document.getElementById("roll-film").value; - rolls[body] = { id: nextId++, film, used: 0, exposures: 36 }; + let exposures = +new FormData(form).get("roll-exposures"); + rolls[body] = { id: nextId++, film, exposures, used: 0 }; localStorage.setItem("nextId", nextId); setRolls(); clearForm(form); |