<turbo-stream action="replace" target="photo-modal"><template><div aria-hidden="true" aria-labelledby="photoModalLabel" class="modal modal-lg fade" id="photo-modal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
The Seg-bot
<button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"></button>
</div>
<div class="modal-body">
<div class="carousel slide" data-bs-ride="carousel" id="galleryControls">
<div class="carousel-inner">
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzYsInB1ciI6ImJsb2JfaWQifX0=--d8babf99061395540802e254a1e7755c7dcfdc13/002_step1_frame.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzcsInB1ciI6ImJsb2JfaWQifX0=--ff7f345eb6084f7d2e37a6ef84d4842d1f56a560/002_step1_frame_drawing.png" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzgsInB1ciI6ImJsb2JfaWQifX0=--7a3ecefa43421176e815971132c78bbd03a7df7a/003_step1_motors_base.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MzksInB1ciI6ImJsb2JfaWQifX0=--358c290661424b652bb4c33b2a04644fbcd0f799/004_step1_battery_cage.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDAsInB1ciI6ImJsb2JfaWQifX0=--2e1bb64b18cdbff7aa86929df1fee274e9109e37/005_step1_handlebar.png" />
</div>
<div class="carousel-item active">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDEsInB1ciI6ImJsb2JfaWQifX0=--c47737214e58fbd3f85029d0b35d73485b4cc7a7/006_step1_frame_riser_cut.png" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDIsInB1ciI6ImJsb2JfaWQifX0=--b44c26b742e9396b5839df6e69e789ed178abbd9/007_step2_handlebar_sensors.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDMsInB1ciI6ImJsb2JfaWQifX0=--0debfcb66e25bb1ee3c48c302e99e8c655ed96c6/008_step2_route_wires.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDQsInB1ciI6ImJsb2JfaWQifX0=--1d32d636ebddf632f51015498d9c648f27dcbbf7/009_step3_build_protoshield.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDUsInB1ciI6ImJsb2JfaWQifX0=--f195e4cb518ed770f70ba6724deb811e98dfbcb9/013_step3_packaged_electronics.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDYsInB1ciI6ImJsb2JfaWQifX0=--aa81d97de1237d866401f50ea24d87c5c16bcccf/014_step3_sabertooth_switches.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDcsInB1ciI6ImJsb2JfaWQifX0=--fbccce5b3315c7172ec8cadac368a2a4cc3f2f34/015_step4_controls_wiring.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDgsInB1ciI6ImJsb2JfaWQifX0=--ab5a649592a39a5c7f2af7e768a0d7e5bfcb928d/017_step4_wired_up.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NDksInB1ciI6ImJsb2JfaWQifX0=--f605d55f293a434cc2361621635243b24fee83f1/018_step5_milk_crate.jpg" />
</div>
<div class="carousel-item">
<img height="640" class="object-fit-contain w-100" src="https://johndavidwarren.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6NTAsInB1ciI6ImJsb2JfaWQifX0=--cda25d216ae8e31b58c8d97779d47d305c37cad2/019_seg_bot_grass.jpg" />
</div>
</div>
<button class="carousel-control-prev" data-bs-slide="prev" data-bs-target="#galleryControls" type="button">
<span aria-hidden="true" class="carousel-control-prev-icon"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" data-bs-slide="next" data-bs-target="#galleryControls" type="button">
<span aria-hidden="true" class="carousel-control-next-icon"></span>
<span class="visually-hidden">Next</span>
</button>
</div>

</div>
</div>
</div>
</div>
<script>
  var photoModal = new bootstrap.Modal(document.getElementById('photo-modal'));
  photoModal.show();
</script>
</template></turbo-stream>
