From 45622ee2a9ba0e48a037014effc0d9b770fbbfbb Mon Sep 17 00:00:00 2001 From: didier amyot Date: Sun, 14 Feb 2016 10:46:03 -0500 Subject: [PATCH 1/3] started to implement the member section --- data/players.yaml | 289 +++++++++++++++++++++++++++++++ script/teams.js | 10 +- script/views/confidentialPage.js | 210 +++++++++++++++++++++- 3 files changed, 500 insertions(+), 9 deletions(-) create mode 100644 data/players.yaml diff --git a/data/players.yaml b/data/players.yaml new file mode 100644 index 0000000..89b6c5c --- /dev/null +++ b/data/players.yaml @@ -0,0 +1,289 @@ +--- +- + email: fleet80@hickle.org + name: "Delle Emmerich" + score: 2 + team: rouge + tel: 613-805-2793x858 +- + email: qschamberger@yahoo.com + name: "Susie Quitzon MD" + score: 3 + team: rouge + tel: 1-332-714-0777x97469 +- + email: kianna90@yahoo.com + name: "Johnathan Leuschke" + score: 5 + team: jaune + tel: 974-275-2040 +- + email: susannah.grant@hotmail.com + name: "Dr. Wendell Sporer" + score: 3 + team: rouge + tel: 04691879363 +- + email: millicent46@adams.info + name: "Emile Powlowski II" + score: 1 + team: bleu + tel: 1-449-950-7363x2633 +- + email: cormier.codi@hotmail.com + name: "Gardner Willms" + score: 2 + team: bleu + tel: 625-516-1325 +- + email: kamryn.kovacek@gmail.com + name: "Aliya Vandervort" + score: 4 + team: rouge + tel: "250.915.3706" +- + email: marian97@beahan.org + name: "Gaige Kautzer" + score: 2 + team: gris + tel: "298.694.0319" +- + email: patsy.kerluke@satterfieldberge.com + name: "Orilla Brakus" + score: 5 + team: rouge + tel: (506)015-3098x8355 +- + email: alpha30@connelly.com + name: "Dr. Thurman O'Hara" + score: 5 + team: bleu + tel: 07469452414 +- + email: thompson.willene@gmail.com + name: "Rachael Medhurst DDS" + score: 2 + team: rouge + tel: 1-602-031-0376 +- + email: inader@kunze.info + name: "Mr. Ingram Thompson" + score: 2 + team: rouge + tel: (109)873-9483x211 +- + email: desiree.harris@gmail.com + name: "Dr. Saul Streich Jr." + score: 5 + team: gris + tel: 1-249-486-6759x84328 +- + email: samir83@hills.com + name: "Kimberley Kihn" + score: 5 + team: jaune + tel: 304.586.6687x3262 +- + email: egrady@emmerichpadberg.com + name: "Arra Boyer" + score: 3 + team: gris + tel: "485.730.8331" +- + email: bgoodwin@gmail.com + name: "Miss Kaylan Robel DVM" + score: 4 + team: gris + tel: "321.945.7155" +- + email: angelic86@homenick.com + name: "Kyson Ruecker" + score: 4 + team: bleu + tel: 1-017-690-5278 +- + email: val.sawayn@gmail.com + name: "Shaun Goodwin" + score: 3 + team: jaune + tel: (271)085-2639x251 +- + email: kya.wunsch@gmail.com + name: "Mr. Denzell Casper" + score: 2 + team: bleu + tel: 948-754-1786x17035 +- + email: delmus18@stoltenberg.org + name: "Bluford Marvin Jr." + score: 2 + team: jaune + tel: (268)984-3065x3634 +- + email: kihn.zackery@gmail.com + name: "Lucio Kub" + score: 2 + team: jaune + tel: 185-942-2355x8756 +- + email: jade24@aufderharkuhic.com + name: "Mr. Justice Pollich DVM" + score: 1 + team: bleu + tel: 1-918-319-1713 +- + email: vgoyette@hotmail.com + name: "Bose Ankunding" + score: 4 + team: gris + tel: "265.582.6145" +- + email: raltenwerth@lueilwitz.com + name: "Harlen Harber" + score: 1 + team: jaune + tel: (081)424-2803 +- + email: thiel.bode@reynolds.info + name: "Linnie Abshire" + score: 1 + team: rouge + tel: 1-809-325-8148x5271 +- + email: istracke@lueilwitz.com + name: "Mr. Juwan Zemlak" + score: 5 + team: jaune + tel: 982.535.6849x5299 +- + email: boysie44@hartmanngraham.com + name: "Mr. Tahj Bernhard" + score: 1 + team: rouge + tel: +57(9)5038029147 +- + email: harm91@dare.net + name: "Dr. Lyle Lakin PhD" + score: 4 + team: bleu + tel: 079-078-9724 +- + email: prosacco.dolphus@dickens.com + name: "Bertram Schuster" + score: 4 + team: gris + tel: (917)409-8168x00826 +- + email: elian04@stroman.com + name: "Viviana Howell" + score: 5 + team: rouge + tel: 1-414-103-3954x02444 +- + email: hakim08@hotmail.com + name: "Marques Goodwin" + score: 1 + team: rouge + tel: (649)195-3556x81548 +- + email: nigel.kilback@gmail.com + name: "Rayfield Lubowitz" + score: 2 + team: bleu + tel: (231)457-7181 +- + email: rogahn.tollie@lehnerwillms.com + name: "Miss Luz Altenwerth" + score: 3 + team: gris + tel: 00248382520 +- + email: reilly.velia@hansenhegmann.com + name: "Lilly Brekke" + score: 1 + team: rouge + tel: 006.284.1261x54374 +- + email: batz.dessa@rippin.org + name: "Jay Aufderhar" + score: 3 + team: rouge + tel: 960-144-7624x406 +- + email: garth.barton@kerluke.com + name: "Ms. Contina Pfeffer DDS" + score: 5 + team: jaune + tel: (352)043-9218x9064 +- + email: mmcglynn@gusikowski.com + name: "Robyn Lakin" + score: 1 + team: bleu + tel: 667-492-9674x3911 +- + email: breinger@yahoo.com + name: "Latonia Kuhlman" + score: 2 + team: bleu + tel: 404.860.5529x107 +- + email: jamarion.sipes@gmail.com + name: "Dr. Camryn Goyette" + score: 4 + team: bleu + tel: 648-481-0991x380 +- + email: consuelo37@gmail.com + name: "Khloe Altenwerth" + score: 4 + team: gris + tel: 1-480-994-8256x873 +- + email: icie.kohler@murphyrohan.com + name: "Pearl Dicki" + score: 1 + team: rouge + tel: +04(3)0376370559 +- + email: miya43@yahoo.com + name: "Christoper Botsford" + score: 2 + team: gris + tel: (731)031-5128x77337 +- + email: xschmidt@yahoo.com + name: "Lauren Bins" + score: 1 + team: gris + tel: (503)215-2332x77244 +- + email: rempel.earley@waelchi.net + name: "Sigmund Stroman" + score: 4 + team: rouge + tel: (719)103-8927x0887 +- + email: gustav.graham@kihn.com + name: "Brook Nolan" + score: 2 + team: gris + tel: "642.931.3403" +- + email: hettinger.emit@cartwright.com + name: "Mr. Gaston Bartell" + score: 5 + team: jaune + tel: "00536147705" +- + email: tlittle@marquardtfunk.info + name: "Ansel Schimmel" + score: 3 + team: bleu + tel: (432)161-1237 +- + email: blangosh@hotmail.com + name: "Kiefer Funk" + score: 3 + team: rouge + tel: 224-921-0391x3813 diff --git a/script/teams.js b/script/teams.js index da7bb25..0ccb268 100644 --- a/script/teams.js +++ b/script/teams.js @@ -3,17 +3,19 @@ define(['m', '_'], function (m, _) { teams.getTeamColor = function(teamName){ if(teamName == 'jaune'){ - return 'yellow'; + return '#FF0'; } if(teamName == 'rouge'){ - return 'red'; + return '#F00'; } if(teamName == 'bleu'){ - return 'bleu'; + return '#00F'; } if(teamName == 'gris'){ - return 'grey'; + return '#808080'; } + + return undefined; }; return teams; diff --git a/script/views/confidentialPage.js b/script/views/confidentialPage.js index f421559..16b222d 100644 --- a/script/views/confidentialPage.js +++ b/script/views/confidentialPage.js @@ -1,20 +1,220 @@ -define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], function (m, _ , util, resultParser, topNavBar, footer) { +define(['m', '_', 'teams', 'views/topNavBar', 'views/footer'], function (m, _ , teams, topNavBar, footer) { - var rulesPageBody = {}; + var confidentialSelection = {}; - rulesPageBody.view = function(){ - return m('h1', 'En construction'); + + confidentialSelection.toggleTeam = function(teamId, activatedTeams){ + return function(isActive){ + if(isActive){ + activatedTeams().push(teamId); + return; + } + activatedTeams(_.difference(activatedTeams(), [teamId])); + }; }; + confidentialSelection.teamInput = function(teamName, teamId, activatedTeams){ + var checked = _.includes(activatedTeams(), teamId) ? '[checked=]' : ''; + var callback = confidentialSelection.toggleTeam(teamId, activatedTeams); + return m('label.uk-width-1-5', + m('input[type=checkbox]' + checked, {onchange: m.withAttr("checked", callback)}), teamName); + }; + + confidentialSelection.scoreInput = function(score, activatedScores){ + var checked = _.includes(activatedScores(), score) ? '[checked=]' : ''; + var callback = confidentialSelection.toggleTeam(score, activatedScores); + return m('label.uk-width-1-5', + m('input[type=checkbox]' + checked, {onchange: m.withAttr("checked", callback)}), score); + }; + + confidentialSelection.chooseTeams = function(model){ + return m('form.uk-grid', + m('div.uk-width-1-6', m('label', m('b', 'Équipes'))), + m('div.uk-width-5-6', + m('div.uk-grid', [ + confidentialSelection.teamInput('Bleu', 'bleu', model.activatedTeams), + confidentialSelection.teamInput('Rouge', 'rouge', model.activatedTeams), + confidentialSelection.teamInput('Jaune', 'jaune', model.activatedTeams), + confidentialSelection.teamInput('Gris', 'gris', model.activatedTeams), + ])) + ); + }; + + confidentialSelection.chooseScore = function(model){ + return m('form.uk-grid', + m('div.uk-width-1-6', m('label', m('b', 'Score'))), + m('div.uk-width-5-6', + m('div.uk-grid', [ + confidentialSelection.scoreInput(1, model.activatedScores), + confidentialSelection.scoreInput(2, model.activatedScores), + confidentialSelection.scoreInput(3, model.activatedScores), + confidentialSelection.scoreInput(4, model.activatedScores), + confidentialSelection.scoreInput(5, model.activatedScores) + ])) + ); + }; + + confidentialSelection.controller = function(model){ + return model; + }; + + confidentialSelection.view = function(model){ + return m('div.uk-grid', [ + m('div.uk-width-1-2', confidentialSelection.chooseTeams(model)), + m('div.uk-width-1-2', confidentialSelection.chooseScore(model)) + ]); + }; + + + var confidentialTable = {}; + + confidentialTable.controller = function(model){ + var players = m.prop([]); + var ctrl = {}; + ctrl.model = model; + ctrl.players = m.request({method: "GET", url: "api/players.json"}).then(players); + return ctrl; + }; + + confidentialTable.arrows = function(){ + var style = { + display: 'inline-block', + 'line-height': '0.5em', + 'margin-right': '1em', + 'font-size': '0.7em' + }; + return m('span', {style: style}, + m('i.fa.fa-chevron-up'), + m('br'), + m('i.fa.fa-chevron-down') + ); + }; + + confidentialTable.tableHeader = function(){ + return m('thead', + m('tr', [ + m('th', confidentialTable.arrows(), 'Équipe'), + m('th', confidentialTable.arrows(), 'Nom'), + m('th', 'Courriel'), + m('th', 'Téléphone'), + m('th', confidentialTable.arrows(), 'Cote') + ])); + }; + + confidentialTable.getPlayerTeamIcon = function(player){ + var background = teams.getTeamColor(player.team); + var style = {width: '20px', height: '20px', 'background-color': background}; + return m('div', {style: style}, m.trust(' ')); + }; + + confidentialTable.playerRow = function(player){ + return m('tr',[ + m('td', confidentialTable.getPlayerTeamIcon(player)), + m('td', player.name), + m('td', player.email), + m('td', player.tel), + m('td', player.score) + ]); + }; + + confidentialTable.onlyPlayerOfTeam = function(visibleTeam){ + return function(player){ + return _.includes(visibleTeam, player.team); + }; + }; + + confidentialTable.onlyPlayerOfScore = function(visibleScores){ + return function(player){ + return _.includes(visibleScores, player.score); + }; + }; + + confidentialTable.tableBody = function(players, visibleTeam, activatedScores){ + return m('tbody', + _(players) + .filter(confidentialTable.onlyPlayerOfTeam(visibleTeam)) + .filter(confidentialTable.onlyPlayerOfScore(activatedScores)) + .map(confidentialTable.playerRow).value() + ); + }; + + confidentialTable.view = function(ctrl){ + return m('table.uk-table.uk-table-hover.uk-table-striped', + confidentialTable.tableHeader(), + confidentialTable.tableBody(ctrl.players(), + ctrl.model.activatedTeams(), + ctrl.model.activatedScores() + ) + ); + }; + + var testComponent2 = {}; + + testComponent2.controller = function(){ + var counter = m.prop(0); + return {counter: counter, plusplus: function(){ + counter(counter() + 1); + }}; + }; + + testComponent2.view = function(ctrl){ + return m('button', {onclick: ctrl.plusplus}, "test component 2 " + ctrl.counter()); + }; + + var testComponent = {}; + + testComponent.controller = function(){ + var counter = m.prop(0); + return {counter: counter, plusplus: function(){ + counter(counter() + 1); + }}; + }; + + testComponent.view = function(ctrl){ + return m('div', [ + m('button', {onclick: ctrl.plusplus}, "test component " + ctrl.counter()), + m.component(testComponent2)]); + }; + + + + var confidentialPageBody = {}; + + confidentialPageBody.controller = function(model){ + model.activatedTeams = m.prop(['bleu', 'rouge', 'jaune', 'gris']); + model.activatedScores = m.prop([1, 2, 3, 4, 5]); + return model; + }; + + confidentialPageBody.view = function(model){ + return m('div', [ + m.component(confidentialSelection, model), + m.component(confidentialTable, model), + m.component(testComponent) + + ]); + }; + + + + + var confidentialPage = {}; + confidentialPage.view = function(){ return [ m.component(topNavBar), - m.component(rulesPageBody), + m('div.uk-grid.uk-margin-top.uk-margin-bottom', + m('div.uk-width-large-3-5.uk-width-small-1-1.uk-container-center',[ + m.component(confidentialPageBody, {}) + ])), m.component(footer) ]; }; + return confidentialPage; + + }); From f2ad5aced86767d2dd4c5694db4018ba0dbb0630 Mon Sep 17 00:00:00 2001 From: didier amyot Date: Mon, 15 Feb 2016 20:32:25 -0500 Subject: [PATCH 2/3] changed css --- data/resultats.yaml | 4 ++-- images/logosansfond.JPG | Bin 0 -> 47224 bytes script/views/mainPage.js | 2 +- script/views/rulesPage.js | 37 ++++++++++++++++++++++++++----------- scss/_custom_uikit.scss | 11 +++++++++++ 5 files changed, 40 insertions(+), 14 deletions(-) create mode 100644 images/logosansfond.JPG diff --git a/data/resultats.yaml b/data/resultats.yaml index e241bca..11318fd 100644 --- a/data/resultats.yaml +++ b/data/resultats.yaml @@ -43,8 +43,8 @@ time: "20:30" home: gris away: rouge - home_points: ~ - away_points: ~ + home_points: 8 + away_points: 10 - date: 2016/06/23 # year/month/day diff --git a/images/logosansfond.JPG b/images/logosansfond.JPG new file mode 100644 index 0000000000000000000000000000000000000000..b250744abe40b2e212ae6fc1e0084b781c0f511b GIT binary patch literal 47224 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 >U4+SXzDl+I#^9!CTDJ8UBg>Y$_?$l0LY}>4&GM z%t4veU;1XvyL;+j{)}6V&Sw-I`deLi><_sw*|hcD)%<8hyTgL#-hFt_{d;>>!O}w( z{vD0)85`_MlTx09vTw1>&<-?wd|K?rI`S|9J^Lv?^(@)0Gu z^AFu-QXMgI)Vf`mlGcGA0@oh36mONLMo4V;{(q?{tr@q6wn=VE8bLZ}f^(r!MS@Uk;zT>Ah-k#LD zKhR$G#x-r0a@|giZqr6pN6o^BpavFk&OnQUH@I%*u2+1mq8_kmi=LH;NYuL@?Hu>p zKm4%@Z_3#Ht*7driu48f)H9E6lxv^-cXIvtU-etg`sTJ>N;9~6vrix>Y~S09AHz88 z4SaKV-Fq}UZQ?HPa1-}1_L<5I;m=oWtX^@}{AU3B%Ru=(zgreBQM>3(tg#$^T%8SG8ZeE83hP~RJR;rdb!XH(7B zJ8RNh-l_V{$rF#v^P5wD&+?@5N#zOhT=Q;+9t*iq_Uy+~n<=>y<~((OpgAR*^;%7$ z*_$7i%j$n@VoTX$GvU5Lo%K5owngVw7#*u%v{|Bh`p6Q;R@sx=*=6zcv|4=UF zy5vS@zVG3c=TFbv_}l2(8rA*oGOwRF9ACJW>+;fAv!iaCoXSpSN63CT{vqA>tNjGo zbAL8(kX$G9#`jjD&Do7B-dG>-&aPz5eEjG1t95%mf3R82I_rX;cz$f^*DHL_(la)# zxV`+&jE&o~zJ(pSG37}6lqI{5%uz3$P&8>xgYloYyYz~qZr$1K`mCluugAaSR?NHO z0-rSx2Hwt@wdrMc%C5uUtk?OC`#N8+JFt3Q+Ww~{)upoe z!nJY+In}2+4&B9Kap6!c3$T({p&$`_Mv-5RYHlP;lt zx>F_n>zb_dbyMZt4;tR~E{`_O-g+l-#~P8PDh$QF{Vf8OGAq)yXD!c)JGW-mr1D#O z)iK=DEPPH^-#xv`@3wFgzfPXk?5y`}Di?S7rB$Xm%@4j_+3I_~T}$aq&Qo8b$1gpD z_H;5%I(8Ib#wv0>rQ$sa$x+*|ZjMATxoX2SE1V`A3Hx3&kghtE$+ zcy7x-^Plsd*G{|6W~rncPv^|t@?l9;_z8iC%V8m|ISel)3!TrOnqU#L^W3}3ljgjS zSXcicvWidnNTq+-@2tG_(^C~Rm%M)@(>_;q$L-ut`3x>X)zd;JOg&wi@#ycRMfP4B z@2jg_Wi@+o{O`iE)7-t9(;Gbf9MxBTUXg*1lzwf?l{k(r$1NLRkxO7kdelB;GU;U4x(>2479{bPGd1#-~ z7W28z8Nq#PH5{HTm0^r`WJ$@>n)Q{h-RN`F#LgaV-}}kOjdUk1e5H~3Y{e_y6CTI> z0?O1+FnKQd&yeXVBr4`nB(o$zx6?y+t;!dLYZvVf=TG}M@y;}rFLhSk*}wYgZ7!|+ zwz6-7#1zFiWre4@F%qnvKeQ#zuhY&dTM;|Ie)(5TtC)W`XNfhnxpCOKX6&7OkD*!Z z(5HqnsUJ64exKDY{9-AuwdUl-X<_H0ddoKHFd54}`fd4HF~;SOk#_HH-+ODf??TZWmh&g0sDUO>Jp zMbBs2rD=;*_9|IBw5~nznt@#^DEPXB_S3$c(y$%19d*ZE^F>eE;QUVa%EyU)z6n33 z?ogJkHTE$1V`={U$Y#l@?IF@#htKZ6yQQgUY3qi?cXhKKX*nKXX0}+{c(@_FP-oSm z*;}q`sn*}|X6Aa2{cBy=4(WCBs>@~Ol-{0q=bvf*S%+=TY4>xJls!3|J&$ulO<{ai z9;otuUa7gMq0!DqN$G2@csEt7y);RtcF&fD_uM55tz|D66s_0o`>JmG)Jwwp@k39^ z<~WhJyS{RsnD9;j zZ2H+LE0gVM={Jt|-o2^|ezCVQ@-?vW6-;?P%_>>Can{0wcAAUc1cg;Q9 zg#}-JYn_a0>9ly!@_X^KH8qW^#LGY%4j3#a`!3DQKC^qt&F{UQ`E6gOew0slT4KTO z^58=Q`|_D93rljR_xBd8D_?G=7##O*CQB(p!C$^?#p@TEizn3_g>h1}(DO_!g~ef0i&zg+b~Sw4Onb>(?kce5{FOgbf;y5r67_J3)fk2L=t`Q-3} zD?Rjd+n&qcZoWAfdT{yDT@P~1E;VwhG)~pN>ug6^>f>YZI7*nHxW z^cj{Fnw|&crZjI^8T|Ogce!mbDn}Vaf8n+5vuC9Vc$ga|u1CyR+lkvV=`7 zOL-Mk75M7XANl?Ky57Pf#IEwx$%mOUownY75Z9Ed!I5qrC7ERlE zTaYnxA}@obj-(+y+iQAe}=UyPfd8buF~^_qjgni>y3|J zS?3naKd4f{`6ByNyc}DbjCxPegfC}5ShOtkI#;$z^=+$L+TH5yqMnm&`A(J2vlp8E z-bhBSK~v#R|I8Idc2~BZi=8@Ut5QK4(v2_j#jY$}e!q}i;=p;ns-DWQzqYK~UTW+-Byh-SSIqJ|TNZzN++1@-&zMVE zchZ7sL2D)z+1?TTs4ZPsmA1X2Fpy7LaN;|oThaapctVSPzSXB(7MgBmlyYjvS{bg{ zrjK49wTraopCFpEZfWTE?9R^H9nVApU89w`G!{)n!9U!x-->ijExW!#qIKED<+D>) zigRy#;3VVcoWYWMzOR6N-Cylq~DUg{W0{t!N#-dKjjwf zoVzeFu+jA8bZh_Vov&-(y=7N*7ge&zI+`7FeB(XA2kht1?TCC>eoiZ;cedY?c}=UL zwg)@SEfRYg8@YY=_JVk~C<~h@YaZI$?tEvsUv1UtxjWDHIY_)v`O#VS*f8kc$)Ixw zzKB+BapE--TX<@vnf9WDvuSJ#5~7z{I7L;u8{W6I5WnzCM!q+CtB&@O)lQFZtn+c2 zutenJuJdxmPl_Mf?Xc(Cc$r1>R>1qCr;@GqCC^<_wpQw-WR}^FY@I^&2@FrK{wjJX z%P0IiIw{~b&$h#!9JyOs6qP41Byb%o(NVs6Zt)CLmrxfYXTZ1?V4O0gSN9{On6ojNP! zrGsXhWN^2q+z00A=clIJopJEWc4?QL8}$2}5|=yY7`(E67TP$KN8<_Ol%8fk>&(3! zv#LxNZsq%wJtvR3e#%ida=Rbuv0DRJ6Z- z8k;A+J9O`bE4Qb3ywjc}Td861l$CY2{>{IyJ}n-)gf+2fNv*#?kICazSIJGIa=c%OUG!$?3zqE}zZdPy?r&@6PukVxQ?GpmqoGG`=S#n2E`P!~dxvf*am9KpIidX$@{`A^))=Q^* zD=<7{5Lht3L`EZh+Jnp7=@|uj+f$<++AH4doqW%1M;5Dug-y)H=2*cs0bWxrWqzHh zJ$XRk^DM)OG1HZE&xYlNm#@7rXWFkj!M;sPe_P9Vc`&OyuJTU0I_+-Q<9!EGPi0PG z?%UNTqB3!Ufyc?)3s&8Z+oL+s^S39jWZ!bH`Ra0{xdz9tGYhEX0bx?EZ0@i4WFk)Z(F`K^IOF`qumSq7`#Ll z`A<7EOZVg^-K7OVcPhR80%m$X;D-N{}})3yms=lJvT!|JbW%cIs8>BLnY{AWLtO}%I3RJ-$AP0xK_tuK&& zscWgbqjTZJhnY57n#G4K-yhz2@_ATn=z^SIizK~fxkMrf1T??|B zO3Jf8talJ`nH99%uV9Wm^L&|{^_`+yKChemCUDxVZ!GmY=WRT~W%gqR@438%7cadH zi}hG~YRl1CcaDYJ+7#=Ze%Gu2;r+Wd+m2~hT%I-W^2)?cvz3{Z%J&^_=FV4Dd1rr3 zYw{hpD|1)GJU*2vq!_*SWY4x~bC#?<$}0Rt;%8N8(dV0`w@#KPJztc%t5x^Fycau! zmNDL$r&Qx{d*aC-SJ!3lU@bm$9_aPZ=yZp5Dm$bf)Dt{*~{&$YAbJr2OZiL zySK~q>h1=I!>4mMwG^f_3D2*{F_+HYRyq6VBdL%ne%-r7EZXc_!*f&l{ycr*uGdy{ zJ*xbd>+&bIf=5kNwgf!PnGiBRrdXP%Z>#zyS*N4-y_Q{B7AW^P{YWOy0+uFw?gqZD zgXdS+P38aPv%5r&<88Ie_kZt9iho?I`7_CK@`Vt;^SVj$ncGcVCM>_P{nqSG(+39A zQ+3aMn7d7dPx0lP@aWBJbqvyUy*|ubf6-O+^2|gWHvy~WhriUQI&?|#MAVH5rw(6K z-BR$R++9`WKZD?(4{rV?MP>8nv2E=658s$RCz+ZuU5DI)*83DcZH#_esmUdw zAW+#Ha@#A);8JF?;;HlJr_1JCx{=2t>o1n<*Qc_X@5;*w&)@W{Ztq_9phoNL&G+dZ zuIq9y2RnLSUgz9?^XU?uP3H|JZ;)|MDwAnDv^8zv(Zm>^W0_kk7c$6S+N~+MG(@$! z^L4}-gEUurmpGHte2e|c!>g4V-{+VsA7QGT_ww+GpUm5yyvq!o_GR0AgD-!!OH8_X zcvjJuMeTyy)nqI!Zp^7@UzD9yxZZ1Bmak&!m5%eM!zX%}vXr7Me>1zj&ao zvV^aK*_x?vg3U_T(;ly~T|(UxbFy}O+&Q%CfrrQaJLMDY_nu~Entc2H#RXp9B+4Vr zJTv6~s0XM_Yxief@`PVs?DyN4(H+*@i@vUpR|6b<{=Wd+q z`0nkg#~PVh=Pdj<)r$&jzKho8M`zw{3b-sB@cW&`v?Fm$vRdjA4-{nkjW4r&S=St7 z&z^mEm5bqjh8gMaZz!MdR91eb73{hBuFBTJzK)<2(|Md4ULjjj5+24JP1|)&h3V+i z(=tm}>`-s{Jn!DDQ+m9PTDHH}>ONV*e`wMK&!20;yl<&Z4V@HlRV-aprrl|t7oUZg z|GxQ7evhxM-~QKDFZP+~tLp{dqFc(kZTJ@VE*J2$QArWp`OKz$s`9>@rEbgnx>LU1 zUU*20tFrLgc9Cc146KZebN@}9@0+ml>fxUH3HE*aPNsIndMMXTI=$?j_U@NIjPH1O z_iqu|U|CpX@$>SwqYm2~l5Xesa~XL>CT_UJXlWr=a&lutjoP8$DLYaaXHG4l5Md!uF-3eFvPE9ydvMW`U^*WPdc-`d2dFc%EC$3$#G4K4_X}{0y zzjEj)m(7xPnW&)8iHRz^D%18}-Y<3Q{T1hRT#crhv-*x)61#kTb#`_TpU}?SCG%IV zdA(tK*P^%^4{vg(R(^iOE&uIW+g!zE6X#_9PCuud{-f*cZqfXkdB55;ZCqt=eOf?w;T(;r8zygf5)s=Z97*j|Bp(0qf9T&zEt+^+0m*w zzXK+SJr3l^Sg9dtlRodkC$<@7t4@}0UOkav(ydu>_y4*y{}PV3)}Jv`c5d{KJD$O; z$F3FGSVV2$KhgD}V6K9Waq}Oyzwa1ds=Z>{cjIDklaR%dgFzQ2KMS1r>(Pqb7rVFXsVjyYOdNM8%7&RW`AEvoQ`f1#dYWJB&j zK@r*Tm0L`v9Jo>#GoAUa^OBD;b*Fx6KPdkZx_r~_C7A~6HYlw(eC!iE@t_|^=9ww| zD@=1IirHKfmkZ|Icj}nP?M^PwpHkt=zvOQByQgw~+uCOr75A~aX|XaF6j}ZJ`a1A$ zs(HwP_1rQ=PYU0>yjFc@m%+gkzmDwP7#(Qrb7aZ{o@FX6W)qB-w!R5s51ugj(`vq+ zU2$reD|&r5pX$|}#>Bm8LyLvO0gLlue``#h#k?-v-{$iC@unaSue%D`>@#GmN>*@P z33|5VZ*NxR7skn2;dhKCKA&XK@q=rpZu*kY!>89Y2CR!Vp4;rP=yb{K(yE$HL*E^`@v}Q!J78WlRnDw+)3HIT-R22S`WL3&9wLPoeytZ>$!N- z<)i5j>gp~{+ZmFWwEO7&TWK8TJN07IR{Xs;chjT*{(rmYoRChDVLac`Rm$!hYbu?y zI&{Y!?dS-d2;JkYQ&jSpSIPa9&M`Z2d!E+Ii+BFK z{Os1crBx;CZ`D?Po*8-Cr+>@3^IQ?FwU-M*raw?I`Qwqvspl>~(L%YS#+-c}!>Xst zqs`8QCwgDKkbFGj$ECL$FMX;{XN`FDqVQ3YcYoAceb&r4>`Z1UU@A*WHoH@~c4sr)?c^k}=OvN=_u zVS&-_-2O9YnwG`6B@33i=>6W29whO;<)fDDC(F!?FM2XOzfvw=dmiJQS$R97c9M~N z+lxXixnzs8ad~DD;%45)4~|c{|D<-o#$R14PrO<0A%PgvJzisAj}B`X)PFSx_F zT|s+xdCIllD}VMMv!A)pG-uEAw)GPnIV=5+hfjX1DZkFpSNT-8O5#dh3%+}-%^uSi zm&WLc+}_%CFO~V%>K+rD&=<>X--MX!-a6SXwz8_+@6K$74;_7L+eJUex&L||$)95N z@9saN_g7awS3mXUyRY{=^_{Fo&Tw(_FLQ2;ah~{nM0 z;O^dA>hjw%qK|~Aq(}(2G}Zi3=+~Pn^J-gjBcIc?4+n3oypiZBA2aLgmtB)LGZlWE z$DJkJx$uPZ=|s=IS5YOOq9z_=KdrRlo8GynFL$4wu3h_QED)Z1{063(JSQodp~1q`t<({c{>+x;r4LnyuMofv)+Z`UuvDMUz^0&Z}_Kh zGg@Z;o=Zyi94W(9Z@vj|S^dE@S6n<-Lvx}>I*wRZA7jiUGRh0ZUJb_L80 zx-~7R!|G9*8CRZym;Yf2Q`O@4LLw7|onlp$S1pebI{8Z|%X9fvjfXyspXNzxSQ~yj^zr!yB@9cB3llc2(l9j=wslOhJY+RkUrS{1x({A6} zQ3@%ZQTIyisuwf-v5%V3E51r?p~ueG<`*vYRqxITao4n@KcU-XcK-VH z`+R-K>QfaH?H)}F`O$R8`#Q_oOrE*Etoah}vc#XAIObw4QuJu*hlmsZ z8D@lTGEd!=9GT@WC$k%yi>n>{)hsHgR zo5Epxth(bspNm=V=GWJ@h#0<%y>NbMN%o>$-vjrYId}HV(QUVFv}00^H}ZCzSw1;u zn}A)@OvU+L@7h*x3Sf;^wp_UCl@M#~BGh3gETsarQp08nbIcS_NujuMzSomwwwjF$ z*C#c4bc-BcS{zdEl@+y~b(Tv|@~`m8@|R{!%RZSlQB>mJ)Q15VHb2hQ`q6Va@A0L+ z$CoCGEK?Gk$98GX=L1Kp1^;T!FMR1<_|l`hrQYkC@~>cqqg6b=f>apgFYQ{|?=?$u zec~#YwrRH7n<7^-GK4Q+SmNiIwTp!@Zp9Mxi6(OS{xd`h`n5EcIJZ;=9 Date: Mon, 15 Feb 2016 21:36:20 -0500 Subject: [PATCH 3/3] ui ui ui --- script/main.js | 5 ++-- script/views/contactPage.js | 56 ++++++++++++++++++++++++++++++++++--- script/views/loginPage.js | 43 ++++++++++++++++++++++++++++ script/views/photosPage.js | 8 +++++- script/views/rulesPage.js | 15 ++++------ scss/_custom_uikit.scss | 3 ++ 6 files changed, 114 insertions(+), 16 deletions(-) create mode 100644 script/views/loginPage.js diff --git a/script/main.js b/script/main.js index 2fcede9..e9554e6 100644 --- a/script/main.js +++ b/script/main.js @@ -7,7 +7,7 @@ requirejs.config({ }); -requirejs(['m', 'views/mainPage', 'views/calendarPage', 'views/rulesPage', 'views/photosPage', 'views/confidentialPage', 'views/contactPage'], function(m, mainPage, calendarPage, rulesPage, photosPage, confidentialPage, contactPage){ +requirejs(['m', 'views/mainPage', 'views/calendarPage', 'views/rulesPage', 'views/photosPage', 'views/confidentialPage', 'views/contactPage', 'views/loginPage',], function(m, mainPage, calendarPage, rulesPage, photosPage, confidentialPage, contactPage, loginPage){ m.route.mode = "hash"; m.route(document.body, "/", { "/": mainPage, @@ -15,6 +15,7 @@ requirejs(['m', 'views/mainPage', 'views/calendarPage', 'views/rulesPage', 'view "/reglement": rulesPage, "/photos": photosPage, "/membre": confidentialPage, - "/contact": contactPage + "/contact": contactPage, + "/login": loginPage }); }); diff --git a/script/views/contactPage.js b/script/views/contactPage.js index 3c0cdf6..5fb68b6 100644 --- a/script/views/contactPage.js +++ b/script/views/contactPage.js @@ -1,9 +1,57 @@ define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], function (m, _ , util, resultParser, topNavBar, footer) { - var rulesPageBody = {}; + var contactBody = {}; - rulesPageBody.view = function(){ - return m('h1', 'En construction'); + contactBody.logo = function(){ + var style = 'height: 250px; width: 250px; background-size: 250px; background-image: url(images/logosansfond.JPG);'; + return m('div.uk-cover-background.uk-container-center', {style: style}); + }; + + contactBody.logoLine = function(){ + return m('div.uk-grid.uk-margin', + m('div.uk-width-1-1', contactBody.logo())); + }; + + contactBody.email = function(){ + return m('a[href=mailto:info@ballephenix.com]', 'info@ballephenix.com'); + }; + + contactBody.tel = function(){ + return ' (514) 544-8976'; + }; + + contactBody.address = function(){ + return m('p', ' 123 rue Dufresne', m('br'), 'Montréal, Québec H6Y 8U7'); + }; + + contactBody.contact = function(){ + return m('div.div.uk-panel.uk-panel-box.uk-panel-box-secondary.uk-width-large-1-3.uk-container-center.uk-margin',[ + m('table.uk-table', + m('tr', + m('td.uk-text-right', m('i.fa.fa-desktop')), + m('td', contactBody.email()) + ), + m('tr', + m('td.uk-text-right', m('i.fa.fa-phone')), + m('td', contactBody.tel()) + ), + m('tr', + m('td.uk-text-right', m('i.fa.fa-envelope')), + m('td', contactBody.address()) + ) + ) + // m('div', m('i.fa.fa-desktop'), ), + // m('div', m('i.fa.fa-phone'), contactBody.tel()), + // m('div', m('i.fa.fa-envelope'), contactBody.address()) + ]); + + }; + + contactBody.view = function(){ + return m('div', [ + contactBody.logoLine(), + contactBody.contact() + ]); }; var contactPage = {}; @@ -11,7 +59,7 @@ define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], fu contactPage.view = function(){ return [ m.component(topNavBar), - m.component(rulesPageBody), + m.component(contactBody), m.component(footer) ]; }; diff --git a/script/views/loginPage.js b/script/views/loginPage.js new file mode 100644 index 0000000..e0fda7f --- /dev/null +++ b/script/views/loginPage.js @@ -0,0 +1,43 @@ +define(['m', '_', 'util', 'views/topNavBar', 'views/footer'], function (m, _ , util, topNavBar, footer) { + + var loginComponent = {}; + + loginComponent.logo = function(){ + var style = 'height: 250px; width: 250px; background-size: 250px; background-image: url(images/logosansfond.JPG);'; + return m('div.uk-cover-background.uk-container-center', {style: style}); + }; + + loginComponent.logoLine = function(){ + return m('div.uk-grid.uk-margin', + m('div.uk-width-1-1', loginComponent.logo())); + }; + + loginComponent.loginForm = function(){ + return m('div.uk-panel.uk-panel-box.uk-panel-box-secondary.uk-width-large-1-3.uk-container-center.uk-margin', [ + m('form.uk-text-center', + m('div.uk-form-row', m('label', "Nom d'utilisateur ", m('input[type=text].uk-form-width-small'))), + m('div.uk-form-row', m('label', "Mot de passe ", m('input[type=password].uk-form-width-small'))), + m('div.uk-form-row', m('button.uk-button', m("i.fa.fa-mars-double"), " Pénétrez")) + ) + ]); + }; + + loginComponent.view = function(){ + return m('div', [ + loginComponent.logoLine(), + loginComponent.loginForm() + ]); + }; + + var loginPage = {}; + + loginPage.view = function(){ + return [ + m.component(topNavBar), + m.component(loginComponent), + m.component(footer) + ]; + }; + + return loginPage; +}); diff --git a/script/views/photosPage.js b/script/views/photosPage.js index 21c34d3..47c2206 100644 --- a/script/views/photosPage.js +++ b/script/views/photosPage.js @@ -2,8 +2,14 @@ define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], fu var rulesPageBody = {}; + rulesPageBody.logo = function(){ + var style = 'height: 250px; width: 250px; background-size: 250px; background-image: url(images/logosansfond.JPG);'; + return m('div.uk-cover-background.uk-container-center', {style: style}); + }; + rulesPageBody.view = function(){ - return m('h1', 'En construction'); + return m('div.uk-grid', + m('div.uk-width-1-1', rulesPageBody.logo())); }; var photosPage = {}; diff --git a/script/views/rulesPage.js b/script/views/rulesPage.js index 37d894c..9778bac 100644 --- a/script/views/rulesPage.js +++ b/script/views/rulesPage.js @@ -17,23 +17,20 @@ define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], fu }; rulesPage.rules = function(){ - return m('div.uk-panel.uk-panel-box.uk-panel-box-secondary', [ + return m('div.uk-panel.uk-panel-box.uk-panel-box-secondary.uk-width-large-2-3', [ m('h2', 'Règlements 2016'), m('ul',[ - m('li', m('h3', 'Règlements généraux')), - m('li', m('h3','Règles et procédures')), - m('li', m('h3','Règlements de terrain')), + m('li', m('h3', m('a', 'Règlements généraux'))), + m('li', m('h3', m('a','Règles et procédures'))), + m('li', m('h3', m('a','Règlements de terrain'))), ]) ]); }; rulesPage.logoAndRules = function(){ return m('div.uk-grid.uk-margin',[ - m('div.uk-width-large-1-3', - rulesPage.logo()), - m('div.uk-width-large-2-3', - rulesPage.rules() - ) + m('div.uk-width-large-1-3', rulesPage.logo()), + rulesPage.rules() ] ); }; diff --git a/scss/_custom_uikit.scss b/scss/_custom_uikit.scss index 1adf6b3..f671f8b 100644 --- a/scss/_custom_uikit.scss +++ b/scss/_custom_uikit.scss @@ -12,6 +12,9 @@ $table-striped-background: #fce3ca; $navbar-nav-active-background: #fce3ca; $navbar-nav-hover-background: #fce3ca; $panel-box-secondary-background: #fce3ca; +$badge-background: #fce3ca; +$badge-color: black; +$badge-font-size: 2em; // Defaults @import "uikit/scss/core/base.scss";