From 8490602d2dc9409231bfa7375940a6579b555736 Mon Sep 17 00:00:00 2001 From: ed Date: Tue, 17 May 2022 13:13:47 +0200 Subject: [PATCH] cards added xwith time --- proj/map/.index.html.swp | Bin 12288 -> 12288 bytes proj/map/asset/css/style.css | 104 ++++++- proj/map/asset/js/.main.js.swp | Bin 20480 -> 28672 bytes proj/map/asset/js/main.js | 306 ++++++++++++++++++-- proj/map/asset/json/endpoint/.index.php.swp | Bin 12288 -> 0 bytes proj/map/index.html | 7 +- 6 files changed, 375 insertions(+), 42 deletions(-) delete mode 100644 proj/map/asset/json/endpoint/.index.php.swp diff --git a/proj/map/.index.html.swp b/proj/map/.index.html.swp index 1d8c4d660b282ea434aaec2585ff8900d60d1254..c63f0c4aa1a9e05254345a62bdd5043cbf0ef0d6 100644 GIT binary patch delta 249 zcmZojXh@JtG6?hZRj|-AVgLdG28Nb%O-bugQy5+5F)*a2OkAk8(d7(3quFLbfzSNB znOqDEvD^@aW|IXK>f<_i7#Q+^*cOOwfY=m>O@P=Kh_!)O3y770SP6&~fmi{EC4g8Q zh{b?d6o_8}P22&*+kvL4v1s9H#4#na7|9oHkfRnBR2W9b|Di3!{lfkXWgRI z;*xwNI~#q+o0QBlh2)&X;$mB+;?x3=JW#}La)XW>dqHARc4l7s J<~2GY%mB%rHR}KX delta 195 zcmZojXh@JtG6?hZRj|-AVgLdG1_q{mO-Zt8DU2@j7#LDhCN5Ol=yHai(Qvb%z-NBm zBU}s&OSmBl4JQjK)Q2_lFfcR#aU~E}0C71G=L2yb5T^ri8W5)faS9N}0I>lO{|B1z z4~VY<@me5W3dA5&7X$GGAnxbh%*ay3H91b(VDfft;mI-DJ10x%IPs+<=@q3Gmn4=J OCFYeBZ(gGl!VCZiax8rS diff --git a/proj/map/asset/css/style.css b/proj/map/asset/css/style.css index a5c0135..e790cc6 100644 --- a/proj/map/asset/css/style.css +++ b/proj/map/asset/css/style.css @@ -4,7 +4,8 @@ @import url("./font.css"); header { - + height: 100px; + width: 100vw; } body { @@ -13,15 +14,28 @@ body { } section#logo { - position: fixed; + position: relative; left: 5px; top: 5px; } section#lang { - position: fixed; - right: 5px; - top: 5px; + position: relative; + text-align: right; + margin-top: -12px; +} + +section#lang span.marker { + position: absolute; + height: 5px; + left: 0; + width: 0; + bottom: -8px; + transition: 0.5s; +} + +section#lang span { + margin-right: 10px; } section#map-container { @@ -40,6 +54,7 @@ main { top: 340px; bottom: 0px; width: 100vw; + overflow-x: hidden; } div#list { @@ -49,20 +64,13 @@ div#list { padding-left: 10px; padding-top: 10px scrollbar-width: none; + overflow-x: hidden; } div#list::-webkit-scrollbar { display: none; } -.marker { - position: absolute; - height: 5px; - left: 0; - width: 0; - bottom: -10px; - transition: 0.5s; -} .listchild { height: 0%; @@ -156,3 +164,73 @@ section.lastlistitem aside span.info { background-color: var(--b9h-color-fg); color: var(--b9h-color-bg); } + +div.sep { + background-color: var(--b9h-color-fg); + height:5px; + width: 100vw; + margin-left: -8px; + overflow-x: hidden; + + content: "jsdflkj" +} + +section.card { + position: fixed; + top: 110vh; + left: 0px; + right: 0px; + bottom: 0px; + background-color: var(--b9h-color-bg); + z-index: 1000; + transition: top 0.5s; +} + +section.card nav { + margin-top: 60px; + display: flex; + flex-direction: row; + justify-content: space-around; +} + +section.card nav span { + font-size: 30px; +} + +section.card span.byl-icon-cross { + position: absolute; + right: 20px; + top: 20px; + font-size: 1.3rem; +} + +section.tabroll { + margin-top: 20px; + height: 100vh; + display: flex; + flex-direction: row; +} + +section.tabroll { + transform: translateX(-0vw); + transition: transform 0.5s; +} + +section.tabroll section.singletab { + width: 100vw; + height: 100%; +} + +nav.cardnav { + position: relative; +} + +nav.cardnav span.marker { + position: absolute; + height: 5px; + left: 0px; + width: 0px; + background-color: var(--b9h-color-accent); + bottom: -20px; + transition: 0.5s; +} diff --git a/proj/map/asset/js/.main.js.swp b/proj/map/asset/js/.main.js.swp index 9e230b54432a4e693b38bf04b423b4a8f42beea1..c282201c35ecd5a9170477a158cb2b56dd9b3a77 100644 GIT binary patch literal 28672 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 delta 2150 zcmdVaUu;uV9Ki8YTK)-JJ7Iz_;H2PKm(ei@11B4ZQy9otFcBv~ylrpS&aM}FFB5^$ zF$kjQ!#o<12V(RA|7840g`rWR{EzMX`GnYaq%Bk&jkv0J31LRs_ZRN3KJ4|nMVfAp z9>e8PdAtq8>9LaVuAd zn>dU%JOLlPaN$Od5T9W+La0YR2IInTAx>d0UO^p3;k#i%e2Y(U2p?i6ULVHlw-IbW zBTUreNz6bgictU$uHMIkZ~>>$iG$dSci>BR<+e3u-0o^!-FR&Z!Scm19jd939&tM@g;xKk$BUYdWLFA^n{XB@( zp%p(46yjN&Af+PLgsi9!TeR2EIuoG`KSxwYP*rvL&V4~_Oe5zo!y~;?+ zaKfO%N~mB-fts*rcxGHl)IC}@PYK17k&0N#j8^)cSlkZk(62U^ zZpzul>-CWueRh_sys6jHNiw_u6Z^6~h|g;zbT8JT8oBsQCl=Sxg%6<6hA`$J4?6kh z@eMk$6K#m17BwitgUBB!ykaCl9`v%VdonK1YPaf{K2rTMy+|!8pQ-MY->)v0r_}9o zZ=(@)%#>^}orTr&WY|a~{DHog9t;~!I96n)QnIp2hOMM+CCp&LYS2x=CeyZ!1~YJP zv=cLvMG?a>^yut6iiBjP)GfVZ)Sc+q#X7}NQ$IHnT9ZlyL}{sR%8u_{L{Z;X=|7?0 z2w7_!=~&qn_N~?*$Sj&!?P~hxTzB`G{<)K#okbWg8gWOm)q;(-mApHH%>Jot`@J#! z*Vg+e!+t3l?whhGkZGN@WpK_UDqJ#GBR)qfs*#Hv z{7HT6!68_99?LKS1JO;LJb@0pj9TR5GG*@)I&o0f%iRP!upL{m4l#tW3=1(GQ&5C4 z7=SC(!%OJKNgTi@=)l`Zp&TX1MGxifBD!!IU*o8*mq!S`LK+*f9x1Fw2=h^l$tc7K zcyN=`aTVwB7PesnqNu~e7=v4!n9DeW1K5EU=(<^1#;pKD@DoSoEcReK^fCIFlc0~s zR_bIEmU=SXk9PcB$)^67N+$G9&2C#+p`Ke(tgMD1uK#^~D|Wj%gi6kls&2`?zW`ju B!>#}T diff --git a/proj/map/asset/js/main.js b/proj/map/asset/js/main.js index 25ef3bc..5d30359 100644 --- a/proj/map/asset/js/main.js +++ b/proj/map/asset/js/main.js @@ -2,12 +2,120 @@ //const dburl = "https://ed.brz9.dev/proj/map/asset/json/db.json" const dburl = "https://ed.brz9.dev/proj/map/asset/json/endpoint/" +Vue.component('Time', { + template : ` +
+

+ {{ this.days.mon.fr }} + {{ this.days.mon.en }} + {{ this.days.mon.it }} + {{ this.obj.mon }} +

+ +

+ {{ this.days.tue.fr }} + {{ this.days.tue.en }} + {{ this.days.tue.it }} + {{ this.obj.tue }} +

+ +

+ {{ this.days.wed.fr }} + {{ this.days.wed.en }} + {{ this.days.wed.it }} + {{ this.obj.wed }} +

+ +

+ {{ this.days.thu.fr }} + {{ this.days.thu.en }} + {{ this.days.thu.it }} + {{ this.obj.thu }} +

+ +

+ {{ this.days.fri.fr }} + {{ this.days.fri.en }} + {{ this.days.fri.it }} + {{ this.obj.fri }} +

+ +

+ {{ this.days.sat.fr }} + {{ this.days.sat.en }} + {{ this.days.sat.it }} + {{ this.obj.sat }} +

+ +

+ {{ this.days.sun.fr }} + {{ this.days.sun.en }} + {{ this.days.sun.it }} + {{ this.obj.sun }} +

+ +
+ `, + props : { + obj : Object + }, + data () { + return { + message : "hello from time", + days : { + mon : { + fr : "Lundi", + en : "Monday", + it : "Lunedì" + }, + tue : { + fr : "Mardi", + en : "Tuesday", + it : "Martedì" + }, + wed : { + fr : "Mercredi", + en : "Wednesday", + it : "Mercoledì" + }, + thu : { + fr : "Jeudi", + en : "Thursday", + it : "Giovedì" + }, + fri : { + fr : "Vendredi", + en : "Friday", + it : "Venerdì" + }, + sat : { + fr : "Samedi", + en : "Saturday", + it : "Sabato" + }, + sun : { + fr : "Dimanche", + en : "Sunday", + it : "Domenica" + }, + } + } + }, + methods : { + getTime () { + tabtype + } + + } +}); + + Vue.component('Accordeon', { template : `
@@ -45,26 +198,110 @@ Vue.component('Accordeon', { }, data () { return { - isActive : false + isActive : false, + displayCard : "block", + cardTop : "110vh", + tabrollxoff : 0, + tabind : 0, + markerL : 0, + markerW : 0, } }, computed: { href: function () { return "#" + this.list.id; - } + }, + cardid: function () { + return "card" + this.list.id; + }, + tabcount: function () { + if ('card' in this.list){ + console.log(this.list + " has a card") + var arr = Object.entries(this.list.card.tabs); + return arr.length + } else { + return 0; + } + }, + tabrollw: function () { + return this.tabcount + "00vw"; + }, + tabrollTransX: function () { + return "translateX(-" + this.tabrollxoff + "00vw)"; + }, + markerLL : function () { + if ('card' in this.list){ +try { + return this.$refs.tabnavi[this.tabind].getBoundingClientRect().left + "px" +}catch(err) {} + } else { + return 0; + } + }, + markerWW : function () { + if ('card' in this.list){ + try { + target = document.querySelector("#" + this.cardid +"0"); + marker.style.left = target.offsetLeft + "px"; + return target.offsetWidth + "px"; + //return this.$refs.tabnavi[this.tabind].getBoundingClientRect().width + "px" + }catch(err) { + console.log(err.message) + } + } else { + return 0; + } + }, }, methods : { + getMarkerId(i) { + return this.cardid + this.getIndex(i).toString() + }, + getIndex(obj) { + var arr = Object.entries(this.list.card.tabs); + let ind = arr.findIndex(e => e[0] === obj.tabtype); + return ind + }, + setTab(ind) { + this.tabrollxoff = ind; + this.tabind = ind + t = document.getElementById(this.cardid + ind); + this.markerL = t.offsetLeft + "px" + this.markerW = t.offsetWidth + "px" + console.log(this.markerL) + }, + getTabLogo(obj) { + switch(obj.tabtype) { + case "menu": + return "byl-icon-restaurant" + // code block + break; + case "time": + return "byl-icon-clock" + // code block + break; + default: + // code block + } + }, + showCard() { + this.displayCard = "block"; + this.setTab(0) + console.log("showing card") + this.cardTop = "0vh" + this.setTab(0) + this.setTab(0) + this.setTab(0) + }, + hideCard() { + this.cardTop = "110vh" + }, donothing () { }, toggleActive () { this.isActive = !this.isActive - document.getElementById(this.list.id).scrollIntoView( - { - behavior: "smooth", - block: "end", - inline: "nearest"} - ); + document.getElementById(this.list.id).scrollIntoView(); } } }) @@ -85,9 +322,22 @@ let vm = new Vue({ data: { currentLang: 'fr', fdata: {}, - db : {}, - db2 : { - restaurants : { + db : { + parking : { + id : "parking", + type : "list", + nameFR : "Parking", + nameEN : "Car park", + nameIT : "Parcheggio", + sub : { + lamy : { + id: "lamy", + type: "item", + name: "Parking Lamy" + } + } + }, + resto : { id : "resto", type : "list", nameFR : "Restaurant", @@ -112,6 +362,7 @@ let vm = new Vue({ card : { tabs : { menu : { + tabtype : "menu", priceRange : "18-32€", dishes : { divola : { @@ -123,9 +374,14 @@ let vm = new Vue({ } }, time : { - monAM : "11h30-14h00", - monPM : "18h30-22h00", - + tabtype : "time", + mon : "11h30-14h00 18h30-22h00", + tue : "11h30-14h00 18h30-22h00", + wed : "11h30-14h00 18h30-22h00", + thu : "11h30-14h00 18h30-22h00", + fri : "11h30-14h00 18h30-22h00", + sat : "11h30-14h00 18h30-22h00", + sun : "", } } } @@ -185,11 +441,6 @@ let vm = new Vue({ langElms[i].style.display = 'revert'; } }, - async getJDB(){ - const res = await fetch(dburl); - const data = await res.json(); - this.db = data; - }, setlang: function (lang) { target = document.querySelector("#"+"tab-"+lang); marker = document.querySelector("#lang-marker"); @@ -199,13 +450,6 @@ let vm = new Vue({ }, }, created: function(){ - console.log("about to call getJDB") -// this.getJDB(); - fetch(dburl) - .then(res => res.json()) - .then(data => this.db = data) - .catch(err => console.log(err.message)) - console.log("after getJDB call") this.setlang('fr'); }, mounted: function() { @@ -213,9 +457,15 @@ let vm = new Vue({ this.setlang('fr'); console.log("mounted"); this.setlang('fr'); + this.setlang('fr'); + this.setlang('fr'); + this.setlang('fr'); }, updated: function() { this.setlang('fr'); + this.setlang('fr'); + this.setlang('fr'); + this.setlang('fr'); } }) diff --git a/proj/map/asset/json/endpoint/.index.php.swp b/proj/map/asset/json/endpoint/.index.php.swp deleted file mode 100644 index c7e9419398ebea389310440b2ed9875c2f157140..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2%ZnUE9LH;8;%ZD(^kBS|EwWLZ>DgHm*Ih9zW&^9NE}Mr35vlI3%+%U1yK5)w zhDjj*f#OAc1yLm6MFjDIMzV;KiyrjiFkztxY)PIvF@s+fmV!)JQB>({^f z)wimD{TrsO#-W*6I$m!QY_}5f>zNbQFT)E%d*2|0JL=^6o5QV;ZNT;zcT78QxOs$I zW?Oo0&5mP}J9R5seyHy7ju}S5g6Xl)WO2-;xey1w$$cjbgfC6uJAA1gw!`%!(iU0) ztw33U?PRPu+EC~3HtwRg-*&KUqR(grv;tZIt$eDWH>~QV|1Ic z5k8&mhYI`bQ17$?S^=$qRzNGD70?Q31+)TM0j+>mKr5gXxCRwa|J&E` z&wu}4yoHcIz&GF>@HTiIyb4|d%fJFNU?&&`=WizDJMbxZ4IBs0fJv|eYyv-SCu9Y@ z1-ifluWTb^3kYu_d`67nTD34E|0)WM%O5^@fl1s{Ny0S6C)-GG8^;NlI0 z{0zPVZ-Op(3|tr{V_Kz>DB{@Hp57c7O|;(GK1RC&4lB z6xaQJWK|sIgII)_3BDZ3Gq2r`|-+bD>a;mj*O8Ma>v!42{h-J|Slvh(3@mK~O zgwoe;BxeePDyW<pZ@$y?dq84k>FnEqrmsvq1V#*L}n@eHSj)<5`oq)#N69LYkaS?64YJ?TeyN3mj z>s6D!Br|QN{T7sIU-p=a%P3VUo6vm`^H<(w81Chksv<1mwUSlRmNJYd%t0^Z!PM;C z$AU+!z7V$h7FD`X*3BXnVWbOLE!P2gL^byUP>HG3`9De|{KYs7EI?7|^5P;GXBP znvQDG&}$e8o6j?(p={P_W6g6X-dk%D@F-kd%by{cwMJ)#&7vd=m*dD%CzkXT%beu} zr-DN2L{L{<=0r?aUE)Mc8_t_)fiW;;!X3&DNvEqS5tRuxT5J6m#Z10R3wKCz`({tu z%%sX9d-Nq1f4_`@Fi907P-FCY$I}8;2lorNU%50(!ptg_dDKb)p21SA^0j&#^QbS_ zqOvF&WW%U7=uJ
- + +
+
@@ -40,6 +42,9 @@ + + +