Author SHA1 Message Date
didier amyot 6efd4b8afd added y2k22 2022-05-28 13:52:03 -04:00
didier amyot 1e18870715 added basic nix flake file. 2022-05-28 13:18:13 -04:00
didier amyot a65de2a03a Update resultats2021.yaml 2021-07-30 13:35:05 +00:00
didier amyot fb83d95e7e Update resultats2021.yaml 2021-07-23 12:32:32 +00:00
didier amyot b5e1bf6cb0 Update resultats2021.yaml 2021-07-16 01:43:08 +00:00
didier amyot 375c2551fc changed files 2021-06-20 13:06:09 -04:00
didier amyot 0751d3e447 Update resultats2021.yaml 2021-06-16 00:17:41 +00:00
didier amyot 8897e9ac53 Update resultats2021.yaml 2021-06-16 00:14:45 +00:00
didier amyot 1f569b6f3d fixed contacts 2021-06-15 20:04:49 -04:00
didier amyot e18a393c9e fixed facebook link 2021-06-15 18:43:37 -04:00
didier amyot 7d21d5316b more love 2021-06-15 17:25:43 -04:00
didier amyot 548d4c1def added some support for practices 2021-06-15 16:55:21 -04:00
didier amyot 2f7dcdc5d0 added saison 2021 data 2021-06-15 16:18:03 -04:00
didier amyot 80ddf2b010 more love 2021-06-15 12:50:49 -04:00
didier amyot 9cabb7c2cd Given some love to the website 2021-06-15 12:45:21 -04:00
didier amyot 2916077329 Update rulesPage.js 2019-10-28 19:42:22 +00:00
didier amyot 7cfb302634 nkjnfdsk 2019-08-22 08:09:54 -04:00
didier amyot fb4b893e39 jdsk 2019-08-22 08:02:47 -04:00
didier amyot 19b7afa7c5 changed calendar 2019-08-06 15:21:15 -04:00
didier amyot 71e1491683 added more results 2019-08-01 17:14:06 -04:00
didier amyot 093370d199 blah 2019-07-13 09:49:50 -04:00
didier amyot d293b8be06 more points 2019-06-28 16:35:31 -04:00
didier amyot 161e828fe4 balh 2019-06-24 18:28:01 -04:00
didier amyot f84d375785 ajouter les reprises 2019-06-12 17:08:38 -04:00
didier amyot 8074b3679e added new score 2019-06-09 09:41:48 -04:00
didier amyot 75ecc7c346 added new scores 2019-06-03 15:36:00 -04:00
didier amyot 6c81a9aeb1 add rain for todays games 2019-05-16 14:20:21 -04:00
didier amyot 39cde030dd fixed away/home 2019-05-16 09:34:57 -04:00
didier amyot 6da40dfb6e added new game dates 2019-05-13 09:13:08 -04:00
didier amyot e93e54df8e nouvelle nouvelle 2019-04-01 08:09:36 -04:00
didier amyot 63cbf51af8 fixed pdf 2019-03-09 07:30:31 -05:00
didier amyot b634723762 removed unused download button 2019-03-09 07:00:21 -05:00
didier amyot cee0e920c3 Added previous seasons to the web site 2019-03-08 12:15:51 -05:00
didier amyot da7951b1cb fixed inscrition 2019 files 2019-03-05 21:40:54 +00:00
didier amyot 516a9856c1 changed main message 2019-02-20 09:20:32 -05:00
didier amyot 441b617eb1 changed some rules 2019-02-19 12:46:59 -05:00
didier amyot e343cee701 changed rules order 2019-02-17 20:20:14 -05:00
didier amyot fe69c01c10 fixed typo 2019-02-17 20:16:01 -05:00
didier amyot e421930f8b added documents for new commity 2019-02-17 20:10:40 -05:00
didier amyot 17f3103144 typo 2018-08-28 18:56:43 -04:00
didier amyot 3c81297272 added last game 2018-08-28 18:52:57 -04:00
didier amyot 25d2fdb781 Update resultats.yaml 2018-08-24 23:32:46 +00:00
didier amyot 42341dec3e Update resultats.yaml 2018-08-16 00:10:06 +00:00
didier amyot fdfef069cb added new score 2018-08-07 20:50:13 -04:00
didier amyot 8066c990cc new article 2018-07-09 20:19:38 -04:00
didier amyot 6118ae35ee Update resultats.yaml 2018-06-10 13:00:20 +00:00
didier amyot 223932df0a let's encrypt 2018-06-09 09:09:46 -04:00
didier amyot a10d01c8d7 added let's encrypt challenge 2018-06-09 09:02:50 -04:00
didier amyot f04c039e8c Update resultats.yaml 2018-06-05 23:33:44 +00:00
didier amyot 48377dbe9d Update resultats.yaml 2018-06-05 22:56:53 +00:00
didier amyot 8e4eb803d7 more resilient team structure 2018-05-20 17:12:57 -04:00
didier amyot 01bdcbe3b7 je suis saoul 2018-05-19 19:53:04 -04:00
didier amyot 6b2a781378 changed hour of the very first game 2018-05-16 20:41:58 -04:00
didier amyot e5bd620c88 created a 'remplaçants' team 2018-05-13 18:14:19 -04:00
didier amyot 3182c82dba changed team colour 2018-05-13 17:46:12 -04:00
didier amyot 26b09a0941 added evaluation 2018 2018-05-07 20:34:20 -04:00
didier amyot 926c35466d replace team strings 2018-05-04 14:18:34 -04:00
didier amyot 9cec9e101a added 2018 schedule 2018-05-04 14:15:42 -04:00
didier amyot 3d344de012 added enrollement for 2018 2018-03-19 17:40:12 -04:00
didier amyot bb6638ae79 added let's encrypt challenge 2018-03-11 15:39:50 -04:00
didier amyot 2f6b62afef added new article 2017-09-17 11:29:34 -04:00
didier amyot 6015d479fb Update resultats.yaml 2017-08-25 02:50:48 +00:00
didier amyot 9220f4d4a6 new message 2017-08-23 19:13:01 -04:00
didier amyot d8a655bd9b Update resultats.yaml 2017-08-23 01:05:19 +00:00
didier amyot c577d12fc1 oups 2017-08-19 18:48:51 -04:00
didier amyot 42a37856d2 applied richard's comments 2017-08-19 18:42:06 -04:00
didier amyot d085eeb91b Update resultats.yaml 2017-08-19 17:11:23 +00:00
didier amyot f3dcddcbc0 Update resultats.yaml 2017-08-19 17:00:14 +00:00
didier amyot 3dab44623a Update resultats.yaml 2017-08-18 13:43:52 +00:00
didier amyot 44eb09100c added new result 2017-08-09 21:24:48 -04:00
didier amyot deaf5f0fbc boom 2017-08-09 20:59:19 -04:00
didier amyot 9bf4830f7a added basic playoff integration 2017-08-08 22:22:51 -04:00
didier amyot 7be88a2167 Update resultats.yaml 2017-08-01 01:02:14 +00:00
didier amyot 4ef7661371 Update resultats.yaml 2017-07-23 15:25:43 +00:00
didier amyot 8ad11a2a78 trying to fix a prod issue 2017-07-17 22:00:38 -04:00
didier amyot 3d4995e228 Update resultats.yaml 2017-07-18 01:35:27 +00:00
didier amyot a46e4a463e added new scores 2017-07-09 18:00:18 -04:00
didier amyot b9c6612fb1 new results 2017-07-01 08:29:52 -04:00
didier amyot 4af9f56707 walter-stewart!!! 2017-06-20 20:57:25 -04:00
didier amyot 314a816fbd implemented comments and suggestions by marc beaudoin 2017-06-15 20:15:36 -04:00
didier amyot 3caa916d47 Update resultats.yaml 2017-06-05 23:31:10 +00:00
Valerie Andre fff837b103 correction inversion équipe home et away 2017-05-29 20:58:06 -04:00
Valerie Andre f9893f3130 updates dates et ordre des matchs 2017-05-29 20:39:55 -04:00
didier amyot 334c40dead hide unfinished improvments 2017-05-23 22:39:33 -04:00
didier amyot dfefef815b fix rebasing 2017-05-23 22:37:04 -04:00
didier amyot e34b213327 blah blah blah 2017-05-23 22:35:11 -04:00
didier amyot f67080571a stuff 2017-05-23 22:33:30 -04:00
didier amyot 5d630e28f4 added new schedule 2017-05-13 09:58:11 -04:00
didier amyot 337508e72a changed parc to fucking george vernot 2017-05-07 10:07:29 -04:00
didier amyot ae5b3365e2 added season 2017 email 2017-05-06 10:44:36 -04:00
didier amyot 5a0582a37b fixed build.js 2017-04-23 11:28:48 -04:00
didier amyot f711a5876d moved away from bower 2017-04-23 11:19:06 -04:00
didier amyot bb3a616f7c saison retarde 2017-04-23 10:21:57 -04:00
didier amyot 3c9cacd8ea changed dated 2017-03-19 09:28:43 -04:00
didier amyot 378e8ab7cc updated message 2017-03-19 08:56:36 -04:00
didier amyot cc73d82288 oupsi 2017-03-18 16:32:57 -04:00
didier amyot 7fc849842f new season inscrition time! 2017-03-18 09:16:04 -04:00
didier amyot 16d8c290d8 updted game schedule 2017-03-16 20:45:09 -04:00
didier amyot 09a08a3c68 changed parc 2017-03-16 20:05:53 -04:00
didier amyot dd932664e0 updated uikit version 2017-02-19 11:09:55 -05:00
didier amyot d08ffff206 updated last meeting updates 2017-02-19 10:51:47 -05:00
didier amyot da77c69063 Update resultats.yaml 2016-09-13 12:41:01 +00:00
didier amyot a0e5a806ef Update resultats.yaml 2016-09-11 22:48:47 +00:00
didier amyot 2576d75f2f Update resultats.yaml 2016-09-06 13:08:20 +00:00
didier amyot 62a18dbd6d Update resultats.yaml 2016-08-31 13:22:05 +00:00
didier amyot dd089045d2 ended final regular season 2016-08-29 19:40:07 -04:00
didier amyot 450cd26ff0 added new scores 2016-08-19 13:55:32 -04:00
didier amyot 7129c334a6 added new games 2016-08-18 13:48:54 -04:00
didier amyot 06eade5a4d Update resultats.yaml 2016-08-17 02:09:23 +00:00
didier amyot 56d893e6a4 Update resultats.yaml 2016-08-15 20:12:21 +00:00
didier amyot 93776f6b72 Update resultats.yaml 2016-08-11 20:18:57 +00:00
didier amyot a89892e2fb Update resultats.yaml 2016-07-22 20:14:49 +00:00
didier amyot f5d343aca2 Update resultats.yaml 2016-07-15 17:57:15 +00:00
didier amyot 6b0652092c ordered the team results 2016-07-12 13:32:10 -04:00
didier amyot b36c7ebcdc Update resultats.yaml 2016-07-08 15:22:55 +00:00
didier amyot 7181d871c0 Update resultats.yaml 2016-07-06 11:53:47 +00:00
didier amyot 9690b60a6d Update resultats.yaml 2016-07-06 02:17:47 +00:00
didier amyot 76950581b4 added new result 2016-06-26 09:30:40 -04:00
didier amyot 813a4968b0 added rain day for today 2016-06-16 17:58:04 -04:00
didier amyot 7a447278be Update resultats.yaml 2016-06-11 15:21:58 +00:00
didier amyot 418e161cc7 fix result typo 2016-06-10 16:42:51 -04:00
didier amyot fe1ed751e1 added cache to gitlab pages 2016-06-10 15:41:46 -04:00
didier amyot df9d8b9109 changed cache buster 2016-06-10 18:30:37 +00:00
didier amyot 41a563ff34 updated results 2016-06-10 18:04:03 +00:00
didier amyot b3e48ebdfa added cache buster in for all result url 2016-06-02 08:48:55 -04:00
didier amyot 137912eaa4 added cache buster 2016-06-02 08:45:22 -04:00
didier amyot a0ae5e89b7 re-added new schedule 2016-06-01 19:15:21 -04:00
didier amyot de0b35f476 cancel season (or almost) 2016-05-11 19:36:05 -04:00
didier amyot 3eae9143fa added real schedule! 2016-05-06 19:47:44 +00:00
didier amyot 61f32a74da fixed many bugs 2016-04-30 11:06:30 -04:00
didier amyot 7e54032605 pined node version in build pack 2016-04-27 20:10:19 -04:00
didier amyot 18938a77d0 changed way to get encrypted data to make cross server requests possible 2016-04-27 19:40:01 -04:00
didier amyot d1c01b6bf9 pointed player list to private repo 2016-04-23 23:53:26 -04:00
didier amyot 1d0a2d4b22 renamed files 2016-04-23 23:34:03 -04:00
didier amyot 930f3cc799 added spritz in build.js 2016-04-23 23:23:55 -04:00
didier amyot 15120d48fc use https instead of ssh for npm 2016-04-23 23:19:22 -04:00
didier amyot bc5a3ce364 added default params to deployemnt 2016-04-23 23:11:04 -04:00
didier amyot 2a689dd20b added encryption to player list 2016-04-23 23:02:19 -04:00
didier amyot 9f113a8588 fixed article order 2016-03-31 09:49:37 -04:00
didier amyot 1d1b697d46 added a new news 2016-03-31 09:01:35 -04:00
didier amyot 9e794ed81e change website url 2016-03-20 00:49:57 +00:00
didier amyot 325360084b improved dropdown nav for cell phones 2016-03-19 17:42:51 -04:00
didier amyot d7ce36f1bc improved top bar for small devices 2016-03-19 15:31:56 -04:00
didier amyot a158a9e323 re-implemented user details 2016-03-19 13:42:20 -04:00
didier amyot efd279691a refactored out the players page 2016-03-19 13:07:05 -04:00
didier amyot bfd839b4cb refactored login page out 2016-03-19 12:59:56 -04:00
didier amyot 73f4f3b8e0 fixed bugs on member page 2016-03-19 12:45:34 -04:00
Comite Ballephenix d6be795177 updated readme files with the new repo url 2016-03-18 01:27:06 +00:00
didier amyot 999bf1afd5 updated public information 2016-03-17 20:00:58 -04:00
didier amyot b009ad7115 added first news! 2016-03-13 22:22:33 -04:00
didier amyot 639a493dfa empty game list 2016-03-13 22:00:33 -04:00
didier amyot c200acc7bc loaded article in main and news page 2016-03-13 21:57:08 -04:00
didier amyot 80f4a937b6 compiled articles in gulp 2016-03-13 21:48:53 -04:00
didier amyot 3f75921194 update a result a for demo 2016-03-06 23:54:00 +00:00
didier amyot ff993beb55 added sorting of players-teams-score in confidential page. 2016-03-06 10:45:07 -05:00
didier amyot a314f5d804 improved ui on different screen sizes 2016-03-05 11:27:28 -05:00
didier amyot 54e2edad11 removed broken dependencies 2016-02-22 21:45:56 -05:00
didier amyot df37a6c5a4 type 2016-02-22 21:34:24 -05:00
didier amyot b1b657b6f7 working evening 2016-02-22 21:27:59 -05:00
didier amyot 7f0bbbb55b prepared for encryption 2016-02-19 16:20:08 -05:00
didier amyot 83e957965f Merge branch 'master' of gitlab.com:didiercrunch/phenix-website 2016-02-15 21:41:30 -05:00
didier amyot 005b008b26 Merge branch 'member_section' 2016-02-15 21:39:23 -05:00
didier amyot 5569fa14f6 ui ui ui 2016-02-15 21:36:20 -05:00
didier amyot f2ad5aced8 changed css 2016-02-15 20:32:25 -05:00
didier amyot 3dcd306ccc example of change 2016-02-16 00:22:34 +00:00
didier amyot 45622ee2a9 started to implement the member section 2016-02-15 19:18:45 -05:00
103 changed files with 23220 additions and 604 deletions

No files matched your search

-3
View File
@@ -1,3 +0,0 @@
{
"directory": "lib"
}
+2
View File
@@ -4,3 +4,5 @@ css/*
/api/resultats.json /api/resultats.json
/index.html /index.html
/main-built.js /main-built.js
/api
result
+9 -1
View File
@@ -1,4 +1,4 @@
image: node image: "node:12.22.1"
before_script: before_script:
# install ssh-agent # install ssh-agent
@@ -6,13 +6,21 @@ before_script:
pages: pages:
stage: deploy stage: deploy
cache:
paths:
- node_modules/
- lib/
script: script:
- export SALT="salt_and_pepper"
- export KEY="qwerty"
- export PLAYER_LIST_LOCATION="//ballephenix.gitlab.io/private/players.spritz.js"
- npm install - npm install
- node_modules/.bin/gulp prod - node_modules/.bin/gulp prod
- node_modules/.bin/r.js -o build.js - node_modules/.bin/r.js -o build.js
- rm -rf node_modules .public public - rm -rf node_modules .public public
- mkdir .public - mkdir .public
- cp -r * .public - cp -r * .public
- cp -r .well-known .public # for let's encrypt
- mv .public public - mv .public public
artifacts: artifacts:
paths: paths:
+1
View File
@@ -0,0 +1 @@
4.4.3
@@ -0,0 +1 @@
4VCd-x0J9qsZgGuJ-c3Wu_KpOphzhjXfVhEyFGBCQ-c.x_X1OQlfsQAsCyXJHKuPmU8SV-1VK_3KvYbbl7KY81A
@@ -0,0 +1 @@
o16F72Bt8czXRTmH9wMZn_OiOinya_kW16yTtSj0bEk.x_X1OQlfsQAsCyXJHKuPmU8SV-1VK_3KvYbbl7KY81A
@@ -0,0 +1 @@
umfDF6CvoJs42QhTKeBgEe12M-iVjbMHwxdEoweV6G8.x_X1OQlfsQAsCyXJHKuPmU8SV-1VK_3KvYbbl7KY81A
+2
View File
@@ -0,0 +1,2 @@
dev:
node_modules/.bin/gulp dev
+3 -2
View File
@@ -1,11 +1,12 @@
# Site Web de Balle Phénix # Site Web de Balle Phénix
![Image Alt](https://gitlab.com/didiercrunch/phenix-website/raw/master/images/phenix_logo.png) ![Image Alt](https://gitlab.com/ballephenix/website/raw/master/images/phenix_logo.png)
## introduction ## introduction
Vous trouverez le code source du site web pour les Phénix ici. Le site web Vous trouverez le code source du site web pour les Phénix ici. Le site web
en lui-même est accessible au https://didiercrunch.gitlab.io/phenix-website/. en lui-même est accessible au http://ballephenix.com ou au
https://ballephenix.gitlab.io/website/.
### Structure du site web. ### Structure du site web.
-26
View File
@@ -1,26 +0,0 @@
{
"name": "phenix-website",
"description": "Main web site of Balle Phénix.",
"main": "index.html",
"authors": [
"didier amyot <didier.amyot@gmail.com>"
],
"license": "MIT",
"moduleType": [],
"homepage": "",
"private": true,
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"lib",
"test",
"tests"
],
"dependencies": {
"uikit": "~2.24.3",
"mithril": "~0.2.1",
"lodash": "~4.2.1",
"almond": "~0.3.1"
}
}
+7 -5
View File
@@ -1,11 +1,13 @@
({ ({
baseUrl: "script", baseUrl: "script",
paths: { paths: {
m: '../lib/mithril/mithril.min', m: '../node_modules/mithril/mithril.min',
_: '../lib/lodash/dist/lodash.min', _: '../node_modules/lodash/lodash.min',
requireLib: '../lib/requirejs/require' spritz: '../node_modules/spritzjs/dist/spritz',
requireLib: '../node_modules/requirejs/require'
}, },
include: 'main', include: 'main',
name: "../lib/almond/almond", name: "../node_modules/almond/almond",
out: "main-built.js" out: "main-built.js",
optimize: 'none'
}) })
+44
View File
@@ -0,0 +1,44 @@
[title]
innerMarkdown = """
## Assemblée Générale 2017!
"""
[meta]
innerMarkdown = """
Dimanche 17 Septembre 2017
"""
[body]
innerMarkdown = """
Bonjour à tous,
Voilà déjà le temps de penser à l'AGA 2017, vous êtes donc invités le 23
septembre 2017 à 13:00 au [2120, boul. Pie-IX](https://goo.gl/maps/ApFhYX4Gz6A2).
Cette année il y a deux postes à pourvoir soit:
* **Président(e)**: mandat de deux ans
* **Trésorier(ère)**: mandat de deux ans.
Si un des deux postes vous intéresse, veuillez faire parvenir un courriel à
nathalie7033@gmail.com avant le 22 septembre 2017. Si nous recevons plusieurs
noms pour le même poste, il y aura élection par les membres le 23 septembre.
Si vous ne pouvez pas être présent et aimeriez qu'on discute d'un sujet qui
vous tient à coeur, vous pouvez nous contacter et et nous les metterons
à l'ordre du jour.
bien à vous,
votre commite.
"""
[smallBody]
innerMarkdown = """
Bonjour à tous,
Voilà déjà le temps de penser à l'AGA 2017, vous êtes donc invités le 23
septembre 2017 à 13:00 au [2120, boul. Pie-IX](https://goo.gl/maps/ApFhYX4Gz6A2).
**[lire la suite ...](#/nouvelles)**
"""
+33
View File
@@ -0,0 +1,33 @@
[title]
innerMarkdown = """
## Virée au Bar L’Astral 2000
"""
[meta]
innerMarkdown = """
Samedi 13 Juillet 2019
"""
[body]
innerMarkdown = """
La ligue de balle lente Les Phénix remercie son commanditaire Le Bar L’Astral 2000 pour sa contribution à notre saison 2019. Sa commandite a permis, en partie, à fournir 5 nouveaux uniformes d’équipes aux Phénix.
Maintenant que le beau temps se montre il sera de coutume d’aller faire un tour au Bar L’Astral 2000 le jeudi soir après nos matchs, question de socialiser entre nous et chanter, car c’est aussi un bar karaoké! Rendez-vous au [1845 Rue Ontario Est](https://goo.gl/maps/L3gdVVhKvrrgYDcc7).
[![astral 2000](images/Astral_logo.png)](https://www.facebook.com/Astral-2000-494597793884464/)
<p style="text-align: center; width: 100%;">
<a href="https://www.facebook.com/Astral-2000-494597793884464/">
<i class="fa fa-facebook-square" style="font-size: 3em;"></i>
</a>
</p>
"""
[smallBody]
innerMarkdown = """
Vous êtes tannés de l’hiver et vous avez hâte de sortir gant et bâton, de jouer dans le sable et sur l’herbe du terrain, retrouver une ambiance amicale et se faire de nouveaux ami(e)s ?
**[lire la suite ...](#/nouvelles)**
"""
+24
View File
@@ -0,0 +1,24 @@
[title]
innerMarkdown = """
## Parc Beaubien
"""
[meta]
innerMarkdown = """
Vendredi 19 aout 2016
"""
[body]
innerMarkdown = """
Bonjour à tous les phénixiens phénixiennes.
Dès la semaine prochaine, **nous nous relocaliserons au parc Beaubien**, dans
Rosemont. [Google map](http://bit.ly/2bPWCY8) vous aidera a trouver votre
chemin.
Votre comité de balle les phénix.
"""
+38
View File
@@ -0,0 +1,38 @@
[title]
innerMarkdown = """
## Evaluation et pratique 2018!
"""
[meta]
innerMarkdown = """
Lundi 07 mai 2018
"""
[body]
innerMarkdown = """
Bonsoir à tous les membres des Phénix - nouveaux et anciens,
La saison va bientôt commencer et nous souhaitons évaluer les nouveaux membres des Phénix dans un contexte de jeu. Ce qui veut dire que nous voulons voir les joueurs en action. Nous vous invitons donc à participer à cet événement le 12 mai prochain à compter de 13h30 au parc Walter-Stewart. Apportez votre gant !
Pour les anciens, venez faire connaissance avec les nouveaux, et par le fait même, vous mettre en forme pour la prochaine saison. Tous les anciens sont bienvenus.
Les capitaines seront rapidement appelés à faire leurs équipes après la journée d'évaluation. Nous prévoyons commencer à jouer dès le jeudi 17 mai prochain. L'heure vous sera confirmée par vos capitaines.
Pour votre information, cette saison nous allons avoir 4 équipes de 10 joueurs et pour ceux qui connaissent des joueurs ou joueuses qui voudraient à l'occasion agir comme remplaçants, nous sommes à constituer une liste qui servira aux capitaines pour faciliter les remplacements. N'hésitez pas à nous donner les noms et adresses courriel de vos amis qui seraient intéressés.
À bientôt
"""
[smallBody]
innerMarkdown = """
Bonsoir à tous les membres des Phénix - nouveaux et anciens,
La saison va bientôt commencer et nous souhaitons évaluer les nouveaux membres des Phénix dans un contexte de jeu. Ce qui veut dire que nous voulons voir les joueurs en action. Nous vous invitons donc à participer à cet événement le 12 mai prochain à compter de 13h30 au parc Walter-Stewart. Apportez votre gant !
**[Tous les details ...](#/nouvelles)**
"""
+61
View File
@@ -0,0 +1,61 @@
[title]
innerMarkdown = """
## Inscription 2016!
"""
[meta]
innerMarkdown = """
Lundi 14 mars 2016
"""
[body]
innerMarkdown = """
Bonjour à tous les phénixiens phénixiennes.
Eh bien oui l'hiver tire à ça fin et il sera bientôt temps de sortir gants et
batons (en bon français mites et battes) pour jouer à notre sport préféré:
la balle-molle.
**L'inscription aura lieu le vendredi 18 mars 2016 de 19h30 à 21h30 à la [taverne
le normandie](http://bit.ly/1pmNWu8)**; situé au [1295 rue amherst,
Montréal](http://bit.ly/1QUC6Ou). Il s'agit de l'endroit ou nous avons fêté la
fin de la dernière saison.
Le prix de l'inscription est de 110$ incluant la location du chandail au coût de
10$. La valeur de la location du chandail vous sera rendu en fin de saison
lorsque vous le rendrez.
Pour ceux et celles qui ne pourront être présent à l'inscription, vous pouvez
vous inscrire par courrier. Imprimez, remplissez et envoyez le formulaire
avec le chèque.
Nous avons très hâte de vous y voir et de fêter avec vous!!!
Votre comité de balle les phénix.
[<i class="fa fa-paperclip"></i> Formulaire d'inscription](/files/inscription2016.pdf)
"""
[smallBody]
innerMarkdown = """
Bonjour à tous les phénixiens phénixiennes.
Eh bien oui l'hiver tire à ça fin et il sera bientôt temps de sortir gants et
batons (en bon français mites et battes) pour jouer à notre sport préféré:
la balle-molle.
**L'inscription aura lieu le vendredi 18 mars 2016 de 19h30 à 21h30 à la [taverne
le normandie](http://bit.ly/1pmNWu8)**; situé au [1295 rue amherst,
Montréal](http://bit.ly/1QUC6Ou). Il s'agit de l'endroit ou nous avons fêté la
fin de la dernière saison.
**[lire la suite ...](#/nouvelles)**
"""
+60
View File
@@ -0,0 +1,60 @@
[title]
innerMarkdown = """
## Inscription 2017!
"""
[meta]
innerMarkdown = """
Samedi 18 mars 2017
"""
[body]
innerMarkdown = """
Bonjour à tous les phénixiens phénixiennes.
Bien que subtilement, l'hiver tire à sa fin et et la saison de la balle-molle
arrive a grand pas. Comble du bonheur, nous retrouvons notre parc, Walter-Stewart,
et gardons notre plage horaire, les jeudi soirs.
**L'inscription aura lieu le vendredi 24 mars 2017 de 18h30 à 21h30 à la [taverne
le normandie](http://bit.ly/1pmNWu8)**; situé au [1295 rue amherst,
Montréal](http://bit.ly/1QUC6Ou). Il s'agit de l'endroit ou nous avons fêté la
fin de la dernière saison.
Le prix de l'inscription est de **110$** incluant la location du chandail au coût de
10$. La valeur de la location du chandail vous sera rendue en fin de saison
lorsque vous le rendrez.
Pour ceux et celles qui ne pourront être présent à l'inscription, vous pouvez
vous inscrire par courrier. Imprimez, remplissez et envoyez le formulaire
avec le chèque.
Nous allons jouer une **partie hors concours le 4 mai** et la **saison
commencera le jeudi 11 mai**.
Nous avons très hâte de vous y voir et de fêter avec vous!!!
Votre comité de balle les phénix.
[<i class="fa fa-paperclip"></i> Formulaire d'inscription](/files/inscription2017.pdf)
"""
[smallBody]
innerMarkdown = """
Bonjour à tous les phénixiens phénixiennes.
Bien que subtilement, l'hiver tire à sa fin et et la saison de la balle-molle
arrive a grand pas. Comble du bonheur, nous retrouvons notre parc, Walter-Stewart,
et gardons notre plage horaire, les jeudi soirs.
**L'inscription aura lieu le vendredi 24 mars 2017 de 18h30 à 21h30 à la [taverne
le normandie](http://bit.ly/1pmNWu8)**; situé au [1295 rue amherst,
Montréal](http://bit.ly/1QUC6Ou). Il s'agit de l'endroit ou nous avons fêté la
fin de la dernière saison.
**[lire la suite ...](#/nouvelles)**
"""
+85
View File
@@ -0,0 +1,85 @@
[title]
innerMarkdown = """
## Inscription 2018!
"""
[meta]
innerMarkdown = """
Samedi 17 mars 2018
"""
[body]
innerMarkdown = """
Bonjour à tous les membres de la Ligue de balle des Phénix et les autres qui
se joindront à nous,
L'hiver tire à sa fin. C'est donc un signe que la saison de la balle-molle
arrive à grand pas.
Mais d'abord, nous voudrions remercier Nathalie Ste-Marie et Sylvain Grenier
pour tout le travail effectué, la grande collaboration et la transmission des
effets de la Ligue ainsi que de tout le matériel. Nous savons que votre
implication immense a permis à la Ligue de continuer à se développer.
Merci encore.
Comme par le passé, il y aura une soirée d'inscription. Elle aura lieu le
vendredi 6 avril 2018 de 18h à 21h au [Bar l'Astral 2000](http://bit.ly/2FHSjMC)
situé au 1845 Rue Ontario E, Montréal, QC H2K 1T7. Comme vous le constatez,
c'est un nouveau lieu de rassemblement pour les Phénix. Le Bar est situé
beaucoup plus près de notre terrain de balle habituel ([parc Walter-Stuart](http://bit.ly/2G2fhxn)) que la Taverne Normandie
où nous allions auparavant et que nous avons délaissée l'an passé. Le Bar
l'[Astral 2000](http://bit.ly/2FHSjMC) est aussi notre commanditaire. Il faudra l'encourager, ce
que je ne doute même pas. Nous en profiterons pour vous parler des nouvelles
règles qui s'appliqueront cet été.
Le prix de l'inscription reste le même que l'année dernière soit de 110$
incluant la location du chandail au coût de 10$. La valeur de la location
du chandail vous sera rendue lorsque vous le remettrez à la fin de la saison.
De plus, nous offrirons un rabais sur l'inscription de 25 $ pour les personnes
qui seront choisies comme capitaine. Cette somme leur sera remise à la fin de
la saison. Nous jouerons les jeudis comme les années passées. La saison va
débuter au début du mois de mai quand les terrains seront officiellement
disponibles et se terminer à la fin août.
Une nouveauté cette année, il n'y aura que deux matchs par soir, ce qui
devrait nous permettre de socialiser un peu plus après les parties. Ça nous
permettra d'utiliser l'Astral comme lieu de rassemblement pour rire un peu
et nous rappeler nos bons et mauvais coups.
Pour ceux et celles qui ne pourront être présents à l'inscription, vous
pouvez vous inscrire par courrier. Imprimez, remplissez et envoyez le
formulaire d'inscription et le code de conduite avec votre chèque. Faites-vite,
puisque les places sont limitées. Maximum 50 joueurs.
Nous avons très hâte de vous voir !!!
Votre comité exécutif de La Ligue de balle les Phénix.
Marie-Ève, Didier, Richard et Gilles
[<i class="fa fa-paperclip"></i> Formulaire d'inscription](/files/inscription2018.pdf)
[<i class="fa fa-paperclip"></i> Code de conduite](/files/code_de_conduite.pdf)
"""
[smallBody]
innerMarkdown = """
Bonjour a tous!
**L'inscription pour la saison 2018 aura lieu le vendredi 6 avril 2018 de 18h à
21h au [Bar l'Astral 2000](http://bit.ly/2FHSjMC)**. Le prix reste le meme a
110$ (incluant un 10$ qui de depot pour le chandail).
Cette annee, il vous faudra remplir le
[formulaire d'inscription](/files/inscription2018.pdf) et un signer un
[code de conduite](/files/code_de_conduite.pdf). Si vous ne pouvez pas
vous presenter a l'inscription, vous pouvez toujours envoyer les formulaires
ainsi que votre cheque par la poste.
[<i class="fa fa-paperclip"></i> Formulaire d'inscription](/files/inscription2018.pdf)
[<i class="fa fa-paperclip"></i> Code de conduite](/files/code_de_conduite.pdf)
**[Tous les details ...](#/nouvelles)**
"""
+55
View File
@@ -0,0 +1,55 @@
[title]
innerMarkdown = """
## Inscription 2019!
"""
[meta]
innerMarkdown = """
Dimanche 17 Février 2019
"""
[body]
innerMarkdown = """
Vous êtes tannés de l’hiver et vous avez hâte de sortir gant et bâton, de jouer
dans le sable et sur l’herbe du terrain, retrouver une ambiance amicale et se
faire de nouveaux ami(e)s ?
Venez rencontrer des membres de la ligue de balle-lente Les Phénix - et tous
ceux et celles qui veulent se joindre à nous - à une soirée d’inscription, le
vendredi 5 avril 2019, de 18h30 à 20h30, au Bar L’Astral 2000, situé au 1845
rue Ontario Est, à Montréal. Ce bar qui nous commandite permet de nous réunir
après nos parties pour parler, boire et chanter au karaoké!
Combien ça coûte pour jouer? Les frais d’inscription 2019 sont de 100$. Aucun
dépôt pour le chandail d’équipe. Payable en argent comptant ou chèque. Saison
et party compris.
Chaque semaine, il y aura deux parties à l’horaire le jeudi soir au parc
Walter-Stewart, près du métro Frontenac, de mai à fin août (environ 16
semaines de jeu). Une pratique optionnelle sera organisée le dimanche.
Les nouveaux joueurs seront conviés fin avril pour une évaluation sur le
terrain afin de permettre la formation d’équipes équilibrées.
Au plaisir de vous voir en grand nombre le 5 avril!
Les personnes qui préfèrent s’inscrire par courrier peuvent remplir et signer
le [formulaire et le code de conduite](/files/inscription_et_code_2019.pdf).
Pour information sur les inscriptions : Richard Dicaire, trésorier, au 514-714-2246
Votre comité des Phénix
[<i class="fa fa-paperclip"></i> Formulaire d'inscription](/files/inscription_et_code_2019.pdf)
"""
[smallBody]
innerMarkdown = """
Vous êtes tannés de l’hiver et vous avez hâte de sortir gant et bâton, de jouer dans le sable et sur l’herbe du terrain, retrouver une ambiance amicale et se faire de nouveaux ami(e)s ?
**[lire la suite ...](#/nouvelles)**
"""
@@ -0,0 +1,25 @@
[title]
innerMarkdown = """
## Viens t’inscrire le 5 avril
"""
[meta]
innerMarkdown = """
Lundi 1er Avril 2019
"""
[body]
innerMarkdown = """
Profitez de l’arrivée du printemps pour vous présenter à la soirée d’inscription
la ligue de balle-lente Les Phénix le vendredi 5 avril 2019, de 18h30 à 20h30,
au [Bar L’Astral 2000, situé au 1845 rue Ontario Est, à Montréal](https://goo.gl/maps/3SND4ZqGZKP2). Coût de 100$
comptant ou chèque pour jouer le jeudi soir au parc Walter-Stewart, de la
mi-mai à la fin août. Évaluation des nouveaux vers la fin avril. Le comité
2019 se fera un plaisir de vous accueillir, répondre vos questions et
socialiser avec les futurs joueurs.
[<i class="fa fa-paperclip"></i> Formulaire d'inscription](/files/inscription_et_code_2019.pdf)
"""
+50
View File
@@ -0,0 +1,50 @@
[title]
innerMarkdown="""
## Inscription 2016 et Dates!
"""
[meta]
innerMarkdown = """
Jeudi 31 mars 2016
"""
[body]
innerMarkdown = """
Bonjour a tous,
Permièrement, il est encore temps de s'inscrire. Par ordre de l'Association de
Sport de Ball de Montréal, **l'inscription doit être fini le 15 avril**. Donc
imprimez et envovez votre inscription le plus vite possible!
Deuxièmement, nous avons des nouvelles sur les dates. La **saison commencera
le jeudi 12 mai**. Nous allons jouer une **partie hors concours le 5 mai**.
Comme aux saisons précédentes, nous jouerons les jeudi soir au parc
Walter-Stewart et y organiserons une pratique les dimanches matins.
Pour les nouveaux, les **évaluations se feront dans les alentours du 30 avril**.
Il s'agit d'une journee ou les capitaines vous observerons pour savoir votre
niveau dans l'optique de creer des équipes les plus égales que possible.
Votre commite ballephenix adoré!
[<i class="fa fa-paperclip"></i> Formulaire d'inscription](/files/inscription2016.pdf)
"""
[smallBody]
innerMarkdown = """
Bonjour a tous,
Permièrement, il est encore temps de s'inscrire. Par ordre de l'Association de
Sport de Ball de Montréal, **l'inscription doit être fini le 15 avril**. Donc
imprimez et envovez votre inscription le plus vite possible!
**[lire la suite ...](#/nouvelles)**
"""
+30
View File
@@ -0,0 +1,30 @@
[title]
innerMarkdown = """
## Nouveau Comité 2019!
"""
[meta]
innerMarkdown = """
Dimanche 17 Février 2019
"""
[body]
innerMarkdown = """
La dernière année des Phénix s’est terminée avec l’élection d’un nouveau comité
exécutif.
Les membres présents à l’assemblée générale annuelle du 2 novembre 2018 ont élu
Marc-André Bonin au poste de vice-président et Alexandre Gauthier au poste de
secrétaire. Les postes de Gilles Dicaire, président, et Richard Dicaire,
trésorier, n’étaient pas en élection. Le nouvel exécutif des Phénix tient à
remercier Marie-Ève Clavel et Didier Amyot pour leur engagement des dernières années.
"""
[smallBody]
innerMarkdown = """
La dernière année des Phénix s’est terminée avec l’élection d’un nouveau comité
exécutif.
**[lire la suite ...](#/nouvelles)**
"""
+27
View File
@@ -0,0 +1,27 @@
[title]
innerMarkdown = """
## Party fin de saison 2017!
"""
[meta]
innerMarkdown = """
Mercredi 23 Aout 2017
"""
[body]
innerMarkdown = """
Bonjour à tous les phénixiens phénixiennes.
Les séries commencent et nous devons déjà penser a fêter la fin de
la saison. Comme à l'habitude, nous allons festoyer à la [taverne
normandie](http://www.taverne-normandie.ca/), [1295 Amherst](https://goo.gl/maps/neafXHhkW292).
Le party aura lieu le **vendredi 8 septembre 2017**, nous devrions
commencer à arriver vers 19h00. Il y aura pizza, biere et animation.
# <i class="fa fa-beer" aria-hidden="true"></i>
bien à vous,
votre commite.
"""
+22
View File
@@ -0,0 +1,22 @@
[title]
innerMarkdown = """
## Reprise saison 2018
"""
[meta]
innerMarkdown = """
Lundi 9 juillet 2018
"""
[body]
innerMarkdown = """
Bonjour a toutes et a tous!
Finalement, les travaux au parc walter-stewart sont finis et nous pouvons
reprendre nos activites. Nous devrions finir la saison plus tard pour
reprendre nos parties.
On se voit jeudi!
"""
@@ -0,0 +1,50 @@
[title]
innerMarkdown = """
## Retour à Walter-Stewart
"""
[meta]
innerMarkdown = """
Samedi 20 juin 2017
"""
[body]
innerMarkdown = """
Bonjour a tous,
nous sommes heureux de vous aviser que nous retrouverons notre nid dès jeudi!
En effet, a partir de ce jeudi (22 juin 2017) nous allons jouer nos parties
au parc Walter-Stewart, juste à cote du metro Frontenac.
Pour ceux qui sont interessés, le parc Walter-Stewart est le lieux où Rodger
Brulotte est tombé en amour avec le baseball. Walter Stewart fut un journaliste
important au canada englais, mais comme le parc fut batisé avant le déces de
M. Stewart, il serait surprenant que le parc aille été nomme en son honneur.
Il y a un tres bon restaurant tout près du parc, le Resto De La Rivière; c'est
assez cher. Il y a, aussi, une nombre incalculable de gens qui ont perdu leurs
virginité dans notre cher parc; probablement sans penser à notre cher Rodger,
au journaliste homonyme ou d'avoir salivé à l'idee une creme-brulee.
Veuillez rependre la bonne nouvelle; dites le a vos amis, chums/blondes, beaux parents...
Merci beaucoup,
Comité ballephenix!
"""
[smallBody]
innerMarkdown = """
Bonjour a tous,
nous sommes heureux de vous aviser que nous retrouverons notre nid dès jeudi!
En effet, a partir de ce jeudi (22 juin 2017) nous allons jouer nos parties
au parc Walter-Stewart, juste à cote du metro Frontenac.
Veuillez rependre la bonne nouvelle; dites le a vos amis, chums/blondes, beaux parents...
Merci beaucoup,
**[lire la suite ...](#/nouvelles)**
"""
+50
View File
@@ -0,0 +1,50 @@
[title]
innerMarkdown = """
## Saison 2017!
"""
[meta]
innerMarkdown = """
Samedi 6 mai 2017
"""
[body]
innerMarkdown = """
Bonjour a toutes et a tous!
Nous avons quelques problèmes avec le parc Walter-Stewart. La ville
re-tourbera bientôt le terrain et nous n'allons pouvoir l'utiliser avant la
semaine du 19 juin. D'ici la, nous allons etre hébergé au parc [Georges-Vernot](http://bit.ly/2qMdsdm)
dans St-Michel.
Avec tout ces délais, nous sommes obligé de commencer la saison un peu plus
tard que prévue. La saison commencera donc le **jeudi 18 mai 2017**. Il n'y
aura donc aucun match pré-saison.
Nous sommes toujours a la **recherche de capitaines**. La case "je veux devenir
capitaine" ne fut pas des plus populaire. Nous cherchons donc intensément
quatre capitaines au sang neuf pour diriger cinq équipes au sang chaud.
En résumé.
* La saison debute le **jeudi 18 mai 2017** au parc **[Georges-Vernot](http://bit.ly/2qMdsdm)**
* Nous retrouverons le parc [Walter-Stewart](http://bit.ly/2qDlnMW) la semaine du 19 juin
* Il nous manque 4 capitaines
"""
[smallBody]
innerMarkdown = """
Bonjour a toutes et a tous!
Nous avons quelques problèmes avec le parc Walter-Stewart. La ville
re-tourbera bientôt le terrain et nous n'allons pouvoir l'utiliser avant la
semaine du 19 juin. D'ici la, nous allons etre hébergé au parc [Georges-Vernot](http://bit.ly/2qMdsdm)
dans St-Michel.
**[lire la suite ...](#/nouvelles)**
"""
+29
View File
@@ -0,0 +1,29 @@
[title]
innerMarkdown = """
## Début Saison 2021
"""
[meta]
innerMarkdown = """
Mardi 15 Juin 2021
"""
[body]
innerMarkdown = """
Nous avons eu le permis de la ville de Montréal pour débuter notre saison le 24 Juin !!!
Notez que la ville n'a émis aucun permis avant le 20 juin, le Jeudi 24 Juin est le plus tôt que nous pouvons débuter notre saison avec notre permis.
Comme la ville ne prépare pas de terrain et ne fournit pas d'officiel, les 24 juin et 1 juillet, ce sera des matchs hors concours avec les membres présents.
Voici donc sans plus tarder notre calendrier pour la saison 2021 !!!
Votre Comité 2021
"""
[smallBody]
innerMarkdown = """
Nous avons eu le permis de la ville de Montréal pour débuter notre saison le 24 Juin !!!
Notez que la ville n'a émis aucun permis avant le 20 juin, le Jeudi 24 Juin est le plus tôt que nous pouvons débuter notre saison avec notre permis.
**[lire la suite ...](#/nouvelles)**
"""
+20
View File
@@ -0,0 +1,20 @@
[title]
innerMarkdown = """
## Début saison 2017 retardée
"""
[meta]
innerMarkdown = """
Samedi 23 avril 2017
"""
[body]
innerMarkdown = """
Suite à la situation au parc Walter-Stewart, nous n'avons toujours pas de date définie
pour le début de la saison. La situation devrait se régler incessamment. Nous vous
donnerons des nouvelles dès que nous en aurons.
Merci beaucoup,
Comité ballephenix!
"""
+33
View File
@@ -0,0 +1,33 @@
[title]
innerMarkdown = """
# Report de la saison 2016
"""
[meta]
innerMarkdown = """
Mercredi 11 mai 2016
"""
[body]
innerMarkdown = """
Le parc walter-stewart est présentement en réaménagement. Conséquemment, nous
devons reporter la saison jusqu'à la fin juin, date à laquelle le parc devrait
être prêt.
Plusieurs hypothèses sont envisagées pour ne pas perdre de matchs. Nous pensons
à jouer les mercredis et jeudis ou rallonger la saison durant le mois de
septembre. Malheuresement, nous ne pouvons prendre une désision officielle
avant de prendre connaissance de la date exacte de réouverture du parc.
Votre comité de balle les phénix.
"""
[smallBody]
innerMarkdown = """
Le parc walter-stewart est présentement en réaménagement. Conséquemment, nous
devons reporter la saison jusqu'à la fin juin, date à laquelle le parc devrait
être prêt.
**[lire la suite ...](#/nouvelles)**
"""
@@ -287,3 +287,21 @@
score: 3 score: 3
team: rouge team: rouge
tel: 224-921-0391x3813 tel: 224-921-0391x3813
-
email: brossard@chat.miaou
name: "brossard"
score: 3
team: vert
tel: (432)161-1237
-
email: hobo@chat.miaou
name: "hobo"
score: 1
team: vert
tel: (432)161-1237
-
email: western@chat.miaou
name: "western"
score: 2
team: vert
tel: (432)161-1237
-63
View File
@@ -1,63 +0,0 @@
---
-
date: 2016/06/02 # year/month/day
time: "18:00"
home: gris
away: jaune
home_points: 6
away_points: 7
-
date: 2016/06/02 # year/month/day
time: "20:30"
home: bleu
away: rouge
home_points: 9
away_points: 2
-
date: 2016/06/09 # year/month/day
time: "18:00"
home: bleu
away: jaune
home_points: 7
away_points: 6
-
date: 2016/06/09 # year/month/day
time: "20:30"
home: gris
away: rouge
home_points: 4
away_points: 8
-
date: 2016/06/16 # year/month/day
time: "18:00"
home: bleu
away: jaune
home_points: 4
away_points: 7
-
date: 2016/06/16 # year/month/day
time: "20:30"
home: gris
away: rouge
home_points: ~
away_points: ~
-
date: 2016/06/23 # year/month/day
time: "18:00"
home: bleu
away: jaune
home_points: ~
away_points: ~
-
date: 2016/06/23 # year/month/day
time: "20:30"
home: gris
away: rouge
home_points: ~
away_points: ~
+419
View File
@@ -0,0 +1,419 @@
---
# generated by https://scheduler.leaguelobster.com/edit/236693/new-league/new-season/#
# WEEK 1
# -
# date: 2017/5/25 # year/month/day
# time: "18:30"
# home: gris # t1
# away: bleu # t5
# home_points: 11
# away_points: 6
# rain: true
# -
# date: 2017/5/25 # year/month/day
# time: "20:00"
# home: rouge # t4
# away: jaune # t6
# home_points: ~
# away_points: ~
# rain: true
# -
# date: 2017/5/25 # year/month/day
# time: "21:30"
# home: vert # t2
# away: orange # t3
# home_points: ~
# away_points: ~
# rain: true
# WEEK 2
-
date: 2017/6/1 # year/month/day
time: "18:30"
home: gris # t1
away: jaune # t6
home_points: 11
away_points: 6
rain: false
-
date: 2017/6/1 # year/month/day
time: "20:00"
home: orange # t3
away: rouge # t4
home_points: 8
away_points: 21
rain: false
-
date: 2017/6/1 # year/month/day
time: "21:30"
home: bleu # t5
away: vert # t2
home_points: 6
away_points: 9
rain: false
# WEEK 3
-
date: 2017/6/8 # year/month/day
time: "18:30"
home: rouge # t4
away: bleu # t5
home_points: 10
away_points: 8
rain: false
-
date: 2017/6/8 # year/month/day
time: "20:00"
home: vert # t2
away: jaune # t6
home_points: 8
away_points: 5
rain: false
-
date: 2017/6/8 # year/month/day
time: "21:30"
home: orange # t3
away: gris # t1
home_points: 9
away_points: 11
rain: false
# WEEK 4
-
date: 2017/6/15 # year/month/day
time: "18:30"
home: bleu # t5
away: jaune # t6
home_points: 6
away_points: 18
rain: false
-
date: 2017/6/15 # year/month/day
time: "20:00"
home: orange # t3
away: vert # t2
home_points: 7
away_points: 15
rain: false
-
date: 2017/6/15 # year/month/day
time: "21:30"
home: rouge # t4
away: gris # t1
home_points: 6
away_points: 17
rain: false
# WEEK 5
-
date: 2017/6/22 # year/month/day
time: "18:30"
home: orange # t3
away: vert # t2
home_points: 10
away_points: 13
rain: false
-
date: 2017/6/22 # year/month/day
time: "20:00"
home: bleu # t5
away: gris # t1
home_points: 17
away_points: 15
rain: false
-
date: 2017/6/22 # year/month/day
time: "21:30"
home: jaune # t6
away: rouge # t4
home_points: 9
away_points: 8 # didier a fait un grand chelem!
rain: false
# WEEK 6
-
date: 2017/6/29 # year/month/day
time: "18:30"
home: vert # t2
away: rouge # t4
home_points: 15
away_points: 6
rain: false
-
date: 2017/6/29 # year/month/day
time: "20:00"
home: jaune # t6
away: gris # t1
home_points: 20
away_points: 14
rain: false
-
date: 2017/6/29 # year/month/day
time: "21:30"
home: bleu # t5
away: orange # t3
home_points: 12
away_points: 18
rain: false
# WEEK 7
-
date: 2017/7/6 # year/month/day
time: "18:30"
home: gris # t1
away: vert # t2
home_points: 20
away_points: 14
rain: false
-
date: 2017/7/6 # year/month/day
time: "20:00"
home: rouge # t4
away: orange # t3
home_points: 12
away_points: 10
rain: false
-
date: 2017/7/6 # year/month/day
time: "21:30"
home: jaune # t6
away: bleu # t5
home_points: 18
away_points: 9
rain: false
# WEEK 8
-
date: 2017/7/13 # year/month/day
time: "18:30"
home: rouge # t4
away: bleu # t5
home_points: 14
away_points: 6
rain: false
-
date: 2017/7/13 # year/month/day
time: "20:00"
home: gris # t1
away: vert # t2
home_points: 14
away_points: 4
rain: false
-
date: 2017/7/13 # year/month/day
time: "21:30"
home: orange # t3
away: jaune # t6
home_points: 14
away_points: 9
rain: false
# WEEK 9
-
date: 2017/7/20 # year/month/day
time: "18:30"
home: bleu # t5
away: orange # t3
home_points: 11
away_points: 25
rain: false
-
date: 2017/7/20 # year/month/day
time: "18:30"
home: rouge # t4
away: gris # t1
home_points: 11
away_points: 18
rain: false
-
date: 2017/7/20 # year/month/day
time: "21:30"
home: jaune # t6
away: vert # t2
home_points: 13
away_points: 15
rain: false
# WEEK 10
-
date: 2017/7/27 # year/month/day
time: "18:30"
home: jaune # t6
away: orange # t3
home_points: 14
away_points: 11
rain: false
-
date: 2017/7/27 # year/month/day
time: "20:00"
home: vert # t2
away: bleu # t5
home_points: 18
away_points: 9
rain: false
-
date: 2017/7/27 # year/month/day
time: "21:30"
home: rouge # t4
away: gris # t1
home_points: 13
away_points: 13
rain: false
# WEEK 11
-
date: 2017/8/3 # year/month/day
time: "18:30"
home: vert # t2
away: rouge # t4
home_points: 12
away_points: 12
rain: false
-
date: 2017/8/3 # year/month/day
time: "20:00"
home: bleu # t5
away: orange # t3
home_points: 4
away_points: 16
rain: false
-
date: 2017/8/3 # year/month/day
time: "21:30"
home: jaune # t6
away: gris # t1
home_points: 5
away_points: 22
rain: false
# WEEK 12
-
date: 2017/8/10 # year/month/day
time: "18:30"
home: orange # t3
away: rouge # t4
home_points: 4
away_points: 10
rain: false
-
date: 2017/8/10 # year/month/day
time: "20:00"
home: jaune # t6
away: bleu # t5
home_points: 12
away_points: 13
rain: false
-
date: 2017/8/10 # year/month/day
time: "21:30"
home: gris # t1
away: vert # t2
home_points: 23
away_points: 14
rain: false
# WEEK 13
-
date: 2017/8/17 # year/month/day
time: "18:30"
home: vert # t2
away: jaune # t6
home_points: 15
away_points: 16
rain: false
-
date: 2017/8/17 # year/month/day
time: "20:00"
home: gris # t1
away: orange # t3
home_points: 17
away_points: 11
rain: false
-
date: 2017/8/17 # year/month/day
time: "21:30"
home: bleu # t5
away: rouge # t4
home_points: 12
away_points: 17
rain: false
# WEEK 14
-
date: 2017/8/24 # year/month/day e 6vs5 et 4vs3,
time: "19:00"
home: rouge # t1
away: bleu
home_points: ~
away_points: ~
rain: false
-
date: 2017/8/24 # year/month/day
time: "20:30"
home: jaune # t2
away: orange # t5
home_points: ~
away_points: ~
rain: false
# WEEK 15
-
date: 2017/8/31 # year/month/day e 6vs5 et 4vs3,
time: "18:30"
home: bleu
away: gris # t3
home_points: ~
away_points: ~
rain: false
-
date: 2017/8/31 # year/month/day
time: "20:00"
home: orange
away: vert # t5
home_points: ~
away_points: ~
rain: false
-
date: 2017/8/31 # year/month/day
time: "21:30"
home: "gagnant bleu-gris" # t2
away: "gagnant orange-vert" # t5
home_points: ~
away_points: ~
rain: false
+294
View File
@@ -0,0 +1,294 @@
---
## Semaine 1
-
date: 2018/5/17 # year/month/day
time: "18:45"
away: jaune
home: gris
home_points: 14
away_points: 16
rain: false
-
date: 2018/5/17 # year/month/day
time: "20:15"
away: vert
home: rouge
home_points: 20
away_points: 9
rain: false
## Semaine 2
-
date: 2018/5/24 # year/month/day
time: "18:45"
away: vert
home: gris
home_points: 15
away_points: 7
rain: false
-
date: 2018/5/24 # year/month/day
time: "20:15"
away: rouge
home: jaune
home_points: 25
away_points: 4
rain: false
## Semaine 3
-
date: 2018/5/31 # year/month/day
time: "18:45"
away: vert
home: jaune
home_points: 9
away_points: 15
rain: false
-
date: 2018/5/31 # year/month/day
time: "20:15"
away: rouge
home: gris
home_points: 13
away_points: 12
rain: false
## Semaine 4
-
date: 2018/6/7 # year/month/day
time: "18:45"
away: rouge
home: vert
home_points: 9
away_points: 16
rain: false
-
date: 2018/6/7 # year/month/day
time: "20:15"
away: gris
home: jaune
home_points: 19
away_points: 8
rain: false
## Semaine 5
-
date: 2018/6/14 # year/month/day
time: "18:45"
away: jaune
home: rouge
home_points: ~
away_points: ~
rain: yes
-
date: 2018/6/14 # year/month/day
time: "20:15"
away: vert
home: gris
home_points: ~
away_points: ~
rain: yes
## Semaine 6
-
date: 2018/6/21 # year/month/day
time: "18:45"
away: gris
home: rouge
home_points: ~
away_points: ~
rain: yes
-
date: 2018/6/21 # year/month/day
time: "20:15"
away: jaune
home: vert
home_points: ~
away_points: ~
rain: yes
## Semaine 7
-
date: 2018/6/28 # year/month/day
time: "18:45"
away: vert
home: rouge
home_points: ~
away_points: ~
rain: true
-
date: 2018/6/28 # year/month/day
time: "20:15"
away: gris
home: jaune
home_points: ~
away_points: ~
rain: true
## Semaine 8
-
date: 2018/7/5 # year/month/day
time: "18:45"
away: jaune
home: rouge
home_points: ~
away_points: ~
rain: true
-
date: 2018/7/5 # year/month/day
time: "20:15"
away: gris
home: vert
home_points: ~
away_points: ~
rain: true
## Semaine 9
-
date: 2018/7/12 # year/month/day
time: "18:45"
away: vert
home: jaune
home_points: 8
away_points: 12
rain: false
-
date: 2018/7/12 # year/month/day
time: "20:15"
away: rouge
home: gris
home_points: 15
away_points: 9
rain: false
## Semaine 10
-
date: 2018/7/19 # year/month/day
time: "18:45"
away: jaune
home: gris
home_points: 6
away_points: 15
rain: false
-
date: 2018/7/19 # year/month/day
time: "20:15"
away: rouge
home: vert
home_points: 12
away_points: 12
rain: false
## Semaine 11
-
date: 2018/7/26 # year/month/day
time: "18:45"
away: vert
home: gris
home_points: 3
away_points: 22
rain: false
-
date: 2018/7/26 # year/month/day
time: "20:15"
away: rouge
home: jaune
home_points: 13
away_points: 11
rain: false
## Semaine 12
-
date: 2018/8/2 # year/month/day
time: "18:45"
away: gris
home: rouge
home_points: 10
away_points: 10
rain: false
-
date: 2018/8/2 # year/month/day
time: "20:15"
away: jaune
home: vert
home_points: 20
away_points: 4
rain: false
## Semaine 13
-
date: 2018/8/9 # year/month/day
time: "18:45"
away: vert
home: rouge
home_points: 2
away_points: 15
rain: false
-
date: 2018/8/9 # year/month/day
time: "20:15"
away: gris
home: jaune
home_points: 19
away_points: 10
rain: false
## Semaine 14
-
date: 2018/8/16 # year/month/day
time: "18:45"
away: jaune
home: rouge
home_points: 5
away_points: 14
rain: false
-
date: 2018/8/16 # year/month/day
time: "20:15"
away: gris
home: vert
home_points: 19
away_points: 5
rain: false
## Semaine 15
-
date: 2018/8/23 # year/month/day
time: "18:45"
away: rouge
home: gris
home_points: 14
away_points: 13
rain: false
-
date: 2018/8/23 # year/month/day
time: "20:15"
away: vert
home: jaune
home_points: 12
away_points: 13
rain: false
## Semaine 16 | Finale
-
date: 2018/8/30 # year/month/day
time: "18:45"
away: rouge
home: gris
home_points: ~
away_points: ~
rain: false
-
date: 2018/8/30 # year/month/day
time: "20:15"
away: vert
home: jaune
home_points: ~
away_points: ~
rain: false
+346
View File
@@ -0,0 +1,346 @@
---
-
date: 2019/05/16
time: "18:45"
away: orange
home: noir
noir : ~
orange : ~
rain: true
-
date: 2019/05/16
time: "20:15"
away: bleu
home: rouge
rouge : ~
bleu : ~
rain: true
-
date: 2019/05/23
time: "18:45"
away: rouge
home: orange
orange : ~
rouge : ~
rain: true
-
date: 2019/05/23
time: "20:15"
away: noir
home: bleu
bleu : ~
noir : ~
rain: true
-
date: 2019/05/30
time: "18:45"
away: orange
home: bleu
bleu : 16
orange : 19
rain: false
-
date: 2019/05/30
time: "20:15"
away: noir
home: rouge
rouge : 13
noir : 9
rain: false
-
date: 2019/06/06
time: "18:45"
away: rouge
home: bleu
bleu : 9
rouge : 11
rain: false
-
date: 2019/06/06
time: "20:15"
away: noir
home: orange
orange : 15
noir : 14
rain: false
-
date: 2019/06/13
time: "18:45"
away: orange
home: rouge
rouge : 14
orange : 6
rain: false
-
date: 2019/06/13
time: "20:15"
away: bleu
home: noir
noir : 1
bleu : 16
rain: false
-
date: 2019/06/15
time: "14:00"
away: orange
home: noir
noir : 14
orange : 2
rain: false
-
date: 2019/06/15
time: "15:30"
away: bleu
home: rouge
rouge : 8
bleu : 9
rain: false
-
date: 2019/06/20
time: "18:45"
away: bleu
home: orange
orange : ~
bleu : ~
rain: true
-
date: 2019/06/20
time: "20:15"
away: rouge
home: noir
noir : ~
rouge : ~
rain: true
-
date: 2019/06/27
time: "18:45"
away: bleu
home: rouge
rouge : 12
bleu : 12
rain: false
-
date: 2019/06/27
time: "20:15"
away: orange
home: noir
noir : 17
orange : 8
rain: false
-
date: 2019/07/04
time: "18:45"
away: noir
home: bleu
bleu : 15
noir : 14
rain: false
-
date: 2019/07/04
time: "20:15"
away: rouge
home: orange
orange : 7
rouge : 17
rain: false
-
date: 2019/07/11
time: "18:45"
away: noir
home: rouge
rouge : ~
noir : ~
rain: yes
-
date: 2019/07/11
time: "20:15"
away: orange
home: bleu
bleu : ~
orange : ~
rain: yes
-
date: 2019/07/18
time: "18:45"
away: rouge
home: bleu
bleu : 12
rouge : 8
rain: false
-
date: 2019/07/18
time: "20:15"
away: noir
home: orange
orange : 6
noir : 6
rain: false
-
date: 2019/07/25
time: "18:45"
away: bleu
home: noir
noir : 11
bleu : 14
rain: false
-
date: 2019/07/25
time: "20:15"
away: orange
home: rouge
rouge : 17
orange : 16
rain: false
-
date: 2019/08/01
time: "18:45"
away: rouge
home: noir
noir : 16
rouge : 9
rain: false
-
date: 2019/08/01
time: "20:15"
away: bleu
home: orange
orange : 16
bleu : 24
rain: false
-
date: 2019/08/08
time: "18:45"
away: rouge
home: noir
noir : 6
rouge : 14
rain: false
-
date: 2019/08/08
time: "20:15"
away: bleu
home: orange
orange : 9
bleu : 18
rain: false
#######################
-
date: 2019/08/10
time: "10:30"
away: orange
home: rouge
orange : 8
rouge : 14
rain: false
-
date: 2019/08/10
time: "12:00"
away: noir
home: bleu
noir : 13
bleu : 14
rain: false
-
date: 2019/08/10
time: "13:30"
away: bleu
home: orange
bleu : 14
orange : 7
rain: false
-
date: 2019/08/10
time: "15:00"
away: rouge
home: noir
rouge : 11
noir : 8
rain: false
#########################
-
date: 2019/08/15
time: "18:45"
away: noir
home: bleu
bleu : ~
noir : ~
rain: false
-
date: 2019/08/15
time: "20:15"
away: rouge
home: orange
orange : ~
rouge : ~
rain: false
-
date: 2019/08/22
time: "18:45"
away: orange
home: bleu
1 : ~
4 : ~
rain: false
-
date: 2019/08/22
time: "20:15"
away: noir
home: rouge
2 : ~
3 : ~
rain: false
-
date: 2019/08/29
time: "18:45"
away: petite
home: finale
finale : ~
petite : ~
rain: false
-
date: 2019/08/29
time: "20:15"
away: grande
home: finale
finale : ~
grande : ~
rain: false
+218
View File
@@ -0,0 +1,218 @@
---
-
date: 2020/07/09
time: '18:30'
away: rouge
home: bleu
bleu : 12
rouge : 13
rain: false
-
date: 2020/07/09
time: '20:00'
away: jaune
home: noir
noir : 14
jaune : 30
rain: false
-
date: 2020/07/16
time: '18:30'
away: bleu
home: noir
noir : 12
bleu : 10
rain: false
-
date: 2020/07/16
time: '20:00'
away: rouge
home: jaune
jaune : 15
rouge : 14
rain: false
-
date: 2020/07/23
time: '18:30'
away: noir
home: rouge
rouge : 6
noir : 11
rain: false
-
date: 2020/07/23
time: '20:00'
away: bleu
home: jaune
jaune : 7
bleu : 10
rain: false
-
date: 2020/08/06
time: '18:30'
away: jaune
home: rouge
rouge : 16
jaune : 10
rain: false
-
date: 2020/08/06
time: '20:00'
away: noir
home: jaune
jaune : 15
noir : 14
rain: false
-
date: 2020/08/06
time: '21:30'
away: noir
home: bleu
bleu : 14
noir : 17
rain: false
-
date: 2020/08/13
time: '18:30'
away: bleu
home: rouge
rouge : 9
bleu : 17
rain: false
-
date: 2020/08/20
time: '18:30'
away: jaune
home: noir
noir : 14
jaune : 18
rain: false
-
date: 2020/08/20
time: '20:00'
away: jaune
home: bleu
bleu : 13
jaune : 6
rain: false
-
date: 2020/08/27
time: '20:00'
away: noir
home: rouge
rouge : 11
noir : 20
rain: false
-
date: 2020/08/27
time: '18:30'
away: bleu
home: noir
noir : 14
bleu : 13
rain: false
-
date: 2020/08/27
time: '21:30'
away: rouge
home: jaune
jaune : 17
rouge : 22
rain: false
-
date: 2020/09/03
time: '18:30'
away: noir
home: rouge
rouge : 19
noir : 12
rain: false
-
date: 2020/09/03
time: '20:00'
away: rouge
home: bleu
bleu : 12
rouge : 23
rain: false
-
date: 2020/09/03
time: '21:30'
away: bleu
home: jaune
jaune : 21
bleu : 19
rain: false
-
date: 2020/09/10
time: '18:30'
away: jaune
home: noir
noir : 15
jaune : 5
rain: false
-
date: 2020/09/10
time: '20:00'
away: bleu
home: rouge
rouge : 8
bleu : 9
rain: false
-
date: 2020/09/17
time: '18:30'
away: jaune
home: rouge
rouge : 19
jaune : 15
rain: false
-
date: 2020/09/17
time: '20:00'
away: bleu
home: noir
noir : 14
bleu : 20
rain: false
-
date: 2020/09/24
time: '18:30'
away: jaune
home: noir
noir : 14
jaune : 16
rain: false
-
date: 2020/09/24
time: '20:00'
away: bleu
home: rouge
rouge : 24
bleu : 23
rain: false
+276
View File
@@ -0,0 +1,276 @@
---
-
date: 2021/06/24 # year/month/day
time: "18:30"
home: gris
away: jaune
gris: ~
jaune: ~
practice: true
rain: false
##################################################################
-
date: 2021/07/01 # year/month/day
time: "18:30"
home: gris
away: jaune
gris: ~
jaune: ~
practice: true
rain: false
##############################################################
-
date: 2021/07/08 # year/month/day
time: "18:30"
away: bleu
home: rouge
bleu: ~
rouge: ~
rain: true
-
date: 2021/07/08 # year/month/day
time: "20:00"
away: jaune
home: orange
jaune: ~
orange: ~
rain: true
##############################################################
-
date: 2021/07/15 # year/month/day
time: "18:30"
away: rouge
home: jaune
rouge: 13
jaune: 12
rain: false
-
date: 2021/07/15 # year/month/day
time: "20:00"
away: bleu
home: orange
bleu: 11
orange: 12
rain: false
##############################################################
-
date: 2021/07/22 # year/month/day
time: "18:30"
away: jaune
home: bleu
jaune: 9
bleu: 19
rain: false
-
date: 2021/07/22 # year/month/day
time: "20:00"
away: orange
home: rouge
orange: 16 # mais rich a peté ça coche, ca devrait donc enlever des points.
rouge: 10
rain: false
##############################################################
-
date: 2021/07/29 # year/month/day
time: "18:30"
away: orange
home: jaune
orange: 10
jaune: 8
rain: false
-
date: 2021/07/29 # year/month/day
time: "20:00"
away: rouge
home: bleu
rouge: 10
bleu: 10
rain: false
##############################################################
-
date: 2021/08/05 # year/month/day
time: "18:30"
away: rouge
home: orange
rouge: ~
orange: ~
rain: false
-
date: 2021/08/05 # year/month/day
time: "20:00"
away: bleu
home: jaune
bleu: ~
jaune: ~
rain: false
##############################################################
-
date: 2021/08/12 # year/month/day
time: "18:30"
away: orange
home: bleu
orange: ~
bleu: ~
rain: false
-
date: 2021/08/12 # year/month/day
time: "20:00"
away: jaune
home: rouge
jaune: ~
rouge: ~
rain: false
##############################################################
-
date: 2021/08/19 # year/month/day
time: "18:30"
away: bleu
home: orange
bleu: ~
orange: ~
rain: false
-
date: 2021/08/19 # year/month/day
time: "20:00"
away: rouge
home: jaune
rouge: ~
jaune: ~
rain: false
##############################################################
-
date: 2021/08/26 # year/month/day
time: "18:30"
away: jaune
home: bleu
jaune: ~
bleu: ~
rain: false
-
date: 2021/08/26 # year/month/day
time: "20:00"
away: orange
home: rouge
orange: ~
rouge: ~
rain: false
##############################################################
-
date: 2021/09/02 # year/month/day
time: "18:30"
away: rouge
home: bleu
rouge: ~
bleu: ~
rain: false
-
date: 2021/09/02 # year/month/day
time: "20:00"
away: orange
home: jaune
orange: ~
jaune: ~
rain: false
##############################################################
-
date: 2021/09/09 # year/month/day
time: "18:30"
away: jaune
home: rouge
jaune: ~
rouge: ~
rain: false
-
date: 2021/09/09 # year/month/day
time: "20:00"
away: orange
home: bleu
orange: ~
bleu: ~
rain: false
##############################################################
-
date: 2021/09/16 # year/month/day
time: "18:30"
away: rouge
home: orange
rouge: ~
orange: ~
rain: false
-
date: 2021/09/16 # year/month/day
time: "20:00"
away: bleu
home: jaune
bleu: ~
jaune: ~
rain: false
##############################################################
-
date: 2021/09/23 # year/month/day
time: "18:30"
away: jaune
home: orange
jaune: ~
orange: ~
rain: false
-
date: 2021/09/23 # year/month/day
time: "20:00"
away: bleu
home: rouge
bleu: ~
rouge: ~
rain: false
+361
View File
@@ -0,0 +1,361 @@
---
-
date: 2022/05/19
time: '18:45'
away: bleu
home: rouge
bleu : ~
rouge : ~
practice: false
rain: true
-
date: 2022/05/19
time: '20:15'
away: orange
home: jaune
orange : ~
jaune : ~
practice: false
rain: true
##
-
date: 2022/05/26
time: '18:45'
away: rouge
home: orange
rouge : ~
orange : ~
practice: false
rain: false
-
date: 2022/05/26
time: '20:15'
away: jaune
home: bleu
jaune : ~
bleu : ~
practice: false
rain: false
##
-
date: 2022/06/02
time: '18:45'
away: jaune
home: rouge
bleu : ~
rouge : ~
practice: false
rain: false
-
date: 2022/06/02
time: '20:15'
away: bleu
home: orange
bleu : ~
rouge : ~
practice: false
rain: false
##
-
date: 2022/06/09
time: '18:45'
away: jaune
home: orange
jaune : ~
orange : ~
practice: false
rain: false
-
date: 2022/06/09
time: '20:15'
away: rouge
home: bleu
rouge : ~
bleu : ~
practice: false
rain: false
##
-
date: 2022/06/16
time: '18:45'
away: jaune
home: bleu
jaune : ~
bleu : ~
practice: false
rain: false
-
date: 2022/06/16
time: '20:15'
away: orange
home: rouge
orange : ~
rouge : ~
practice: false
rain: false
##
-
date: 2022/06/23
time: '18:45'
away: bleu
home: orange
bleu : ~
orange : ~
practice: false
rain: false
-
date: 2022/06/23
time: '20:15'
away: rouge
home: jaune
rouge : ~
jaune : ~
practice: false
rain: false
##
-
date: 2022/06/30
time: '18:45'
away: orange
home: rouge
orange : ~
rouge : ~
practice: false
rain: false
-
date: 2022/06/30
time: '20:15'
away: bleu
home: jaune
bleu : ~
jaune : ~
practice: false
rain: false
##
-
date: 2022/07/07
time: '18:45'
away: jaune
home: orange
orange : ~
jaune : ~
practice: false
rain: false
-
date: 2022/07/07
time: '20:15'
away: bleu
home: jaune
bleu : ~
jaune : ~
practice: false
rain: false
##
-
date: 2022/07/14
time: '18:45'
away: rouge
home: jaune
rouge : ~
jaune : ~
practice: false
rain: false
-
date: 2022/07/14
time: '20:15'
away: orange
home: bleu
orange : ~
bleu : ~
practice: false
rain: false
##
-
date: 2022/07/21
time: '18:45'
away: bleu
home: rouge
bleu : ~
rouge : ~
practice: false
rain: false
-
date: 2022/07/21
time: '20:15'
away: orange
home: jaune
orange : ~
jaune : ~
practice: false
rain: false
##
-
date: 2022/07/28
time: '18:45'
away: bleu
home: jaune
bleu : ~
jaune : ~
practice: false
rain: false
-
date: 2022/07/28
time: '20:15'
away: rouge
home: orange
rouge : ~
orange : ~
practice: false
rain: false
##
-
date: 2022/08/04
time: '18:45'
away: orange
home: bleu
orange : ~
bleu : ~
practice: false
rain: false
-
date: 2022/08/04
time: '20:15'
away: jaune
home: rouge
jaune : ~
rouge : ~
practice: false
rain: false
##
-
date: 2022/08/11
time: '18:45'
away: jaune
home: bleu
jaune : ~
bleu : ~
practice: false
rain: false
-
date: 2022/08/11
time: '20:15'
away: orange
home: rouge
orange : ~
rouge : ~
practice: false
rain: false
##
-
date: 2022/08/11
time: '18:45'
away: jaune
home: bleu
jaune : ~
bleu : ~
practice: false
rain: false
-
date: 2022/08/11
time: '20:15'
away: orange
home: rouge
orange : ~
rouge : ~
practice: false
rain: false
##
-
date: 2022/08/18
time: '18:45'
away: bleu
home: rouge
rouge : ~
bleu : ~
practice: false
rain: false
-
date: 2022/08/18
time: '20:15'
away: orange
home: jaune
orange : ~
jaune : ~
practice: false
rain: false
##
-
date: 2022/08/25
time: '18:45'
away: rouge
home: jaune
rouge : ~
jaune : ~
practice: false
rain: false
-
date: 2022/08/25
time: '20:15'
away: bleu
home: orange
bleu : ~
orange : ~
practice: false
rain: false
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

+5
View File
@@ -0,0 +1,5 @@
[Dolphin]
SortRole=modificationtime
Timestamp=2018,3,19,17,32,48
Version=4
ViewMode=1
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Generated
+42
View File
@@ -0,0 +1,42 @@
{
"nodes": {
"flake-utils": {
"locked": {
"lastModified": 1649676176,
"narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1650998007,
"narHash": "sha256-NcJnbGDBBN023x8s3ll3HZxBcQoPq1ry9E2sjg+4flc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a3917caedfead19f853aa5769de4c3ea4e4db584",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-21.11",
"type": "indirect"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}
+32
View File
@@ -0,0 +1,32 @@
{
description = "Trying nest.js";
inputs = {
nixpkgs.url = "nixpkgs/nixos-21.11";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let pkgs = nixpkgs.legacyPackages.${system}; in
rec {
packages = flake-utils.lib.flattenTree {
hello = pkgs.hello;
gitAndTools = pkgs.gitAndTools;
nodejs = pkgs.nodejs;
};
defaultPackage = packages.hello;
apps.hello = flake-utils.lib.mkApp { drv = packages.hello; };
defaultApp = apps.hello;
devShell = pkgs.mkShell {
name = "Nid-JS";
buildInputs = with pkgs; [
nodejs
flyway
nodePackages.node2nix
];
};
}
);
}
+120 -37
View File
@@ -1,68 +1,151 @@
var gulp = require('gulp'); var gulp = require('gulp');
var bower = require('gulp-bower'); const { series } = require('gulp');
var help = require('gulp-task-listing'); var help = require('gulp-task-listing');
var clean = require('gulp-clean'); var clean = require('gulp-clean');
var sass = require('gulp-sass'); var toml = require('gulp-toml');
var gulpSass = require('gulp-sass');
var rename = require("gulp-rename"); var rename = require("gulp-rename");
var yaml = require('gulp-yaml'); var yaml = require('gulp-yaml');
var template = require('gulp-template'); var template = require('gulp-template');
var wrapper = require('gulp-wrapper');
var webserver = require('gulp-webserver'); var webserver = require('gulp-webserver');
var marked = require('marked');
var spritz = require('spritzjs');
var modify = require('gulp-modify');
var _ = require('lodash');
var fs = require('fs');
gulp.task('help', help); exports.help = help;
gulp.task('bower', function(){
return bower()
.pipe(gulp.dest('lib/'))
.on('error', console.log);
});
gulp.task('sass', ['bower'], function(){ exports.sass = function sass(){
var extraSassPath = ['./lib/']; var extraSassPath = ['./node_modules/'];
return gulp.src('./scss/*.scss') return gulp.src('./scss/*.scss')
.pipe(sass({includePaths: extraSassPath}).on('error', console.log)) .pipe(gulpSass({includePaths: extraSassPath}).on('error', gulpSass.logError))
.pipe(gulp.dest('./css')); .pipe(gulp.dest('./css'));
}); }
gulp.task('clean', function(){ exports.clean = function clean(){
return gulp.src(["lib/", "css/"], {read: false}) return gulp.src(["lib/", "css/"], {read: false})
.pipe(clean()); .pipe(clean());
}); }
gulp.task('compile-results', function(){ exports.compileResults = function compileResults(){
return gulp.src('data/*.yaml') return gulp.src('data/*.yaml')
.pipe(yaml({safe: true})) .pipe(yaml({safe: true}).on('error', console.log))
.pipe(gulp.dest('./api')); .pipe(gulp.dest('./api'));
}); };
gulp.task('template-prod', function () { var encryptFile = function(message){
var keyLengthInBytes = 128;
var salt = process.env.SALT || 'salt';
var stringKey = salt + (process.env.KEY || 'qwerty');
var key = spritz.hash(stringKey, keyLengthInBytes);
var byteArrMessage = spritz.stringToUtf8ByteArray(message);
var cypher = spritz.encrypt(key, byteArrMessage);
return JSON.stringify(cypher);
};
var wrapEncryptedData = function(encryptedData){
return 'window.encryptedPlayerList = ' + encryptedData + ';';
};
exports.encryptResults = function encryptResults(){
return gulp.src('api/*.clear.json')
.pipe(modify({
fileModifier: function(file, content) {
return wrapEncryptedData(encryptFile(content));
}
}))
.pipe(rename(function(path){
path.basename = path.basename.replace(/\.clear$/i, '');
path.extname = '.spritz.js';
return path;
}))
.pipe(gulp.dest('./api'));
};
function getAvailableYears(files) {
var rgx = /^resultats(\d*).yaml/;
return files
.map((f) => rgx.exec(f))
.filter(_.isArray)
.map((a) => _.get(a, 1, ''))
.filter(_.identity)
.sort();
}
exports.templateProd = function templateProd() {
var dataFiles = fs.readdirSync('./data');
var data = {
production: true,
availableYears: JSON.stringify(getAvailableYears(dataFiles)),
salt: process.env.SALT,
playerListLocation: process.env.PLAYER_LIST_LOCATION}
return gulp.src('index.tmpl.html') return gulp.src('index.tmpl.html')
.pipe(rename("index.html")) .pipe(rename("index.html"))
.pipe(template({production: true})) .pipe(template(data))
.pipe(gulp.dest('.')); .pipe(gulp.dest('.'));
}); };
gulp.task('template-dev', function () { exports.templateDev = function templateDev() {
var dataFiles = fs.readdirSync('./data');
var data = {
availableYears: JSON.stringify(getAvailableYears(dataFiles)),
production: false,
salt: 'salt',
playerListLocation: 'api/players.spritz.js'}
console.log(data);
return gulp.src('index.tmpl.html') return gulp.src('index.tmpl.html')
.pipe(rename("index.html")) .pipe(rename("index.html"))
.pipe(template({production: false})) .pipe(template(data))
.pipe(gulp.dest('.')); .pipe(gulp.dest('.'));
}); };
exports.compileArticles = function compileArticles(){
var transformArticle = function(article){
var isMarkdownKey = /markdown/i;
_.each(article, function(section, sectionName){
_.each(section, function(value, key){
if(isMarkdownKey.test(key) && _.isString(value)){
section[key] = marked(value);
}
});
});
return JSON.stringify(article, null, 4);
};
return gulp.src('data/articles/**/*.toml.md')
.pipe(toml({to: transformArticle}))
.pipe(wrapper({
header: "define(['m', '_'], function (m, _ ) {\nreturn ",
footer: ';\n});\n'
}))
.pipe(rename(function(path){
path.basename = path.basename.replace(/\.toml$/i, '');
path.extname = '.js';
return path;
}))
.pipe(gulp.dest('./script/articles/'));
};
gulp.task('default', ['bower', 'sass', 'compile-results']); exports.base = series(
exports.sass,
exports.compileResults,
exports.compileArticles,
exports.encryptResults
gulp.task('prod', ['default', 'template-prod']); );
gulp.task('webserver', function(){ exports.prod = series(
return gulp.src('.') exports.base,
.pipe(webserver({ exports.templateProd
livereload: false, );
directoryListing: false,
}));
});
gulp.task('dev', ['default', 'webserver', 'template-dev'], function(){ exports.dev = series(
gulp.watch('./scss/*.scss', ['sass']); exports.base,
gulp.watch('*.tmpl.html', ['template-dev']); exports.templateDev
return gulp.watch('./data/*.yaml', ['compile-results']); );
});
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

File diff suppressed because it is too large. Load diff
Binary file not shown.
File diff suppressed because it is too large. Load diff

After

Width:  |  Height:  |  Size: 219 KiB

File diff suppressed because it is too large. Load diff

After

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

+10 -3
View File
@@ -1,17 +1,24 @@
<!doctype html> <!doctype html>
<html> <html>
<head> <head>
<meta charset="utf-8" >
<title>Balle Phenix</title> <title>Balle Phenix</title>
<meta charset="utf-8" /> <link rel="shortcut icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/style.css" /> <link rel="stylesheet" href="css/style.css" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
</head> </head>
<body> <body>
<script>
window.salt = "<%= salt %>";
window.availableYears = <%= availableYears %>;
</script>
<script src="<%= playerListLocation %>"></script>
<%if(production){ %> <%if(production){ %>
<script src="main-built.js"></script> <script src="main-built.js"></script>
<% }else{ %> <% }else{ %>
<script data-main="script/main" src="lib/requirejs/require.js"></script> <script data-main="script/main" src="node_modules/requirejs/require.js"></script>
<% } %> <% } %>
</body> </body>
</html> </html>
-18
View File
@@ -1,18 +0,0 @@
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'install' ]
2 info using npm@1.4.28
3 info using node@v0.10.37
4 verbose node symlink /usr/bin/node
5 error install Couldn't read dependencies
6 error package.json ENOENT, open '/home/didier/dev/go/src/gitlab.com/didiercrunch/phenix-website/static/package.json'
6 error package.json This is most likely not a problem with npm itself.
6 error package.json npm can't find a package.json file in your current directory.
7 error System Linux 4.2.0-23-generic
8 error command "/usr/bin/node" "/usr/bin/npm" "install"
9 error cwd /home/didier/dev/go/src/gitlab.com/didiercrunch/phenix-website/static
10 error node -v v0.10.37
11 error npm -v 1.4.28
12 error path /home/didier/dev/go/src/gitlab.com/didiercrunch/phenix-website/static/package.json
13 error code ENOPACKAGEJSON
14 error errno 34
15 verbose exit [ 34, true ]
+4937
View File
File diff suppressed because it is too large. Load diff
+17 -11
View File
@@ -4,18 +4,24 @@
"description": "Main web site of Balle Phénix.", "description": "Main web site of Balle Phénix.",
"main": "index.html", "main": "index.html",
"dependencies": { "dependencies": {
"gulp": "^3.9.0", "almond": "^0.3.3",
"gulp-bower": "0.0.13", "gulp": "^4.0.2",
"gulp-clean": "^0.3.1", "gulp-clean": "^0.4.0",
"gulp-rename": "^1.2.2", "gulp-modify": "^0.1.1",
"gulp-sass": "^2.1.1", "gulp-rename": "^2.0.0",
"gulp-task-listing": "^1.0.1", "gulp-sass": "^4.1.0",
"gulp-template": "^3.1.0", "gulp-task-listing": "^1.1.0",
"requirejs": "^2.1.22" "gulp-template": "^5.0.0",
}, "gulp-toml": "^0.2.0",
"devDependencies": {
"gulp-webserver": "^0.9.1", "gulp-webserver": "^0.9.1",
"gulp-yaml": "^1.0.1" "gulp-wrapper": "^1.0.0",
"gulp-yaml": "^2.0.4",
"lodash": "^4.17.21",
"marked": "^2.0.7",
"mithril": "^0.2.5",
"requirejs": "^2.3.6",
"spritzjs": "https://gitlab.com/didiercrunch/spritzjs.git",
"uikit": "^2.27.2"
}, },
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"Error: no test specified\" && exit 1"
+1
View File
@@ -0,0 +1 @@
*.js
+15
View File
@@ -0,0 +1,15 @@
define(['m', 'articles/saison_2021'], function (m, saison_2021) {
var simplifyArticleStructure = function(article){
var ret = {};
_.each(article, function(section, sectionName){
ret[sectionName] = m.trust(section.innerMarkdown);
});
return ret;
};
var articles = [
saison_2021
];
return _.map(articles, simplifyArticleStructure);
});
+13
View File
@@ -0,0 +1,13 @@
define(['m', '_'], function (m, _ ) {
return {
"title": {
"innerMarkdown": "<h2 id=\"début-saison-2017-retardée\">Début saison 2017 retardée</h2>\n"
},
"meta": {
"innerMarkdown": "<p>Samedi 23 avril 2017</p>\n"
},
"body": {
"innerMarkdown": "<p>Suite à la situation au parc Walter-Stewart, nous n&#39;avons toujours pas de date définie\npour le début de la saison. La situation devrait se régler incessamment. Nous vous\ndonnerons des nouvelles dès que nous en aurons.</p>\n<p>Merci beaucoup,</p>\n<p>Comité ballephenix!</p>\n"
}
};
});
+19
View File
@@ -0,0 +1,19 @@
define(['m'], function(m) {
return function(size){
return m("svg[viewBox='0 0 107.95 87.723']",{width: size, height: size}, [
m("defs[id='defs16']"),
m("g[id='layer1'][transform='translate(-310.1 -167.39)']", [
m("g[id='g13542'][transform='translate(-2.4761 19.309)']", [
m("path[d='m378.31 207.24c15.43-1.4 26.66-5.66 26.66-10.69 0-0.41-0.27-0.8-0.42-1.2 0.91 0.23 1.83 0.46 2.83 0.46 5.57 0 10.07-3.78 10.07-8.44 0-4.65-4.5-8.41-10.07-8.41-0.68 0-1.29 0.22-1.93 0.33 0.56-1.86 0.95-3.77 0.95-5.79 0-12.33-11.17-22.34-24.95-22.34-9.77 0-18.13 5.09-22.23 12.4-1.64-0.92-3.47-1.48-5.4-1.48-5.83 0-10.68 4.69-12.18 11.06-2.56-1.01-5.52-1.64-8.7-1.64-9.54 0-17.29 5.23-17.29 11.67 0 5.81 6.35 10.59 14.6 11.47-0.37 0.63-0.66 1.25-0.66 1.91 0 4.25 8.01 7.94 19.79 9.83'][id='path8749']", {style: {"stroke-linejoin": "round", "stroke": "#6798e9", "stroke-linecap": "round", "stroke-miterlimit": ".5", "stroke-width": "12.154", "fill": "none"}}),
m("path[d='m338.14 223.91c-8.25 7.27 1.43 13.47 5.12 3.49l2.83-9.26-7.95 5.77z'][id='path8734']", {style: {"stroke": "#6798e9", "stroke-miterlimit": "3.2", "stroke-width": "8", "fill": "#6798e9"}}),
m("path[d='m367.18 225.11c-8.25 7.27 1.44 13.47 5.13 3.49l2.83-9.26-7.96 5.77z'][id='path8736']", {style: {"stroke": "#6798e9", "stroke-miterlimit": "3.2", "stroke-width": "8", "fill": "#6798e9"}}),
m("path[d='m360.42 209.77c-8.25 7.27 1.44 13.47 5.12 3.49l2.83-9.26-7.95 5.77z'][id='path8738']", {style: {"stroke": "#6798e9", "stroke-miterlimit": "3.2", "stroke-width": "8", "fill": "#6798e9"}}),
m("path[d='m378.31 207.24c15.43-1.4 26.66-5.66 26.66-10.69 0-0.41-0.27-0.8-0.42-1.2 0.91 0.23 1.83 0.46 2.83 0.46 5.57 0 10.07-3.78 10.07-8.44 0-4.65-4.5-8.41-10.07-8.41-0.68 0-1.29 0.22-1.93 0.33 0.56-1.86 0.95-3.77 0.95-5.79 0-12.33-11.17-22.34-24.95-22.34-9.77 0-18.13 5.09-22.23 12.4-1.64-0.92-3.47-1.48-5.4-1.48-5.83 0-10.68 4.69-12.18 11.06-2.56-1.01-5.52-1.64-8.7-1.64-9.54 0-17.29 5.23-17.29 11.67 0 5.81 6.35 10.59 14.6 11.47-0.37 0.63-0.66 1.25-0.66 1.91 0 4.25 8.01 7.94 19.79 9.83'][id='path10281']", {style: {"stroke-linejoin": "round", "stroke": "#6798e9", "stroke-linecap": "round", "stroke-miterlimit": ".5", "stroke-width": "12.154", "fill": "none"}}),
m("path[d='m338.14 223.91c-8.25 7.27 1.43 13.47 5.12 3.49l2.83-9.26-7.95 5.77z'][id='path10283']", {style: {"stroke": "#6798e9", "stroke-miterlimit": "3.2", "stroke-width": "8", "fill": "#6798e9"}}),
m("path[d='m367.18 225.11c-8.25 7.27 1.44 13.47 5.13 3.49l2.83-9.26-7.96 5.77z'][id='path10285']", {style: {"stroke": "#6798e9", "stroke-miterlimit": "3.2", "stroke-width": "8", "fill": "#6798e9"}}),
m("path[d='m360.42 209.77c-8.25 7.27 1.44 13.47 5.12 3.49l2.83-9.26-7.95 5.77z'][id='path10287']", {style: {"stroke": "#6798e9", "stroke-miterlimit": "3.2", "stroke-width": "8", "fill": "#6798e9"}})
])
])
]);
};
});
+8 -4
View File
@@ -1,20 +1,24 @@
requirejs.config({ requirejs.config({
// baseUrl: 'lib',
paths: { paths: {
'_': '../lib/lodash/dist/lodash.min', '_': '../node_modules/lodash/lodash.min',
'm': '../lib/mithril/mithril.min' 'm': '../node_modules/mithril/mithril.min',
'spritz': '../node_modules/spritzjs/dist/spritz'
} }
}); });
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/historicPage', 'views/newsPage', 'views/calendarPage', 'views/rulesPage', 'views/photosPage', 'views/confidentialPage', 'views/contactPage', 'views/inscriptionForm'], function(m, mainPage, historicPage, newsPage, calendarPage, rulesPage, photosPage, confidentialPage, contactPage, inscriptionForm){
m.route.mode = "hash"; m.route.mode = "hash";
m.route(document.body, "/", { m.route(document.body, "/", {
"/": mainPage, "/": mainPage,
"/nouvelles": newsPage,
"/inscription-form": inscriptionForm,
"/calendrier": calendarPage, "/calendrier": calendarPage,
"/calendrier/:year": calendarPage,
"/reglement": rulesPage, "/reglement": rulesPage,
"/photos": photosPage, "/photos": photosPage,
"/membre": confidentialPage, "/membre": confidentialPage,
"/historique": historicPage,
"/contact": contactPage "/contact": contactPage
}); });
}); });
+24 -1
View File
@@ -14,7 +14,18 @@ define(['_'], function(_) {
return res; return res;
}; };
resultParser._setCanonicalPoints = function(res){
if(!_.isNumber(res.home_points) && _.isNumber(_.get(res, res.home))){
res.home_points = res[res.home];
}
if(!_.isNumber(res.away_points) && _.isNumber(_.get(res, res.away))){
res.away_points = res[res.away];
}
return res;
}
resultParser.parseResults = function(rawResults){ resultParser.parseResults = function(rawResults){
rawResults = _.map(rawResults, resultParser._setCanonicalPoints);
rawResults = _.map(rawResults, resultParser._addJSDateToResult); rawResults = _.map(rawResults, resultParser._addJSDateToResult);
rawResults = _.map(rawResults, resultParser._addCustomStyle); rawResults = _.map(rawResults, resultParser._addCustomStyle);
return rawResults; return rawResults;
@@ -101,8 +112,20 @@ define(['_'], function(_) {
return ret; return ret;
}; };
resultParser._removeTemporaryResults = function(rawResults){
return _.filter(rawResults, function(rawResult){
return !rawResult.temporary;
});
};
resultParser._isValidGame = function(game){
return !game.rain && ! game.practice;
};
resultParser.getStats = function(rawResults){ resultParser.getStats = function(rawResults){
var allTeams = resultParser._getAllTeams(rawResults); rawResults = _.filter(rawResults, resultParser._isValidGame);
rawResults = _.map(rawResults, resultParser._setCanonicalPoints);
var allTeams = resultParser._getAllTeams(resultParser._removeTemporaryResults(rawResults));
var getTeamStats = _.partial(resultParser._getTeamStats, rawResults); var getTeamStats = _.partial(resultParser._getTeamStats, rawResults);
return _.map(allTeams, getTeamStats); return _.map(allTeams, getTeamStats);
}; };
+21 -14
View File
@@ -1,21 +1,28 @@
define(['m', '_'], function (m, _) { define(['m', '_'], function (m, _) {
var teams = {}; var teams = {};
teams.getTeamColor = function(teamName){ teams.teams = function(){
if(teamName == 'jaune'){ return [
return '#FF0'; {name: 'remplaçants', color: '#FFA500'},
} {name: 'jaune', color: '#FF0'},
if(teamName == 'rouge'){ {name:'rouge', color: '#F00'},
return '#F00'; {name:'bleu', color: '#00F'},
} {name:'gris', color: '#808080'},
if(teamName == 'bleu'){ {name:'vert', color: '#008000'},
return '#00F'; {name: 'noir', color: '#000000'},
} {name: 'orange', color: '#FFA500'},
if(teamName == 'gris'){ ];
return '#808080'; };
}
return undefined; teams.getTeamColor = function(teamName){
var color;
_.each(teams.teams(), function(team){
if(team.name == teamName){
color = team.color;
return false;
}
});
return color;
}; };
return teams; return teams;
+61 -4
View File
@@ -1,7 +1,7 @@
define(['m'], function(m) { define(['m'], function(m) {
var util = {}; var util = {};
util.loremIpsum = function(){ util.loremIpsum = function(n){
return "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a"+ var loremIpsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a"+
" diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula "+ " diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula "+
"ac quam viverra nec consectetur ante hendrerit. Donec et mollis"+ "ac quam viverra nec consectetur ante hendrerit. Donec et mollis"+
" dolor. Praesent et diam eget libero egestas mattis sit amet"+ " dolor. Praesent et diam eget libero egestas mattis sit amet"+
@@ -13,11 +13,15 @@ define(['m'], function(m) {
"magna consequat sagittis. Curabitur dapibus enim sit amet elit "+ "magna consequat sagittis. Curabitur dapibus enim sit amet elit "+
"pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero "+ "pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero "+
"in urna ultrices accumsan. Donec sed od"; "in urna ultrices accumsan. Donec sed od";
loremIpsum = loremIpsum.split(' ');
n = n || loremIpsum.length;
return loremIpsum.splice(0, n).join(" ");
}; };
util.formatDate = function(date){ util.formatDate = function(date){
var monthNames = ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', var monthNames = ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
'juiller', 'août', 'septembre', 'octobre', 'novembre', 'juillet', 'août', 'septembre', 'octobre', 'novembre',
'decembre']; 'decembre'];
return [date.getDate(), return [date.getDate(),
monthNames[date.getMonth()], monthNames[date.getMonth()],
@@ -25,11 +29,64 @@ define(['m'], function(m) {
}; };
util.formatDateSmall = function(date){
var smallMonthNames = ['janv', 'févr', 'mars', 'avr', 'mai', 'juin',
'juill', 'août', 'sept', 'oct', 'nov',
'dec'];
return [date.getDate(),
smallMonthNames[date.getMonth()],
date.getFullYear() % 1000].join(' ');
};
util.join = function(arr, sep){
if(!_.isArray(arr) || arr.length < 1){
return [];
}
var ret = [arr.pop()];
_.each(arr, function(elm){
ret.push(sep);
ret.push(elm);
});
return ret;
};
util.facebookLink = function(){ util.facebookLink = function(){
return m('a[href="https://www.facebook.com/LigueDeBalleLesPhenix"]', return m('a[href="https://www.facebook.com/SportsPhenixMtl"]',
m('i.fa.fa-facebook-square') m('i.fa.fa-facebook-square')
); );
}; };
util.emailLink = function(){
return m('a[href="mailto:sportsphenixmtl@gmail.com"]', 'sportsphenixmtl@gmail.com');
};
util.resultatsURL = function(year){
var cacheBuster = window.Date.now();
year = !!year ? year: util.getDefaultYear();
return "api/resultats" + year + ".json?_=" + cacheBuster;
};
util.getAvailableYears = function(){
if(window.availableYears){
return _.clone(window.availableYears)
}
return [];
};
util.getDefaultYear = function(){
return _.max(util.getAvailableYears());
}
util.getResults = function(year){
var url = util.resultatsURL(year);
return m.request({method: "GET", url: url})
};
util.getDefaultResults = function(){
return util.getResults(util.getDefaultYear());
};
return util; return util;
}); });
+62 -52
View File
@@ -1,9 +1,13 @@
define(['m', '_', 'util', 'resultParser', 'teams', 'views/topNavBar', 'views/footer'], function(m, _, util, resultParser, teams, topNavBar, footer) { define(['m', '_', 'util', 'resultParser', 'teams', 'views/topNavBar', 'views/footer', 'views/schedulView'], function(m, _, util, resultParser, teams, topNavBar, footer, schedulView) {
function ppYear(year, availableYears) {
return _.last(availableYears) == year ? "" : year;
}
var statsView = {}; var statsView = {};
statsView.controller = function(){ statsView.controller = function(year){
var games = m.prop([]); var games = m.prop([]);
return m.request({method: "GET", url: "api/resultats.json"}) return util.getResults(year)
.then(games) .then(games)
.then(resultParser.getStats); .then(resultParser.getStats);
}; };
@@ -25,7 +29,14 @@ define(['m', '_', 'util', 'resultParser', 'teams', 'views/topNavBar', 'views/foo
]); ]);
}; };
statsView.isStatForValidTeam = function(stat){
var teamNames = _.map(teams.teams(), 'name');
return _.includes(teamNames, stat.team);
}
statsView.mainTable = function(stats){ statsView.mainTable = function(stats){
var orderedStats = _.reverse(_.sortBy(stats, ['points', 'pointsFor']));
return m('table.uk-table.uk-table-hover.uk-table-striped',[ return m('table.uk-table.uk-table-hover.uk-table-striped',[
m('thead', m('tr', [ m('thead', m('tr', [
m('th', 'Équipes'), m('th', 'Équipes'),
@@ -38,7 +49,10 @@ define(['m', '_', 'util', 'resultParser', 'teams', 'views/topNavBar', 'views/foo
m('th', 'DIF'), m('th', 'DIF'),
m('th', 'PTS') m('th', 'PTS')
])), ])),
m('tbody', _.map(stats, statsView.getStatRow)) m('tbody', _(orderedStats)
.filter(statsView.isStatForValidTeam)
.map(statsView.getStatRow)
.value())
]); ]);
}; };
@@ -53,74 +67,70 @@ define(['m', '_', 'util', 'resultParser', 'teams', 'views/topNavBar', 'views/foo
]); ]);
}; };
statsView.view = function(stats){ statsView.view = function(stats, year){
return m('div.uk-grid', return m('div.uk-grid',
m('div.uk-width-medium-1-1.uk-width-large-1-1.uk-container-center',[ m('div.uk-width-medium-1-1.uk-width-large-1-1.uk-container-center',[
m('h2', 'Classement 2016'), m('h2', 'Classement ' + year),
statsView.mainTable(stats()), statsView.mainTable(stats()),
statsView.legend() statsView.legend()
])); ]));
}; };
var tabView = {};
var schedulView = {}; tabView._createTab = function(activeYear, availableYears, year){
var isActive = (activeYear == year) || (activeYear == ppYear(year, availableYears));
return m('li', {'class': isActive ? 'uk-active': ''}, // 'uk-active'
m('a', {href: '#/calendrier/' + ppYear(year, availableYears)}, 'Saison ' + year));
}
schedulView.controller = function(){ tabView.view = function(vnode, isPlayoff, activeYear, availableYears){
var games = m.prop([]); var createTab = _.partial(tabView._createTab, activeYear, availableYears);
return m.request({method: "GET", url: "api/resultats.json"}) return m('div.uk-margin', m('h2', 'Calendrier ' + ppYear(activeYear, availableYears)),
.then(games) m('ul.uk-tab', _.reverse(_.map(availableYears, createTab))));
.then(resultParser.getNightGames);
}; };
schedulView._getTeamTag = function(teamName){ var playoffView = {};
var teamColor = teams.getTeamColor(teamName);
return [ playoffView.line = function(x1, y1, x2, y2){
m('i.fa.fa-flag', {style: {color: teamColor}}), return m('line', {'x1': x1,
m('span', ' ' + teamName) 'y1': y1,
]; 'x2': x2,
'y2': y2,
style: 'stroke:rgb(255,0,0);stroke-width:2'})
}
playoffView.horizontalLine = function(x1, x2, y){
return playoffView.line(x1, y, x2, y);
}; };
schedulView._asGamePoints = function(points){ playoffView.view = function(){
return !_.isNumber(points) ? '-' : points + ''; var width = 600;
}; var height = 600;
var padding = 40;
schedulView._gameRow = function(game){ return m('div',
return m('tr',[ m('svg', {width: width, height: height},
m('td', game.time), playoffView.horizontalLine(padding, width/2 - padding, height/3),
m('td', schedulView._getTeamTag(game.home)), playoffView.horizontalLine(padding, width/2 - padding, 2 * height/3)
m('td', schedulView._asGamePoints(game.home_points)), ));
m('td', 'vs'),
m('td', schedulView._getTeamTag(game.away)),
m('td', schedulView._asGamePoints(game.away_points))
]);
};
schedulView._gameView = function(gameNight){
return m('div', [m('h3', util.formatDate(gameNight.jsDate)),
m('table.uk-table.uk-table-hover.uk-table-condensed.uk-table-striped',
m('tbody',[
_.map(gameNight.games, schedulView._gameRow),
])
)
]);
};
schedulView.view = function(games){
return m('div.uk-grid',
m('div.uk-width-large-3-5.uk-width-medium-1-1',
_.concat([m('h2', 'Calendrier 2016')], _.map(games(), schedulView._gameView))));
}; };
calendarPage = {}; calendarPage = {};
calendarPage.view = function(){ calendarPage.view = function(vnode){
var isPlayoff = window.location.hash.endsWith('playoff');
var availableYears = util.getAvailableYears();
var year = _.get(m.route.param(), 'year', util.getDefaultYear());
var main = isPlayoff ? m.component(playoffView) : m.component(schedulView, year, availableYears);
return [m.component(topNavBar), return [m.component(topNavBar),
m('div.uk-grid.uk-margin-top.uk-margin-bottom', 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('div.uk-width-large-3-5.uk-width-medium-4-5.uk-width-small-1-1.uk-container-center',[
m.component(statsView), m.component(statsView, year, availableYears),
m.component(schedulView)])), m.component(tabView, isPlayoff, year, availableYears),
main
])),
m.component(footer)]; m.component(footer)];
}; };
+8 -208
View File
@@ -1,220 +1,20 @@
define(['m', '_', 'event', 'teams', 'views/topNavBar', 'views/footer'], function (m, _ , Events, teams, topNavBar, footer) { define(['m', '_', 'teams', 'views/loginPage', 'views/playersPage', 'views/topNavBar', 'views/footer'], function (m, _ , teams, loginPage, playersPage, topNavBar, footer) {
var confidentialSelection = {};
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('&nbsp;'));
};
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 = {}; var confidentialPage = {};
confidentialPage.view = function(){ confidentialPage.view = function(){
var body;
if(_.isEmpty(localStorage.getItem('secret'))){
body = loginPage;
}else{
body = playersPage;
}
return [ return [
m.component(topNavBar), m.component(topNavBar),
m('div.uk-grid.uk-margin-top.uk-margin-bottom', m.component(body),
m('div.uk-width-large-3-5.uk-width-small-1-1.uk-container-center',[
m.component(confidentialPageBody, {})
])),
m.component(footer) m.component(footer)
]; ];
}; };
return confidentialPage; return confidentialPage;
}); });
+57 -4
View File
@@ -1,9 +1,62 @@
define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], function (m, _ , util, resultParser, topNavBar, footer) { define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], function (m, _ , util, resultParser, topNavBar, footer) {
var rulesPageBody = {}; var contactBody = {};
rulesPageBody.view = function(){ contactBody.logo = function(){
return m('h1', 'En construction'); var style = 'height: 300px; width: 300px; background-size: 300px; 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.tel = function(){
return ' (514) 838-8950';
};
contactBody.address = function(){
return m('p', ' 10454 Sylvain-Garneau', m('br'), 'Montréal, Québec H1C 0A2');
};
contactBody.website = function(){
var gitlabUrl = 'https://gitlab.com/ballephenix/website';
return m('p', ' Le site web est ouvert et accessible sur ',
m('a', {href: gitlabUrl}, 'gitlab.'));
};
contactBody.contact = function(){
return m('div.div.uk-panel.uk-panel-box.uk-panel-box-secondary.uk-container-center.uk-margin',[
m('table.uk-table',
m('tr',
m('td.uk-text-right', m('i.fa.fa-desktop')),
m('td', util.emailLink())
),
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('tr',
m('td.uk-text-right', m('i.fa.fa-gitlab')),
m('td', contactBody.website())
)
)
]);
};
contactBody.view = function(){
return m('div.uk-margin-top.uk-margin-bottom.uk-grid',
m('div.uk-width-large-2-5.uk-width-medium-4-5.uk-width-small-1-1.uk-container-center', [
contactBody.logoLine(),
contactBody.contact()
])
);
}; };
var contactPage = {}; var contactPage = {};
@@ -11,7 +64,7 @@ define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], fu
contactPage.view = function(){ contactPage.view = function(){
return [ return [
m.component(topNavBar), m.component(topNavBar),
m.component(rulesPageBody), m.component(contactBody),
m.component(footer) m.component(footer)
]; ];
}; };
+1 -1
View File
@@ -13,7 +13,7 @@ define(['m', '_', 'util'], function (m, _, util) {
m('div.uk-container.uk-container-center.uk-text-center', [ m('div.uk-container.uk-container-center.uk-text-center', [
m('div.uk-panel', footer.wording()), m('div.uk-panel', footer.wording()),
m('ul.uk-subnav.uk-subnav-line.uk-flex-center', m('ul.uk-subnav.uk-subnav-line.uk-flex-center',
m('li', m('a[href="mailto:info@ballephenix.com"]', 'info@ballephenix.com'))), m('li', util.emailLink())),
m('h1', util.facebookLink()) m('h1', util.facebookLink())
]) ])
); );
+28
View File
@@ -0,0 +1,28 @@
define(['m', '_', 'util', 'views/topNavBar', 'views/calendarPage'], function(m, _, util, topNavBar, calendarPage) {
var yearSelector = {};
yearSelector.view = function(){
return m('div.uk-grid',
m('div.uk-width-large-3-5.uk-width-medium-1-1.uk-container-center',
yearSelector.tab()));
};
yearSelector.tab = function(){
return m('ul.uk-tab.uk-margin-top', [
m('li.uk-active', m('a', 'Saison 2016'))
]);
};
var historicPage = {};
historicPage.view = function(){
return [
m.component(topNavBar),
m.component(yearSelector)
// m.component(calendarPage)
];
};
return historicPage;
});
+53
View File
@@ -0,0 +1,53 @@
define(['m', '_',], function (m, _ ) {
var inscriptionForm = {};
inscriptionForm.title = function(){
return m('h1.uk-width-1-1.uk-text-center', 'Inscription Balle Phénix');
};
inscriptionForm._field = function(label){
return m('label', label, m('input.uk-form-width-large', {type: 'text'}));
};
inscriptionForm.identification = function(){
return m('form.uk-form', m('fieldset',
m('legend', 'Identification'),
m('div.uk-margin-top.uk-margin-bottom.uk-grid',
m('div.uk-width-1-2', inscriptionForm._field('Nom')),
m('div.uk-width-1-2', inscriptionForm._field('Prénom'))),
m('div.uk-margin-top.uk-margin-bottom.uk-grid',
m('div.uk-width-1-2', inscriptionForm._field('Adresse')),
m('div.uk-width-1-2', inscriptionForm._field('Chanson préférée'))),
m('div.uk-margin-top.uk-margin-bottom.uk-grid',
m('div.uk-width-1-3', inscriptionForm._field('Ville')),
m('div.uk-width-1-3', inscriptionForm._field('Code postal')),
m('div.uk-width-1-3', inscriptionForm._field('Tél')))
));
};
inscriptionForm.inscription = function(){
return m('form.uk-form',
m('h2.uk-width-1-1.uk-text-center', 'Inscription'),
m('div.uk-margin-top.uk-margin-bottom.uk-grid',
m('div.uk-width-1-1',
inscriptionForm._field('Inscription en duo. Inscrivez le nom du joueur')))
);
};
inscriptionForm.view = function(){
return [
inscriptionForm.title(),
inscriptionForm.identification(),
inscriptionForm.inscription()
];
// return m('form', m('label', 'Nom', m('input', {type: 'text'})));
};
return inscriptionForm;
});
+55
View File
@@ -0,0 +1,55 @@
define(['m', '_'], function (m, _) {
var loginPage = {};
loginPage.salt = window.salt;
loginPage.controller = function(){
return {email: m.prop(''), password: m.prop('')};
};
loginPage.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});
};
loginPage.logoLine = function(){
return m('div.uk-grid.uk-margin',
m('div.uk-width-1-1', loginPage.logo()));
};
loginPage.login = function(ctrl){
return function(){
localStorage.setItem('secret', loginPage.salt + ctrl.email() + ctrl.password());
return false;
};
};
loginPage.formChange = function(ctrl){
return function(evt){
ctrl[evt.target.name](evt.target.value);
};
};
loginPage.loginForm = function(ctrl){
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[action]', {onsubmit: loginPage.login(ctrl), onchange: loginPage.formChange(ctrl)},
m('div.uk-form-row',
m('label', "Nom d'utilisateur ",
m('input[type=text][name=email][required].uk-form-width-small', {value: ctrl.email()} ))),
m('div.uk-form-row',
m('label', "Mot de passe ",
m('input[type=password][name=password][required].uk-form-width-small', {value: ctrl.password()}))),
m('div.uk-form-row', m('button.uk-button', m("i.fa.fa-mars-double"), " Pénétrez"))
)
]);
};
loginPage.view = function(ctrl){
return m('div', [
loginPage.logoLine(),
loginPage.loginForm(ctrl)
]);
};
return loginPage;
});
+73 -67
View File
@@ -1,87 +1,81 @@
define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], function (m, _ , util, resultParser, topNavBar, footer) { define(['m', '_', 'views/nextGameDaySchedule', 'views/topNavBar', 'views/footer', 'articles/articles'], function (m, _ , nextGameDaySchedule, topNavBar, footer, articles) {
var mainPageLogo = {}; var mainPageLogo = {};
mainPageLogo.view = function(){ mainPageLogo.view = function(){
return m('div.uk-grid.uk-hidden-small', [ return m('div.uk-grid', [
m('div.uk-large-1-3.uk-medium-2-3.uk-container-center', [ m('div.uk-large-1-3.uk-medium-2-3.uk-container-center', [
m('div.uk-cover-background', {style: 'height: 500px; width: 500px; background-size: 500px; background-image: url(images/phenix_logo.png);'}) m('div.uk-cover-background.uk-container-center.uk-margin-left.uk-margin-top',{style: 'height:300px; width: 300px; background-size: 300px; background-image: url(images/logosansfond.JPG);'})
]) ])
]); ]);
}; };
var mainPageNews = {}; var mainPageNews = {};
mainPageNews.showMiniArticle = function(article){
return m('div', m('h3.uk-panel-title', m('a.uk-link-muted', {href: '#/nouvelles'}, article.title)),
m('p', article.smallBody || article.body));
}
mainPageNews.view = function(){ mainPageNews.view = function(){
return m('div.uk-panel.uk-panel-box',[ return m('div.uk-panel.uk-panel-box',[
m('div.uk-panel-badge.uk-badge', [ m('div.uk-panel-badge.uk-badge', [
m('i.fa.fa-newspaper-o') m('i.fa.fa-newspaper-o', {style: {'font-size': '1.7em'}})
]), ]),
m('h3.uk-panel-title', 'Nouvelles'), mainPageNews.showMiniArticle(_.get(articles, 0, {}))
m('p', util.loremIpsum())
]); ]);
}; };
var nextGameDaySchedule = {};
nextGameDaySchedule.controller = function(){ var scheduleNotYetSet = {};
var games = m.prop([]);
return m.request({method: "GET", url: "api/resultats.json"})
.then(games)
.then(resultParser.getNightGames)
.then(function(nightGames){
return nightGames[0].games;
});
};
nextGameDaySchedule._getTableHead = function(){ scheduleNotYetSet.view = function(){
return m('thead', m('tr', [ return m('div',
m('td', 'Date'), m('h4', 'À venir...'),
m('td', 'Heure'), m('p', "Suite a la situation au parc Walter-Stewart, " +
m('td', 'Visiteur'), "nous n'avons toujours pas de date définie " +
m('td', 'Receveur') "pour le début de la saison. La situation" +
])); "devrait se regler incessamment"));
};
nextGameDaySchedule._getGamesRow = function(game){
return m('tr', [
m('td', util.formatDate(game.jsDate)),
m('td', game.time),
m('td', game.away),
m('td', game.home)
]);
};
nextGameDaySchedule._getGamesRows = function(games){
return _.map(games(), nextGameDaySchedule._getGamesRow);
};
nextGameDaySchedule.view = function(games){
return m('table.uk-table.uk-table-hover.uk-table-striped.uk-table-condensed',[
nextGameDaySchedule._getTableHead(),
m('tbody',
nextGameDaySchedule._getGamesRows(games)
)]);
}; };
var mainPageSchedule = {}; var mainPageSchedule = {};
mainPageSchedule.view = function(){ mainPageSchedule.view = function(){
return m('div.uk-panel.uk-panel-box',[ return m('div.uk-panel.uk-panel-box',[
m('div.uk-panel-badge.uk-badge', m('i.fa.fa-clock-o')), m('div.uk-panel-badge.uk-badge', m('i.fa.fa-calendar', {style: {'font-size': '1.7em'}})),
m('h3.uk-panel-title', 'Horaire'), m('h3.uk-panel-title', m('a.uk-link-muted', {href: '#/calendrier'}, 'Calendrier')),
m.component(nextGameDaySchedule) m.component(nextGameDaySchedule)
]); ]);
}; };
var mainMap = {}; var mainMap = {};
mainMap.getMap = function(){ mainMap.getWalterStewartMap = function(){
var iframeUrl = "//www.openstreetmap.org/export/embed.html?bbox=-73.55889558792114%2C45.53089890181621%2C-73.55181455612183%2C45.53426212742867&amp;layer=mapnik"; var iframeUrl = "//www.openstreetmap.org/export/embed.html?bbox=-73.55936229228975%2C45.53102667048665%2C-73.55230271816255%2C45.53444249585723&amp;layer=mapnik"; // "//www.openstreetmap.org/export/embed.html?bbox=-73.56355190277101%2C45.5294483312637%2C-73.54943275451662%2C45.53627996625677&amp;layer=mapnik"; // "//www.openstreetmap.org/export/embed.html?bbox=-73.56355190277101%2C45.5294483312637%2C-73.54943275451662%2C45.53627996625677&amp;layer=mapnik";
var externalLink = "http://www.openstreetmap.org/#map=18/45.53258/-73.55536"; var externalLink = "http://www.openstreetmap.org/#map=17/45.53216/-73.55692";
var iframeParams = {
style: {border: '1px solid black', 'min-height': '300px'},
width: '100%',
frameborder: 0,
scrolling: 'no',
marginheight: 0,
src: iframeUrl
};
return [
m('iframe', iframeParams),
m('br'),
m('small', m('a', {href: externalLink}, 'Voir la carte'))
];
};
mainMap.getGeorgesVernotMap = function(){
// " style="border: 1px solid black"></iframe><br/><small><a href="http://www.openstreetmap.org/#map=16/45.5670/-73.6177">View Larger Map</a></small>
var iframeUrl = "//www.openstreetmap.org/export/embed.html?bbox=-73.63185167312623%2C45.560217957150535%2C-73.60361337661745%2C45.57387292040785&amp;layer=mapnik";
var externalLink = "http://www.openstreetmap.org/#map=17/45.53216/-73.55692";
var iframeParams = { var iframeParams = {
style: {border: '1px solid black', 'min-height': '300px'}, style: {border: '1px solid black', 'min-height': '300px'},
width: '100%', width: '100%',
height: '100%',
frameborder: 0, frameborder: 0,
scrolling: 'no', scrolling: 'no',
marginheight: 0, marginheight: 0,
@@ -97,21 +91,32 @@ define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], fu
mainMap.view = function(){ mainMap.view = function(){
return m('div.uk-panel.uk-panel-box',[ return m('div.uk-panel.uk-panel-box',[
m('div.uk-panel-badge.uk-badge', [ m('div.uk-panel-badge.uk-badge', [
m('i.fa.fa-map-o') m('i.fa.fa-map-o', {style: {'font-size': '1.7em'}})
]), ]),
m('h3.uk-panel-title', 'Parc Walter-Stewart'), m('h3.uk-panel-title', 'Parc Walter-Stewart'),
mainMap.getMap() mainMap.getWalterStewartMap()
]); ]);
}; };
var mainPageBottom = {}; var mainPageBottom = {};
mainPageBottom.regularSizeView = function(){ mainPageBottom.regularSizeView = function(){
return m('div.uk-grid.uk-hidden-small.uk-grid-match', [ return m('div.uk-grid.uk-visible-large.uk-grid-match', [
m('div.uk-width-large-1-5.uk-hidden-medium'), m('div.uk-width-large-1-3.uk-width-medium-1-3', m.component(mainPageNews)),
m('div.uk-width-large-1-5.uk-width-medium-1-3', m.component(mainPageNews)), m('div.uk-width-large-1-3.uk-width-medium-1-3', m.component(mainPageSchedule)),
m('div.uk-width-large-1-5.uk-width-medium-1-3', m.component(mainPageSchedule)), m('div.uk-width-large-1-3.uk-width-medium-1-3', m.component(mainMap))
m('div.uk-width-large-1-5.uk-width-medium-1-3', m.component(mainMap)) ]);
};
mainPageBottom.mediumSizeView = function(){
return m('div.uk-visible-medium', [
m('div.uk-grid.uk-grid-match', [
m('div.uk-width-medium-1-2', [m.component(mainPageNews)]),
m('div.uk-width-medium-1-2', [m.component(mainPageSchedule)]),
]),
m('div.uk-grid',
m('div.uk-width-medium-1-1', m.component(mainMap))
)
]); ]);
}; };
@@ -124,23 +129,24 @@ define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], fu
]); ]);
}; };
mainPageBottom.view = function(){ mainPageBottom.view = function(){
return m('div.uk-margin-top.uk-margin-bottom', [ return m('div.uk-margin-top.uk-margin-bottom.uk-grid',
mainPageBottom.regularSizeView(), m('div.uk-width-large-3-5.uk-width-medium-4-5.uk-width-small-1-1.uk-container-center', [
mainPageBottom.smallSizeView() mainPageBottom.regularSizeView(),
]); mainPageBottom.mediumSizeView(),
mainPageBottom.smallSizeView()
])
);
}; };
var mainPage = {}; var mainPage = {};
mainPage.view = function(){ mainPage.view = function(){
return [ return [
topNavBar.view(), m.component(topNavBar),
mainPageLogo.view(), m.component(mainPageLogo),
mainPageBottom.view(), m.component(mainPageBottom),
footer.view() m.component(footer)
]; ];
}; };
+36
View File
@@ -0,0 +1,36 @@
define(['m', '_', 'util', 'resultParser', 'articles/articles', 'views/topNavBar', 'views/footer'], function (m, _ , util, resultParser, articles, topNavBar, footer) {
var newsPageBody = {};
newsPageBody.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});
};
newsPageBody.getArticle = function(article){
return m('article.uk-article.uk-margin-',
m('h1.uk-article-title', article.title),
m('p.uk-article-meta', article.meta),
article.body
);
};
newsPageBody.view = function(){
var arts = _.reverse(_.map(articles, newsPageBody.getArticle));
return m('div', util.join(arts, m('hr')));
};
var newsPage = {};
newsPage.view = function(){
return [
m.component(topNavBar),
m('div.uk-grid.uk-margin-top.uk-margin-bottom',
m('div.uk-width-large-2-5.uk-width-medium-3-5.uk-width-small-1-1.uk-container-center',
m.component(newsPageBody))),
m.component(footer)
];
};
return newsPage;
});
+73
View File
@@ -0,0 +1,73 @@
define(['m', '_', 'util', 'resultParser', 'views/scheduleTeamTags', 'images/rain.svg'], function (m, _ , util, resultParser, scheduleTeamTags, rainSvg) {
var nextGameDaySchedule = {};
nextGameDaySchedule._toDay = function(){
var now = new Date();
return new Date(now.getFullYear(), now.getMonth(), now.getDate());
};
nextGameDaySchedule.controller = function(){
var games = m.prop([]);
return util.getDefaultResults()
.then(games)
.then(resultParser.getNightGames)
.then(function(nightGames){
return nextGameDaySchedule._getNextNightGame(nightGames, nextGameDaySchedule._toDay()).games;
});
};
nextGameDaySchedule._getNextNightGame = function(games, date){
return _.first(_.filter(games, function(game){
return game.jsDate.getTime() >= date.getTime();
}));
};
nextGameDaySchedule._getTableHead = function(){
return m('thead', m('tr', [
m('td', 'Date'),
m('td', 'Heure'),
m('td', 'Receveur'),
m('td', 'Visiteur')
]));
};
nextGameDaySchedule._responsoveText = function(largeText, smallText, game){
var ret = [];
if(game.rain){
ret.push(rainSvg('1.5em'));
ret.push(' ');
} else if(game.practice){
ret.push(m('span.uk-badge.uk-badge-success', 'pratique!'));
ret.push(' ');
}
ret.push(m('span.uk-visible-large', largeText));
ret.push(m('span.uk-hidden-large', smallText));
return ret;
};
nextGameDaySchedule._getGamesRow = function(game){
return m('tr', [
m('td', nextGameDaySchedule._responsoveText(util.formatDate(game.jsDate),
util.formatDateSmall(game.jsDate),
game)),
m('td', game.time),
m('td', scheduleTeamTags.getHomeTeamTag(game)),
m('td',scheduleTeamTags.getAwayTeamTag(game))
]);
};
nextGameDaySchedule._getGamesRows = function(games){
return _.map(games(), nextGameDaySchedule._getGamesRow);
};
nextGameDaySchedule.view = function(games){
return m('table.uk-table.uk-table-hover.uk-table-striped.uk-table-condensed',[
nextGameDaySchedule._getTableHead(),
m('tbody',
nextGameDaySchedule._getGamesRows(games)
)]);
};
return nextGameDaySchedule;
});
+7 -1
View File
@@ -2,8 +2,14 @@ define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], fu
var rulesPageBody = {}; 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(){ rulesPageBody.view = function(){
return m('h1', 'En construction'); return m('div.uk-grid',
m('div.uk-width-1-1', rulesPageBody.logo()));
}; };
var photosPage = {}; var photosPage = {};
+318
View File
@@ -0,0 +1,318 @@
define(['m', '_', 'spritz', 'teams'], function (m, _ , spritz, teams) {
var playersSelectionBar = {};
playersSelectionBar.toggleTeam = function(teamId, activatedTeams){
return function(isActive){
isActive = isActive != 'true';
if(isActive){
activatedTeams().push(teamId);
return;
}
activatedTeams(_.difference(activatedTeams(), [teamId]));
};
};
playersSelectionBar.teamInput = function(teamName, teamId, activatedTeams){
var isActive = _.includes(activatedTeams(), teamId);
var class_ = isActive ? 'uk-badge-success' : '';
var callback = playersSelectionBar.toggleTeam(teamId, activatedTeams);
return m('div.uk-badge.uk-margin-left.uk-border-rounded',
{class: class_, 'data-selected': isActive, onclick: m.withAttr("data-selected", callback)},
m('span', {style: {'min-width': '40px', display: 'inline-block'}}, teamName)
);
};
playersSelectionBar.scoreInput = function(score, activatedScores){
var isActive = _.includes(activatedScores(), score);
var class_ = isActive ? 'uk-badge-success' : '';
var callback = playersSelectionBar.toggleTeam(score, activatedScores);
return m('div.uk-badge.uk-margin-left.uk-border-rounded',
{class: class_, 'data-selected': isActive, onclick: m.withAttr("data-selected", callback)},
m('span', {style: {'min-width': '30px', display: 'inline-block'}}, score)
);
};
playersSelectionBar.getTeamInput = function(model, team){
var label = team.name;
return playersSelectionBar.teamInput(label, team.name, model.activatedTeams);
};
playersSelectionBar.chooseTeams = function(model){
return m('form.uk-grid', {style: {'margin-top': '1em'}},
m('div.uk-width-1-6', m('label', m('b', 'Équipes'))),
m('div.uk-width-5-6',
m('div.uk-grid',
_.map(teams.teams(), _.partial(playersSelectionBar.getTeamInput, model))
))
);
};
playersSelectionBar.chooseScore = function(model){
return m('form.uk-grid', {style: {'margin-top': '1em'}},
m('div.uk-width-1-6', m('label', m('b', 'Cote'))),
m('div.uk-width-5-6',
m('div.uk-grid', [
playersSelectionBar.scoreInput(1, model.activatedScores),
playersSelectionBar.scoreInput(2, model.activatedScores),
playersSelectionBar.scoreInput(3, model.activatedScores),
playersSelectionBar.scoreInput(4, model.activatedScores),
playersSelectionBar.scoreInput(5, model.activatedScores)
])));
};
playersSelectionBar.searchFactory = function(model){
return function(){
model.searchTerm(this.value);
};
};
playersSelectionBar.searchBar = function(model){
var icon = m('i.fa.fa-search', {'aria-hidden': true}, '');
return m('form.uk-grid', {style: {'margin-top': '1em'}},
m('div.uk-width-1-1.', {style: 'text-align: right;'},
m('label', m('b', icon, " Rechercher ")),
m('input', {type: 'text', onkeypress: playersSelectionBar.searchFactory(model)})));
};
playersSelectionBar.controller = function(model){
return model;
};
playersSelectionBar.view = function(model){
return m('div.uk-grid', [
m('div.uk-width-1-2',
playersSelectionBar.chooseTeams(model),
playersSelectionBar.chooseScore(model)),
m('div.uk-width-1-2',
playersSelectionBar.searchBar(model))
]);
};
var playersTable = {};
playersTable._sortPlayers = function(sorting, playerList){
var sortingKeys = _.map(sorting(), 'key');
var sortingDirections = _.map(sorting(), function(o){
return o.direction == 1 ? 'desc' : 'asc';
});
return _.orderBy(playerList, sortingKeys, sortingDirections);
};
playersTable.decryptPlayerList = function(encryptedPlayerList){
var keyLengthInBytes = 128;
var key = spritz.hash(localStorage.getItem('secret') || '', keyLengthInBytes);
var decryptedMessage = spritz.decrypt(key, encryptedPlayerList);
try{
return JSON.parse(spritz.utf8ByteArrayToString(decryptedMessage));
}catch(e){
localStorage.removeItem('secret');
m.route('/membre');
}
};
playersTable.getEncryptedPlayerList = function(){
var deferred = m.deferred();
var interval = setInterval(function() {
if(!_.isEmpty(window.encryptedPlayerList)){
clearInterval(interval);
deferred.resolve(window.encryptedPlayerList);
m.redraw();
}
}, 333);
return deferred.promise;
};
playersTable.controller = function(model){
var ctrl = {};
ctrl.model = model;
ctrl.players = playersTable.getEncryptedPlayerList()
.then(playersTable.decryptPlayerList);
ctrl.sortPlayers = function(){
ctrl.players(playersTable._sortPlayers(ctrl.model.sorting, ctrl.players()));
};
return ctrl;
};
playersTable._getSortDict = function(sorting){
var ret = {};
_.each(sorting(), function(elm){
ret[elm.key] = elm.direction;
});
return ret;
};
playersTable._isSortingUp = function(sorting, key){
var dict = playersTable._getSortDict(sorting);
return dict[key] === 1;
};
playersTable._isSortingDown = function(sorting, key){
var dict = playersTable._getSortDict(sorting);
return dict[key] === -1;
};
playersTable.arrows = function(sorting, key){
var sortUp = playersTable._isSortingUp(sorting, key);
var sortDown = playersTable._isSortingDown(sorting, key);
var style = {
display: 'inline-block',
'line-height': '0.5em',
'margin-right': '1em',
'font-size': '0.7em'
};
var sortedStyle = {color: '#8cc14c', 'font-weight': 'bold'};
return m('span', {style: style},
m('i.fa.fa-chevron-up', {style: sortUp ? sortedStyle: {}}),
m('br'),
m('i.fa.fa-chevron-down', {style: sortDown ? sortedStyle: {}})
);
};
playersTable._setSorting = function(sorting, key){
var newDirection = {key: key, direction: -1 * playersTable._getSortDict(sorting)[key]};
var directions = _.filter(sorting(), function(o){
return o.key != key;
});
sorting([newDirection].concat(directions));
};
playersTable.tableHeader = function(sorting){
var setSorting = function(key){
return _.partial(playersTable._setSorting, sorting, key);
};
return m('thead',
m('tr', [
m('th', {onclick: setSorting('team')}, playersTable.arrows(sorting, 'team'), 'Équipe'),
m('th', {onclick: setSorting('name')}, playersTable.arrows(sorting, 'name'), 'Nom'),
m('th.uk-hidden-small', 'Courriel'),
m('th.uk-hidden-small', 'Téléphone'),
m('th', {onclick: setSorting('score')}, playersTable.arrows(sorting, 'score'), 'Cote')
]));
};
playersTable.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('&nbsp;'));
};
playersTable.showOrHidePlayerDetail = function(player){
return function(){
player.showDetails = !player.showDetails;
};
};
playersTable.playerTelLink = function(player){
return m('a[href=tel:' + player.tel + ']', player.tel);
};
playersTable.playerRow = function(player){
return m('tr', {onclick: playersTable.showOrHidePlayerDetail(player)}, [
m('td', playersTable.getPlayerTeamIcon(player)),
m('td', player.name),
m('td.uk-hidden-small', player.email),
m('td.uk-hidden-small', player.tel),
m('td', player.score)
]);
};
playersTable.playerInformation = function(player){
return m('tr.uk-visible-small', [
m('td', ''),
m('td[colspan=3]',
m('ul', [
m('li', [m('b', 'tel: '), playersTable.playerTelLink(player)]),
m('li', [m('b', 'email: '), player.email])
]))
]);
};
playersTable.playerRowAndInformation = function(player){
if(player.showDetails){
return [playersTable.playerRow(player),
m('tr', {style: {height: '0px'}}),
playersTable.playerInformation(player)];
}
return playersTable.playerRow(player);
};
playersTable.onlyPlayerOfTeams = function(visibleTeams){
return function(player){
return _.includes(visibleTeams, player.team);
};
};
playersTable.onlyPlayerOfScore = function(visibleScores){
return function(player){
return _.includes(visibleScores, player.score);
};
};
playersTable.playerHasBeenSearchedFor = function(searchTerm){
return function(player){
if(_.isEmpty(searchTerm)){
return true;
}
return new RegExp(searchTerm, 'i').test(player.name);
};
}
playersTable.tableBody = function(players, visibleTeams, activatedScores, searchTerm){
return m('tbody',
_(players)
.filter(_.isObject)
.filter(playersTable.onlyPlayerOfTeams(visibleTeams))
.filter(playersTable.onlyPlayerOfScore(activatedScores))
.filter(playersTable.playerHasBeenSearchedFor(searchTerm))
.map(playersTable.playerRowAndInformation).flatten().value()
);
};
playersTable.view = function(ctrl){
ctrl.sortPlayers();
return m('table.uk-table.uk-table-hover.uk-table-striped',
playersTable.tableHeader(ctrl.model.sorting),
playersTable.tableBody(ctrl.players(),
ctrl.model.activatedTeams(),
ctrl.model.activatedScores(),
ctrl.model.searchTerm()
)
);
};
var playersPage = {};
playersPage.controller = function(){
var model = {};
model.activatedTeams = m.prop(_.map(teams.teams(), 'name'));
model.activatedScores = m.prop([1, 2, 3, 4, 5]);
model.sorting = m.prop([{key: 'team', direction: 1}, {key: 'score', direction: -1}, {key: 'name', direction: 1}]);
model.searchTerm = m.prop('');
return model;
};
playersPage.downloadButton = function(){
return m('button.uk-button.uk-button-success.uk-border-rounded',
m('i.fa.fa-download', {'aria-hidden': true}),
" Télécharger");
};
playersPage.view = function(model){
return 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(playersSelectionBar, model),
m.component(playersTable, model)
]));
};
return playersPage;
});
+43 -18
View File
@@ -2,32 +2,57 @@ define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], fu
var rulesPage = {}; var rulesPage = {};
rulesPage.missionTest = function(){ rulesPage.missionText = function(){
return "La ligue de balle Les Phénix a été fondée en 2004 afin "+ return "La ligue de balle Les Phénix a été fondée en 2004 afin "+
"d'offrir aux membres de la communauté gaie et lesbienne et à "+ "d'offrir aux membres de la communauté gaie et lesbienne et à "+
"leurs amis hétéros l'opportunité de s'amuser et de pratiquer "+ "leurs amis hétéros l'opportunité de s'amuser et de pratiquer "+
"un sport dans une ambiance amicale et décontractée. "+ "un sport dans une ambiance amicale et décontractée. "+
"L'ouverture d'esprit, la camaraderie et le plaisir de "+ "L'ouverture d'esprit, la camaraderie et le plaisir de "+
"pratiquer un sport à l'extérieur caractérisent cette ligue." "pratiquer un sport à l'extérieur caractérisent cette ligue.";
}; };
rulesPage.mission = function(){ rulesPage.logo = function(){
return m('div.uk-panel.uk-panel-box.uk-panel-box-secondary', [ var style = 'height: 250px; width: 250px; background-size: 250px; background-image: url(images/logosansfond.JPG);';
m('h2', 'Mission'), return m('div.uk-cover-background.uk-container-center', {style: style});
m('p', rulesPage.missionTest()) };
]);
rulesPage.ruleSection = function(){
var urlASBM = 'http://www.asbm.ca/';
return [
m('h2', 'Règlements 2021'),
m('ul',[
m('li', m('h3', m('a', {href: 'files/regle_de_jeux_2021.pdf'},'Règles de jeu'))),
m('li', m('h3', m('a', {href: 'files/regles_et_procedures_2021.pdf'},'Règles et procédures'))),
m('li', m('h3', m('a', {href: 'files/charte_organisationnelle_2021.pdf'}, 'Charte Organisationnelle'))),
m('li', m('h3', m('a', {href: 'files/formulaire_inscription_2021.pdf'}, 'Formulaire d\'inscription'))),
m('li', m('h3', m('a', {href: 'files/code_ethique_2021.pdf'}, 'Code d\'éthique'))),
m('li', m('h3', m('a', {href: urlASBM}, 'Association des Sports de Balle à Montréal (ASBN)'))),
])
];
}; };
rulesPage.rules = function(){ rulesPage.rules = function(){
return m('div.uk-panel.uk-panel-box.uk-panel-box-secondary', [ return m('div.uk-width-large-2-3.uk-width-small-1-1',
m('h2', 'Règlements 2015'), m('div.uk-panel.uk-panel-box.uk-panel-box-secondary',
m('ul',[ rulesPage.ruleSection()
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')), };
])
]);
rulesPage.logoAndRules = function(){
return m('div.uk-grid',[
m('div.uk-width-large-1-3.uk-width-small-1-1', rulesPage.logo()),
rulesPage.rules()
]
);
};
rulesPage.mission = function(){
return m('div.uk-panel.uk-panel-box.uk-panel-box-secondary', [
m('h2', 'Mission'),
m('p', rulesPage.missionText())
]);
}; };
rulesPage.view = function(){ rulesPage.view = function(){
@@ -35,9 +60,9 @@ define(['m', '_', 'util', 'resultParser', 'views/topNavBar', 'views/footer'], fu
m.component(topNavBar), m.component(topNavBar),
m('div.uk-margin-top.uk-margin-bottom.uk-grid', m('div.uk-margin-top.uk-margin-bottom.uk-grid',
m('div.uk-width-large-3-5.uk-container-center', [ m('div.uk-width-large-3-5.uk-width-medium-4-5.uk-width-large-1-1.uk-container-center', [
rulesPage.mission(), rulesPage.logoAndRules(),
rulesPage.rules() rulesPage.mission()
])), ])),
m.component(footer) m.component(footer)
]; ];
+60
View File
@@ -0,0 +1,60 @@
define(['m', '_', 'util', 'resultParser', 'teams', 'views/scheduleTeamTags', 'images/rain.svg'], function(m, _, util, resultParser, teams, scheduleTeamTags, rainSvg) {
var schedulView = {};
schedulView.controller = function(year){
var games = m.prop([]);
return util.getResults(year)
.then(games)
.then(resultParser.getNightGames);
};
schedulView._asGamePoints = function(points){
return !_.isNumber(points) ? '-' : points + '';
};
schedulView._rainIcon = function(game){
if(game.rain){
return m('span', {title: 'pluie, partie annulée.'}, rainSvg('1.5em'));
}
return m('span', {style: {visibility: 'hidden'}}, rainSvg('1.5em'));
};
schedulView._gameName = function(game){
return [schedulView._rainIcon(game),
" ",
game.time];
};
schedulView._gameRow = function(game){
return m('tr',[
m('td', schedulView._gameName(game)),
m('td', scheduleTeamTags.getAwayTeamTag(game)),
m('td', schedulView._asGamePoints(game.away_points)),
m('td', 'vs'),
m('td', scheduleTeamTags.getHomeTeamTag(game)),
m('td', schedulView._asGamePoints(game.home_points))
]);
};
schedulView._gameView = function(gameNight){
return m('div', [m('h3', util.formatDate(gameNight.jsDate)),
m('table.uk-table.uk-table-hover.uk-table-condensed.uk-table-striped',
m('tbody',[
_.map(gameNight.games, schedulView._gameRow),
])
)
]);
};
schedulView.view = function(games){
return m('div.uk-grid',
m('div.uk-width-large-3-5.uk-width-medium-1-1',
_.map(games(), schedulView._gameView)));
};
return schedulView;
})
Loaded 100 of 103 files, more files were not shown because too many files have changed in this diff. Show more