]> MadKous Network Git Server - photo-site.git/commitdiff
Remove Filtering
authorMatthew Kousoulas <shaman.kous@gmail.com>
Sun, 3 Oct 2021 19:44:06 +0000 (15:44 -0400)
committerMatthew Kousoulas <shaman.kous@gmail.com>
Sun, 3 Oct 2021 19:44:06 +0000 (15:44 -0400)
data/CSVtoJSON.awk
data/pictures.csv
index.html
scripts/click.js [deleted file]
scripts/dom.js
scripts/main.js
scripts/photo.js
scripts/util.js
styles/main.css

index d6dd0edb4da92aff62c53156c97255065c42726f..7186a0cb85631c45ef546746533f4af49de645a7 100644 (file)
@@ -18,15 +18,6 @@ BEGIN{
        printf "},"
 }
 END{
-       print "],"
-       for(i=1;i<=NF;i++)
-       {
-               printf "\"%s\":[",fields[i]
-               for(v in vals[i])
-               {
-                       printf "\"%s\",",v
-               }
-               printf "],"
-       }
+       print "]"
        print "}\n"
 }
index 3db139d782492278d922c924cd15b253baee1d73..4c14516c0ab988054e6b023493c7ba21a5cbd7d7 100644 (file)
@@ -1,4 +1,83 @@
 name:loc:sub:date:desc
+20210912_0200:Bethany Beach:Landscape:September 2021:Atlantic Sunrise
+20210912_0241:Assawoman Bay:Landscape:September 2021:Sixty Five Acre Pond
+20210912_0374:Rehoboth Beach:Landscape:September 2021:Derelict Jetty
+20210912_0433:Rehoboth Beach:Fauna:September 2021:Fleeing Piper
+20210912_0448:Rehoboth Beach:Fauna:September 2021:Angry Bird
+20210912_0482:Bethany Beach:Fauna:September 2021:Sodium Lit Power Lines
+20210912_0492:Bethany Beach:Fauna:September 2021:Jupiter at the Shore
+20210908_0017:Petersburg:Landscape:September 2021:Sunny Barn
+20210908_0057:Welton Park:Landscape:September 2021:Potomac River
+20210908_0068:Welton Park:Landscape:September 2021:Tree Skeleton
+20210908_0073:Welton Park:Landscape:September 2021:Stump Canyon
+20210908_0112:Petersburg:Landscape:September 2021:Appalachain Sunset
+20210908_0180:Petersburg:Landscape:September 2021:Cloudy Morning
+20210907_0068:Hudson Trail:Landscape:September 2021:Rising Forest
+20210907_0078:Huckleberry Trail:Flora:September 2021:Pine Branches
+20210907_0115:Huckleberry Trail:Flora:September 2021:Mossy Outcrop
+20210907_0179:Huckleberry Trail:Flora:September 2021:Moss and Quartz
+20210907_0189:Huckleberry Trail:Flora:September 2021:Lone Pine
+20210907_0205:Huckleberry Trail:Flora:September 2021:Multicolor Moss
+20210907_0209:Huckleberry Trail:Flora:September 2021:Pine Bough
+20210907_0219:Huckleberry Trail:Flora:September 2021:Lichen Islands
+20210907_0224:Huckleberry Trail:Flora:September 2021:Coral Moss
+20210814_0154:Harpers Ferry:Landscape:August 2021:Potomac
+20210814_0198:Harpers Ferry:Landscape:August 2021:Green Pool
+20210814_0242:Winchester:Fauna:August 2021:Duck Race
+20210814_0293:Winchester:Fauna:August 2021:What the Duck
+20210808_0071:Patapsco:Flora:August 2021:Moss Ship
+20210808_0088:Patapsco:Flora:August 2021:Branchscape
+20210808_0106:Patapsco:Landscape:August 2021:Tree Reaching
+20210724_0001:Downton Road:Sol:July 2021:Rising Sun
+20210724_0057:Downton Road:Fauna:July 2021:Pigeons Hanging
+20210724_0071:Downton Road:Fauna:July 2021:Rabbits
+20210723_0026:Downton Road:Luna:July 2021:Rising Full
+20210723_0113:Sherwood Gardens:Flora:July 2021:Purple Flower
+20210723_0117:Sherwood Gardens:Sol:July 2021:Clouds
+20210723_0140:Hampden:Sol:July 2021:Clouds
+20210723_0149:Jones Fall Road:Architecture:July 2021:Bridge Understructure
+20210712_0127:Shaw Orchards:Flora:July 2021:Blueberries
+20210712_0132:Downton Road:Felines:July 2021:Misty
+20210712_0154:Patapsco:Flora:July 2021:Upturned Roots
+20210712_0182:Patapsco:Landscape:July 2021:Downed Log
+20210707_0006:South Kingstown:Fauna:July 2021:Joey
+20210707_0087:South Kingstown:Flora:July 2021:Landed Plant
+20210707_0166:Saugatucket Pond:Landscape:July 2021:Bird House
+20210707_0168:Saugatucket Pond:Landscape:July 2021:Lillyscape
+20210707_0281:Beavertail Point:Landscape:July 2021:Rocks
+20210707_0291:Beavertail Point:Landscape:July 2021:Seaweed Slope
+20210707_0302:Beavertail Point:Landscape:July 2021:Crest
+20210707_0358:Beavertail Point:Landscape:July 2021:Draining Rocks
+20210707_0365:Beavertail Point:Landscape:July 2021:Tidal Pool
+20210707_0412:Wickford:Fauna:July 2021:Seagull Lawyer
+20210707_0429:Beavertail Point:Landscape:July 2021:Dawn Shore
+20210707_0438:Beavertail Point:Landscape:July 2021:Crashing Waves
+20210701_0050:Dowton Road:Flora:July 2021:Pine Fruit
+20210629_0011:Patapsco:Flora:June 2021:Logscape
+20210629_0036:Patapsco:Flora:June 2021:Floating Root
+20210628_0002:Downton Road:Luna:June 2021:Rising Waning Gibous
+20210628_0020:Downton Road:Felines:June 2021:Creeper
+20210628_0028:Downton Road:Jove:June 2021:240 Second Transit
+20210627_0092:Patapsco:Landscape:June 2021:Shallow Creek
+20210627_0110:Patapsco:Fauna:June 2021:Dead Cicada
+20210627_0202:Patapsco:Flora:June 2021:Brown Ivy
+20210625_0054:Downton Road:Architecture:June 2021:Front Porch
+20210625_0066:Downton Road:Flora:June 2021:Day Lily Fence
+20210625_0074:Downton Road:Flora:June 2021:Floating Periwinkle
+20210625_0086:Downton Road:Flora:June 2021:Alien Pine
+20210625_0104:Downton Road:Flora:June 2021:Pine Berry Branch
+20210625_0162:Downton Road:Flora:June 2021:Landing Pad
+20210625_0490:Downton Road:Felines:June 2021:Misty
+20210619_0072:Downton Road:Felines:June 2021:Ali Napping
+20210619_0112:Patapsco:Flora:June 2021:Heavy Vines
+20210619_0170:UMBC:Flora:June 2021:Cat Tail
+20210619_0188:UMBC:Flora:June 2021:Floating Flower
+20210619_0204:UMBC:Architecture:June 2021:Arcing Walkway
+20210619_0264:UMBC:Architecture:June 2021:Backlit Planter
+20210619_0288:Federal Hill:Architecture:June 2021:Bunk
+20210619_0312:Federal Hill:Architecture:June 2021:Brick Facade
+20210619_0462:Fell's Point:Architecture:June 2021:City Pier
+20210619_0472:Fell's Point:Architecture:June 2021:Chop House
 20210618_0022:Great North Mountain:Fauna:June 2021:Centipede
 20210618_0086:Great North Mountain:Flora:June 2021:Moss
 20210618_0098:Great North Mountain:Flora:June 2021:Dripping Flower
@@ -17,82 +96,3 @@ name:loc:sub:date:desc
 20210618_0471:White Rock Cliff:Landscape:June 2021:Backlit Trunk
 20210618_0477:White Rock Cliff:Flora:June 2021:Pine Cone Trio
 20210618_0508:White Rock Cliff:Flora:June 2021:Cliff Flowers
-20210619_0072:Downton Road:Felines:June 2021:Ali Napping
-20210619_0112:Patapsco:Flora:June 2021:Heavy Vines
-20210619_0170:UMBC:Flora:June 2021:Cat Tail
-20210619_0188:UMBC:Flora:June 2021:Floating Flower
-20210619_0204:UMBC:Architecture:June 2021:Arcing Walkway
-20210619_0264:UMBC:Architecture:June 2021:Backlit Planter
-20210619_0288:Federal Hill:Architecture:June 2021:Bunk
-20210619_0312:Federal Hill:Architecture:June 2021:Brick Facade
-20210619_0462:Fell's Point:Architecture:June 2021:City Pier
-20210619_0472:Fell's Point:Architecture:June 2021:Chop House
-20210625_0054:Downton Road:Architecture:June 2021:Front Porch
-20210625_0066:Downton Road:Flora:June 2021:Day Lily Fence
-20210625_0074:Downton Road:Flora:June 2021:Floating Periwinkle
-20210625_0086:Downton Road:Flora:June 2021:Alien Pine
-20210625_0104:Downton Road:Flora:June 2021:Pine Berry Branch
-20210625_0162:Downton Road:Flora:June 2021:Landing Pad
-20210625_0490:Downton Road:Felines:June 2021:Misty
-20210627_0092:Patapsco:Landscape:June 2021:Shallow Creek
-20210627_0110:Patapsco:Fauna:June 2021:Dead Cicada
-20210627_0202:Patapsco:Flora:June 2021:Brown Ivy
-20210628_0002:Downton Road:Luna:June 2021:Rising Waning Gibous
-20210628_0020:Downton Road:Felines:June 2021:Creeper
-20210628_0028:Downton Road:Jove:June 2021:240 Second Transit
-20210629_0011:Patapsco:Flora:June 2021:Logscape
-20210629_0036:Patapsco:Flora:June 2021:Floating Root
-20210701_0050:Dowton Road:Flora:July 2021:Pine Fruit
-20210707_0006:South Kingstown:Fauna:July 2021:Joey
-20210707_0087:South Kingstown:Flora:July 2021:Landed Plant
-20210707_0166:Saugatucket Pond:Landscape:July 2021:Bird House
-20210707_0168:Saugatucket Pond:Landscape:July 2021:Lillyscape
-20210707_0281:Beavertail Point:Landscape:July 2021:Rocks
-20210707_0291:Beavertail Point:Landscape:July 2021:Seaweed Slope
-20210707_0302:Beavertail Point:Landscape:July 2021:Crest
-20210707_0358:Beavertail Point:Landscape:July 2021:Draining Rocks
-20210707_0365:Beavertail Point:Landscape:July 2021:Tidal Pool
-20210707_0412:Wickford:Fauna:July 2021:Seagull Lawyer
-20210707_0429:Beavertail Point:Landscape:July 2021:Dawn Shore
-20210707_0438:Beavertail Point:Landscape:July 2021:Crashing Waves
-20210712_0127:Shaw Orchards:Flora:July 2021:Blueberries
-20210712_0132:Downton Road:Felines:July 2021:Misty
-20210712_0154:Patapsco:Flora:July 2021:Upturned Roots
-20210712_0182:Patapsco:Landscape:July 2021:Downed Log
-20210723_0026:Downton Road:Luna:July 2021:Rising Full
-20210723_0113:Sherwood Gardens:Flora:July 2021:Purple Flower
-20210723_0117:Sherwood Gardens:Sol:July 2021:Clouds
-20210723_0140:Hampden:Sol:July 2021:Clouds
-20210723_0149:Jones Fall Road:Architecture:July 2021:Bridge Understructure
-20210724_0001:Downton Road:Sol:July 2021:Rising Sun
-20210724_0057:Downton Road:Fauna:July 2021:Pigeons Hanging
-20210724_0071:Downton Road:Fauna:July 2021:Rabbits
-20210808_0071:Patapsco:Flora:August 2021:Moss Ship
-20210808_0088:Patapsco:Flora:August 2021:Branchscape
-20210808_0106:Patapsco:Landscape:August 2021:Tree Reaching
-20210814_0154:Harpers Ferry:Landscape:August 2021:Potomac
-20210814_0198:Harpers Ferry:Landscape:August 2021:Green Pool
-20210814_0242:Winchester:Fauna:August 2021:Duck Race
-20210814_0293:Winchester:Fauna:August 2021:What the Duck
-20210907_0068:Hudson Trail:Landscape:September 2021:Rising Forest
-20210907_0078:Huckleberry Trail:Flora:September 2021:Pine Branches
-20210907_0115:Huckleberry Trail:Flora:September 2021:Mossy Outcrop
-20210907_0179:Huckleberry Trail:Flora:September 2021:Moss and Quartz
-20210907_0189:Huckleberry Trail:Flora:September 2021:Lone Pine
-20210907_0205:Huckleberry Trail:Flora:September 2021:Multicolor Moss
-20210907_0209:Huckleberry Trail:Flora:September 2021:Pine Bough
-20210907_0219:Huckleberry Trail:Flora:September 2021:Lichen Islands
-20210907_0224:Huckleberry Trail:Flora:September 2021:Coral Moss
-20210908_0017:Petersburg:Landscape:September 2021:Sunny Barn
-20210908_0057:Welton Park:Landscape:September 2021:Potomac River
-20210908_0068:Welton Park:Landscape:September 2021:Tree Skeleton
-20210908_0073:Welton Park:Landscape:September 2021:Stump Canyon
-20210908_0112:Petersburg:Landscape:September 2021:Appalachain Sunset
-20210908_0180:Petersburg:Landscape:September 2021:Cloudy Morning
-20210912_0200:Bethany Beach:Landscape:September 2021:Atlantic Sunrise
-20210912_0241:Assawoman Bay:Landscape:September 2021:Sixty Five Acre Pond
-20210912_0374:Rehoboth Beach:Landscape:September 2021:Derelict Jetty
-20210912_0433:Rehoboth Beach:Fauna:September 2021:Fleeing Piper
-20210912_0448:Rehoboth Beach:Fauna:September 2021:Angry Bird
-20210912_0482:Bethany Beach:Fauna:September 2021:Sodium Lit Power Lines
-20210912_0492:Bethany Beach:Fauna:September 2021:Jupiter at the Shore
index ecc9affed110588d8c4b943337d2eacca14d5c7c..44a4e895bb5c8a4ea6a631d6e454275eef1be975 100644 (file)
@@ -8,44 +8,27 @@
                <!-- util must be first; driver must be last -->
                <script type="text/javascript" src="scripts/util.js"></script>
                <script type="text/javascript" src="scripts/photo.js"></script>
-               <script type="text/javascript" src="scripts/click.js"></script>
                <script type="text/javascript" src="scripts/dom.js"></script>
                <script type="text/javascript" src="scripts/main.js"></script>
        </head>
        <body class="parent">
-               <div class="grid parent">
-                       <div id="sidebar">
-                               <div class="float">
-                                       <div id="logo">
-                                               <a href="/">
-                                                       <img src="/media/logo_ng.svg" alt="MadKous">
-                                               </a>
-                                       </div>
-                                       <div class="menu">
-                                               <ul id="methods">
-                                                       <li id="loc"><a>Location</a></li>
-                                                       <li id="sub"><a>Subject</a></li>
-                                                       <li id="date"><a>Date</a></li>
-                                               </ul>
-                                       </div>
+               <div id="photo-layer" class="photo-bg hidden">
+                       <div id="photo-left" class="arrow-bar">
+                               <div class="center">
+                               <a class="arrow-sym arrow-left" href="#"></a>
                                </div>
                        </div>
-                       <div id="thumbs" class="thumb-grid">
-                       </div>
-                       <div id="photo-layer" class="photo-bg hidden">
-                               <div id="photo-left" class="arrow-bar">
-                                       <div class="center">
-                                       <a class="arrow-sym arrow-left" href="#"></a>
-                                       </div>
-                               </div>
-                               <div id="photo-frame" class="photo-frame"></div>
-                               <div id="photo-right" class="arrow-bar">
-                                       <div class="center">
-                                               <a class="arrow-sym arrow-right" href="#"></a>
-                                       </div>
+                       <div id="photo-frame" class="photo-frame"></div>
+                       <div id="photo-right" class="arrow-bar">
+                               <div class="center">
+                                       <a class="arrow-sym arrow-right" href="#"></a>
                                </div>
                        </div>
                </div>
-               <div>
+               <div id="logo">
+                       <a href="/">
+                               <img src="/media/logo_ng.svg" alt="MadKous">
+                       </a>
+               </div>
        </body>
 </html>
diff --git a/scripts/click.js b/scripts/click.js
deleted file mode 100644 (file)
index a17b037..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-var CLICK = (click => {
-       click.category = (m, node) => {
-               let s = node.innerText;
-
-               if (CLASS.is_selected(node)) {
-                       if(PHOTO.removeFilter(m, s)) {
-                               UTIL.siblings(node).forEach(e => {
-                                       CLASS.un_deselected(e);
-                                       // CLASS.normal(e);
-                               });
-                       } else {
-                               CLASS.deselected(node);
-                       }
-                       CLASS.un_selected(node);
-               } else if (CLASS.is_normal(node)) {
-                       PHOTO.addFilter(m, s, p => p[m] === s);
-                       UTIL.siblings(node).forEach(e => {
-                               CLASS.deselected(e);
-                               // CLASS.un_normal(e);
-                       });
-                       CLASS.un_deselected(node);
-                       CLASS.selected(node);
-               } else { // assumed to be 'deselected'
-                       PHOTO.addFilter(m, s, p => p[m] === s);
-                       CLASS.un_deselected(node);
-                       CLASS.selected(node);
-               }
-       }
-
-       click.method = (node) => {
-               let m = node.id;
-
-               if (CLASS.is_selected(node)) {
-                       CLASS.hidden(node.children[1]);
-                       CLASS.un_selected(node);
-                       // CLASS.normal(node);
-               } else {
-                       CLASS.un_hidden(node.children[1]);
-                       // CLASS.un_normal(node);
-                       CLASS.selected(node);
-               }
-       }
-
-       return click;
-
-})(CLICK || {});
index 3e75ea223de3f76e784c14f48ad4ccab3b245f8e..c83f8ade181338ed5089dbb877bab076769964d2 100644 (file)
@@ -4,12 +4,8 @@ var DOM = (dom => {
        dom.photo_frame;
        dom.photo_left;
        dom.photo_right;
-       // pointers to <ul>
-       dom.methods;
        // thumbnail container
        dom.thumb_grid;
-       // lists of <li> by method
-       dom.meth_list = new Object();
 
        //// dom creation ////
        dom.makeThumbnail = (p) => {
@@ -39,42 +35,33 @@ var DOM = (dom => {
                return e;
        }
 
-       dom.makeCategory = (s, m) => {
-               let e = document.createElement("li");
-               let d = document.createElement("a");
-               d.innerText = s;
-               e.appendChild(d);
-               e.id = s;
-               e.addEventListener("click", () => {
-                       event.stopPropagation();
-                       CLICK.category(m, e);
-               });
-               CLASS.normal(e);
-               return e;
-       }
-
-       dom.makeList = (l) => {
-               let c = document.createElement("ul");
-               l.forEach(e => c.appendChild(e));
-               CLASS.hidden(c);
-               return c;
-       }
-
-       dom.makeMethod = (node, l) => {
-               let m = node.id;
-               node.appendChild(dom.makeList(l[m]));
-       }
-
        dom.loadPhoto = (p) => {
                UTIL.removeAll(dom.photo_frame);
                UTIL.disableScroll();
                dom.photo_frame.appendChild(p.img());
                CLASS.un_hidden(dom.photo_layer);
        }
+       
+       dom.addThumbnail = (t) => {
+
+               dom.thumb_grid.appendChild(t);
+       }
+
+       dom.addSection = (n) =>
+       {
+               let e = document.createElement("div");
+               e.innerText = n;
+               CLASS.section(e);
+               document.body.appendChild(e);
+
+               let g = document.createElement("div");
+               CLASS.grid(g);
+               document.body.appendChild(g);
+               dom.thumb_grid = g;
+
+       }
 
        dom.init = () => {
-               dom.thumb_grid = document.getElementById("thumbs");
-               dom.methods = document.getElementById("methods");
                dom.photo_layer = document.getElementById("photo-layer");
                dom.photo_frame = document.getElementById("photo-frame");
                dom.photo_left = document.getElementById("photo-left");
@@ -93,14 +80,6 @@ var DOM = (dom => {
                        PHOTO.next();
                });
                // methods
-               Array.from(dom.methods.children)
-                       .forEach(e => {
-                               dom.makeMethod(e, dom.meth_list);
-                               e.addEventListener("click", () => {
-                                       event.stopPropagation();
-                                       CLICK.method(e);
-                               });
-                       });
        }
 
        return dom;
index e2ed899344e258d173474459bd8e55d0853e7ad9..5f68b9ea4efeeebb945f3e1c9f1a6511b6ffd185 100644 (file)
@@ -3,6 +3,7 @@
        //// json handling ////
        function loadJson(text) {
                let json = JSON.parse(text);
+               let section = "";
                PHOTO.all = json.photos;
                PHOTO.all.forEach((p, i) => {
                        p.thm = DOM.makeThumbnail(p);
                                return cel;
                        };
                        p.img = get;
-               });
 
-               PHOTO.methods.forEach(m => {
-                       let a = [];
-                       json[m].forEach(s => a.push(DOM.makeCategory(s, m)));
-                       DOM.meth_list[m] = a;
+                       if (section === p.date) {
+                               DOM.addThumbnail(p.thm)
+                       } else {
+                               section = p.date
+                               DOM.addSection(section);
+                       }
                });
        }
 
@@ -33,7 +35,7 @@
                } else if (e.keyCode === 39) { // right arrow
                        if (!CLASS.is_hidden(DOM.photo_layer)) PHOTO.next();
                } else {
-                       console.log(`${e.code} -> ${e.keyCode}`);
+//                     console.log(`${e.code} -> ${e.keyCode}`);
                }
        }
 
@@ -41,9 +43,8 @@
                (event) => {
                        let xhttp = new XMLHttpRequest();
                        xhttp.onload = (() => {
-                               loadJson(xhttp.responseText);
                                DOM.init();
-                               PHOTO.updateThumbs();
+                               loadJson(xhttp.responseText);
                        });
                        xhttp.open("GET", "data/pictures.json");
                        xhttp.send();
index 0a752b4a1d67ea18f28820373dfa7abe1b375b7a..c0ddee49f15b82610ff13530e92e18762ccc1974 100644 (file)
@@ -1,38 +1,5 @@
 var PHOTO = (photo => {
-       photo.methods = [ "loc", "date", "sub" ];
        photo.all;
-       photo.shown;
-       photo.filter_groups
-               = new Map(photo.methods.map(s => [s, new Map([["T", UTIL.top]])]));
-
-       photo.updateThumbs = () => {
-               UTIL.removeAll(DOM.thumb_grid);
-               let pred = p => Array.from(photo.filter_groups.values()).every(
-                       m => Array.from(m.values()).some(f => f(p)));
-               photo.shown = photo.all.filter(pred);
-               photo.shown.forEach(p => DOM.thumb_grid.appendChild(p.thm));
-       }
-
-       photo.addFilter = (m, s, f) => {
-               let g = photo.filter_groups.get(m);
-               g.delete("T");
-               g.set(s, f);
-               photo.updateThumbs();
-       }
-
-       // returns true iff last filter removed
-       photo.removeFilter = (m, s) => {
-               let g = photo.filter_groups.get(m);
-               let r = false;
-               if (g.delete(s)) {
-                       if (g.size === 0) {
-                               g.set("T", UTIL.top);
-                               r = true;
-                       }
-                       photo.updateThumbs();
-               }
-               return r;
-       }
 
        photo.current = _ => document.querySelector("#photo-frame>img");
        photo.hide = _ => {
@@ -40,18 +7,18 @@ var PHOTO = (photo => {
                CLASS.hidden(DOM.photo_layer);
        }
        photo.next = _ => {
-               let i = photo.shown.findIndex(p => p.img() === photo.current());
+               let i = photo.all.findIndex(p => p.img() === photo.current());
                if (i === -1)
                        console.log("error, no current image");
-               let j = i + 1 === photo.shown.length ? 0 : i + 1;
-               DOM.loadPhoto(photo.shown[j]);
+               let j = i + 1 === photo.all.length ? 0 : i + 1;
+               DOM.loadPhoto(photo.all[j]);
        };
        photo.prev = _ => {
-               let i = photo.shown.findIndex(p => p.img() === photo.current());
+               let i = photo.all.findIndex(p => p.img() === photo.current());
                if (i === -1)
                        console.log("error, no current image");
-               let j = i <= 0 ? photo.shown.length - 1 : i - 1;
-               DOM.loadPhoto(photo.shown[j]);
+               let j = i <= 0 ? photo.all.length - 1 : i - 1;
+               DOM.loadPhoto(photo.all[j]);
        };
 
        return photo;
index b1ba9fdd3abf030dd90a62978bc9e002c2336b4a..cd1ab0b5bbe480286a1ea118f12e79942cfdad26 100644 (file)
@@ -21,7 +21,7 @@ var UTIL = (util => {
 })(UTIL || {});
 
 var CLASS = (cls => {
-       let classes = ["hidden", "selected", "deselected", "normal"];
+       let classes = ["hidden", "grid", "section"];
        classes.forEach(c => {
                cls[c] = (e) => e.classList.add(`${c}`);
                cls[`un_${c}`] = (e) => e.classList.remove(`${c}`);
index 7fbd2a824f095ce8cd1a12e38cdb167078fee589..5aac2dfae8513246e340310150d07670b241991b 100644 (file)
@@ -1,11 +1,11 @@
 :root {
        /* tan */
-       --bg-col: #DDCFB8;
+       --bg-col: #CCBFA8;
        --bg-lite-col: #CEC2A6;
        --main-bd-col: #EEE2CF;
 
        /* purple */
-       --fg-col: #716E81;
+       --fg-col: #615E71;
        --fg-emph-col: #5D5E7A;
        --fg-mute-col: #716E8144;
        --shadow-col: #35343CB3;
@@ -22,17 +22,10 @@ body {
        background-color: var(--bg-col);
        color: var(--fg-col);
        margin: 5%;
-       font-size: calc(1em + 0.5vw);
+       font-size: calc(2em + 0.5vw);
        font-family: sans-serif;
 }
 
-.grid {
-       display: grid;
-       grid-template-columns: var(--menu-width) 1fr;
-       grid-column-gap: 3vw;
-       /* background-color: blue; */
-}
-
 #sidebar {
        /* background-color: blue; */
        /* width: auto; */
@@ -48,53 +41,13 @@ body {
        display: flex;
        padding-bottom: 3vh;
        justify-content: center;
-       align-items: center;
 }
 
 #logo > a > img {
-       height: calc(7px + 7vw);
+       height: calc(7px + 10vw);
        filter: hue-rotate(10deg) saturate(150%) drop-shadow(5px 5px 5px var(--shadow-col));
 }
 
-.menu {
-       display: inline grid;
-       width: 100%;
-}
-
-.menu > ul {
-       cursor: pointer;
-       background-color: var(--bg-lite-col);
-       width: 100%;
-       border: medium inset var(--main-bd-col);
-       overflow-y: scroll;
-       max-height: 70vh;
-       /* box-shadow: 5px 5px 5px inset var(--shadow-col); */
-}
-
-ul {
-       list-style-type: none;
-       margin: 0;
-       padding: 0;
-}
-
-
-li > a {
-       font-weight: bold;
-       /* text-shadow: 3px 3px 3px var(--shadow-col); */
-}
-
-li {
-       padding: 1vw;
-}
-
-li > div:active {
-       animation-name: text_press;
-       animation-timing-function: ease-in-out;
-       animation-duration: 100ms;
-       /* text-shadow: 1px 1px 1px var(--shadow-col); */
-       /* transform: translate(0px, 1px); */
-}
-
 @keyframes text_press {
        0% {
        }
@@ -102,7 +55,13 @@ li > div:active {
        }
 }
 
-.thumb-grid {
+.section {
+       display: flex;
+       padding-bottom: 3vh;
+       justify-content: center;
+}
+
+.grid {
        display: grid;
        grid-row-gap: 1vw;
        grid-column-gap: 1vw;
@@ -111,7 +70,7 @@ li > div:active {
        /* background-color: green; */
 }
 
-.thumb-grid > div {
+.grid > div {
        /* background-color: red; */
        display: flex;
        height: 160px;
@@ -120,7 +79,7 @@ li > div:active {
        align-items: center;
 }
 
-.thumb-grid > div > img {
+.grid > div > img {
        display: block;
        max-height: 160px;
        max-width: 160px;
@@ -128,7 +87,7 @@ li > div:active {
        box-shadow: 5px 5px 5px var(--shadow-col);
 }
 
-.thumb-grid > div > img:hover {
+.grid > div > img:hover {
        animation-name: box_bounce;
        animation-timing-function: ease-in-out;
        animation-duration: 300ms;
@@ -136,7 +95,7 @@ li > div:active {
        transform: translate(0px, -2.5px);
 }
 
-.thumb-grid > div > img:active {
+.grid > div > img:active {
        animation-name: box_press;
        animation-timing-function: ease-in-out;
        animation-duration: 100ms;
@@ -228,8 +187,5 @@ li > div:active {
 
 /* these must remain at the bottom */
 .parent { height: 95%; }
-.normal { color: var(--fg-col); }
-.deselected { color: var(--fg-mute-col); }
-.selected { color: var(--fg-emph-col); }
 .hidden { display: none; }