feat: moved to C# thanks to deepseek

This commit is contained in:
didier committed 2026-07-12 21:01:09 -04:00
1 parent ab81a1c4be
commit 29ed46aa7f
34 files changed
+1583 -14

No files matched your search

+7
View File
@@ -0,0 +1,7 @@
@{
Layout = "_Layout";
ViewData["Tab"] = "calendrier";
}
<div id="mithril-content"></div>
<script type=module src="scripts/calendar.js"></script>
+36
View File
@@ -0,0 +1,36 @@
@{
Layout = "_Layout";
ViewData["Tab"] = "contact";
}
<div class="uk-width-large-2-5 uk-width-medium-4-5 uk-width-small-1-1 uk-container-center">
<div class="uk-grid uk-margin">
<div class="uk-width-1-1">
<div style="height: 300px; width: 300px; background-size: 300px; background-image: url(images/logosansfond.JPG);" class="uk-cover-background uk-container-center"></div>
</div>
</div>
<div class="div uk-panel uk-panel-box uk-panel-box-secondary uk-container-center uk-margin">
<table class="uk-table">
<tr>
<td class="uk-text-right"><i class="fa fa-desktop"></i></td>
<td><a href="mailto:sportsphenixmtl@gmail.com">sportsphenixmtl@gmail.com</a></td>
</tr>
<tr>
<td class="uk-text-right"><i class="fa fa-phone"></i></td>
<td> (514) 838-8950</td>
</tr>
<tr>
<td class="uk-text-right"><i class="fa fa-envelope"></i></td>
<td>
<p> 10454 Sylvain-Garneau<br>Montréal, Québec H1C 0A2</p>
</td>
</tr>
<tr>
<td class="uk-text-right"><i class="fa fa-gitlab"></i></td>
<td>
<p> Le site web est ouvert et accessible sur <a href="https://gitlab.com/ballephenix/website">gitlab.</a></p>
</td>
</tr>
</table>
</div>
</div>
+103
View File
@@ -0,0 +1,103 @@
@{
Layout = "_Layout";
ViewData["Tab"] = "home";
}
<script type="module" src="scripts/little-calendar.js"></script>
<div class="uk-grid">
<div class="uk-large-1-3 uk-medium-2-3 uk-container-center">
<div style="height:300px; width: 300px; background-size: 300px; background-image: url(images/logosansfond.JPG);" class="uk-cover-background uk-container-center uk-margin-left uk-margin-top"></div>
</div>
</div>
<div class="uk-margin-top uk-margin-bottom uk-grid">
<div class="uk-width-large-3-5 uk-width-medium-4-5 uk-width-small-1-1 uk-container-center">
<div class="uk-grid uk-visible-large uk-grid-match">
<div class="uk-width-large-1-3 uk-width-medium-1-3">
<div class="uk-panel uk-panel-box">
<div class="uk-panel-badge uk-badge">
<i class="fa fa-newspaper-o" style="font-size: 1.7em;"></i>
</div>
<div>
<partial name="HomeNews" />
</div>
</div>
</div>
<div class="uk-width-large-1-3 uk-width-medium-1-3">
<div class="uk-panel uk-panel-box">
<div class="uk-panel-badge uk-badge"><i class="fa fa-calendar" style="font-size: 1.7em;"></i></div>
<h3 class="uk-panel-title"><a href="#/calendrier" class="uk-link-muted">Calendrier</a></h3>
<div id="large-mithril-container"></div>
</div>
</div>
<div class="uk-width-large-1-3 uk-width-medium-1-3">
<div class="uk-panel uk-panel-box">
<div class="uk-panel-badge uk-badge"><i class="fa fa-map-o" style="font-size: 1.7em;"></i></div>
<h3 class="uk-panel-title">Parc Walter-Stewart</h3>
<partial name="WalterStewartMap" />
</div>
</div>
</div>
<div class="uk-visible-medium">
<div class="uk-grid uk-grid-match">
<div class="uk-width-medium-1-2">
<div class="uk-panel uk-panel-box">
<div class="uk-panel-badge uk-badge"><i class="fa fa-newspaper-o" style="font-size: 1.7em;"></i></div>
<div>
<partial name="HomeNews" />
</div>
</div>
</div>
<div class="uk-width-medium-1-2">
<div class="uk-panel uk-panel-box">
<div class="uk-panel-badge uk-badge"><i class="fa fa-calendar" style="font-size: 1.7em;"></i></div>
<h3 class="uk-panel-title"><a href="#/calendrier" class="uk-link-muted">Calendrier</a></h3>
<div id="medium-mithril-container"></div>
</div>
</div>
</div>
<div class="uk-grid">
<div class="uk-width-medium-1-1">
<div class="uk-panel uk-panel-box">
<div class="uk-panel-badge uk-badge"><i class="fa fa-map-o" style="font-size: 1.7em;"></i></div>
<h3 class="uk-panel-title">Parc Walter-Stewart</h3>
<partial name="WalterStewartMap" />
</div>
</div>
</div>
</div>
<div class="uk-visible-small">
<div class="uk-grid">
<div class="uk-width-small-1-1">
<div class="uk-panel uk-panel-box">
<div class="uk-panel-badge uk-badge"><i class="fa fa-newspaper-o" style="font-size: 1.7em;"></i></div>
<div>
<partial name="HomeNews" />
</div>
</div>
</div>
</div>
<div class="uk-grid">
<div class="uk-width-small-1-1">
<div class="uk-panel uk-panel-box">
<div class="uk-panel-badge uk-badge"><i class="fa fa-calendar" style="font-size: 1.7em;"></i></div>
<h3 class="uk-panel-title"><a href="#/calendrier" class="uk-link-muted">Calendrier</a></h3>
<div id="small-mithril-container"></div>
</div>
</div>
</div>
<div class="uk-grid">
<div class="uk-width-small-1-1">
<div class="uk-panel uk-panel-box">
<div class="uk-panel-badge uk-badge"><i class="fa fa-map-o" style="font-size: 1.7em;"></i></div>
<h3 class="uk-panel-title">Parc Walter-Stewart</h3>
<partial name="WalterStewartMap" />
</div>
</div>
</div>
</div>
</div>
</div>
+45
View File
@@ -0,0 +1,45 @@
@{
Layout = "_Layout";
ViewData["Tab"] = "nouvelles";
}
<div class="uk-width-large-2-5 uk-width-medium-3-5 uk-width-small-1-1 uk-container-center">
<div>
<article class="uk-article uk-margin-">
<h1 class="uk-article-title">
<h2 id="saison-2025">Saison 2026</h2>
</h1>
<p class="uk-article-meta">
<p>Lundi 9 Mars 2026</p>
</p>
<p>
La saison de la balle annonce à grand pas et les inscriptions débuteront lundi prochain (16 mars 2026). Le coût de la saison sera le même que l'an passé: 155$ pour la saison + 20$ de dépôt remboursable pour le prêt du chandail.
</p>
<p>
Comme à l'habitude, nous jouerons au parc walter-stewart les jeudis soir. La ligue comptera quatre équipes pour un grand total de 44 joueurs.
</p>
<p>
Les inscriptions en présentiel auront lieu le vendredi 20 mars au bar fullum entre 18h00 et 21h00. Pour ceux qui veulle venir prendre une petite bière avec nous ou payer en argent compten.
</p>
<p>
On vous tiens au courrant!
</p>
</article>
</div>
</div>
<div class="uk-width-large-2-5 uk-width-medium-3-5 uk-width-small-1-1 uk-container-center">
<div>
<article class="uk-article uk-margin-">
<h1 class="uk-article-title">
<h2 id="saison-2025">Saison 2025</h2>
</h1>
<p class="uk-article-meta">
<p>Vendredi 25 Avril 2025</p>
</p>
<p>Bonne saison à tous et toutes!</p>
<p>N'oubliez pas de consulter la page facebook: <a href="https://www.facebook.com/SportsPhenixMtl/">https://www.facebook.com/SportsPhenixMtl/</a> pour toutes mises à jour, y compris les annulations due à la météo.</p>
<p>Votre Comité 2023</p>
</article>
</div>
</div>
+43
View File
@@ -0,0 +1,43 @@
@{
Layout = "_Layout";
ViewData["Tab"] = "reglement";
}
<div class="uk-margin-top uk-margin-bottom uk-grid">
<div class="uk-width-large-3-5 uk-width-medium-4-5 uk-width-large-1-1 uk-container-center">
<div class="uk-grid">
<div class="uk-width-large-1-3 uk-width-small-1-1">
<div style="height: 250px; width: 250px; background-size: 250px; background-image: url(images/logosansfond.JPG);" class="uk-cover-background uk-container-center"></div>
</div>
<div class="uk-width-large-2-3 uk-width-small-1-1">
<div class="uk-panel uk-panel-box uk-panel-box-secondary">
<h2>Règlements 2021</h2>
<ul>
<li>
<h3><a href="files/regle_de_jeux_2021.pdf">Règles de jeu</a></h3>
</li>
<li>
<h3><a href="files/regles_et_procedures_2021.pdf">Règles et procédures</a></h3>
</li>
<li>
<h3><a href="files/charte_organisationnelle_2021.pdf">Charte Organisationnelle</a></h3>
</li>
<li>
<h3><a href="files/formulaire_inscription_2021.pdf">Formulaire d'inscription</a></h3>
</li>
<li>
<h3><a href="files/code_ethique_2021.pdf">Code d'éthique</a></h3>
</li>
<li>
<h3><a href="http://www.asbm.ca/">Association des Sports de Balle à Montréal (ASBN)</a></h3>
</li>
</ul>
</div>
</div>
</div>
<div class="uk-panel uk-panel-box uk-panel-box-secondary">
<h2>Mission</h2>
<p>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 à leurs amis hétéros l'opportunité de s'amuser et de pratiquer un sport dans une ambiance amicale et décontractée. L'ouverture d'esprit, la camaraderie et le plaisir de pratiquer un sport à l'extérieur caractérisent cette ligue.</p>
</div>
</div>
</div>
+36
View File
@@ -0,0 +1,36 @@
@{
var isToday = ViewBag.IsToday == true;
var years = (List<int>)ViewBag.Years;
var games = (List<Phenix.Models.Game>)ViewBag.Games;
var selectedYear = (int?)ViewBag.SelectedYear;
}
<div class="uk-width-large-2-3 uk-container-center uk-margin">
<div class="uk-margin" style="margin-top: 1em">
<ul class="uk-tab">
<li class="@(isToday ? "uk-active" : "")">
<a hx-get="/membre/games-editor/today" hx-target="#content">Aujourd'hui</a>
</li>
@foreach (var year in years)
{
<li class="@(year == selectedYear ? "uk-active" : "")">
<a hx-get="/membre/games-editor/@year" hx-target="#content">Saison @year</a>
</li>
}
</ul>
</div>
@foreach (var game in games)
{
<div class="uk-panel uk-panel-box uk-panel-box-secondary uk-margin">
<partial name="GameEditor" model="game" />
</div>
}
<hr>
<button class="uk-button"
hx-get="/membre/new-game-editor"
hx-target="#content">
Nouvelle Partie
</button>
</div>
+28
View File
@@ -0,0 +1,28 @@
@{
Layout = "_Layout";
ViewData["Tab"] = "membre";
}
<div id="content"
@if (ViewBag.IsLoggedIn == true)
{
@:hx-get="/membre/games-editor/today"
@:hx-trigger="load"
@:hx-target="#content"
}>
<div class="uk-grid uk-margin">
<div class="uk-width-1-1">
<div style="height: 250px; width: 250px; background-size: 250px; background-image: url(images/logosansfond.JPG);" class="uk-cover-background uk-container-center"></div>
</div>
</div>
<div class="uk-panel uk-panel-box uk-panel-box-secondary uk-width-large-1-3 uk-container-center uk-margin">
<form action=""
class="uk-text-center"
hx-get="/login"
hx-target="#content">
<div class="uk-form-row"><label>Nom d'utilisateur <input type="text" name="username" class="uk-form-width-small"></label></div>
<div class="uk-form-row"><label>Mot de passe <input type="password" name="password" class="uk-form-width-small"></label></div>
<div class="uk-form-row"><button class="uk-button"><i class="fa fa-mars-double"></i> Pénétrez</button></div>
</form>
</div>
</div>
+35
View File
@@ -0,0 +1,35 @@
@{
Layout = null;
}
<div class="uk-width-large-2-3 uk-container-center uk-margin">
<div class="uk-margin"></div>
<div class="uk-panel uk-panel-box uk-panel-box-secondary uk-margin">
<form hx-post="/membre/new-game"
hx-target="#created-game"
hx-swap="afterbegin">
<div class="uk-form-row" style="text-align: center; font-size: 2em;">
<partial name="TeamSelector" model='new Phenix.Models.TeamSelectorModel { Name = "awayTeam" }' />
<label>Vs.</label>
<partial name="TeamSelector" model='new Phenix.Models.TeamSelectorModel { Name = "homeTeam" }' />
</div>
<div class="uk-form-row">
<label>Date: <input type=date name="gameDate" required></label>
</div>
<div class="uk-form-row">
<label>Heure: <input type="time" name="gameTime"></label>
</div>
<br>
<div style="text-align: right;">
<button class="uk-button">Creer</button>
</div>
</form>
</div>
<div id="created-game"></div>
</div>
+9
View File
@@ -0,0 +1,9 @@
@{
Layout = null;
}
<div class="uk-width-large-2-3 uk-container-center uk-margin">
<div class="uk-panel uk-panel-box uk-panel-box-secondary uk-margin">
<pre>@ViewBag.Error</pre>
</div>
</div>
+7
View File
@@ -0,0 +1,7 @@
@model Phenix.Models.Game
<div class="uk-width-large-2-3 uk-container-center uk-margin">
<div class="uk-panel uk-panel-box uk-panel-box-secondary uk-margin">
<partial name="GameEditor" model="Model" />
</div>
</div>
+53
View File
@@ -0,0 +1,53 @@
@model Phenix.Models.Game
@{
var prettyDate = DateOnly.Parse(Model.Date).ToString("d MMMM yyyy", new System.Globalization.CultureInfo("fr-CA"));
}
<div id="game-@Model.Id">
<h3>@Model.Away vs @Model.Home | @prettyDate | @Model.Time</h3>
<form style="font-size: 1.1em;"
hx-trigger="input delay:250ms"
hx-post="/membre/games/@Model.Id"
hx-target="#saving-result">
<div class="uk-form-row">
<label>
Points @Model.Away : <input type=number min=0 name="awayScore"
value="@(Model.AwayScore ?? 0)"
disabled="@(Model.Rain || Model.Practice ? true : null)">
</label>
</div>
<div class="uk-form-row">
<label>
Points @Model.Home : <input type=number min=0 name="homeScore"
value="@(Model.HomeScore ?? 0)"
disabled="@(Model.Rain || Model.Practice ? true : null)">
</label>
</div>
<div class="uk-form-row">
<label>
Partie reguliere <input type=radio name="gameType" value="regular-game"
checked="@(!Model.Practice && !Model.Rain ? true : null)">
</label>
<label>
Pluie <input type=radio name="gameType" value="rain"
checked="@(Model.Rain ? true : null)">
</label>
<label>
Pratique <input type=radio name="gameType" value="practice"
checked="@(Model.Practice && !Model.Rain ? true : null)">
</label>
</div>
<div id="saving-result"></div>
</form>
<div style="text-align: right">
<button class="uk-button"
hx-post="/membre/games/@Model.Id/switch"
hx-target="#game-@Model.Id">Inverser visiteur/receveur</button>
<button class="uk-button-danger"
hx-delete="/membre/games/@Model.Id"
hx-confirm="Certain de voulez supprimer la partie?"
hx-target="#game-@Model.Id"
hx-swap="delete">Supprimer</button>
</div>
</div>
+9
View File
@@ -0,0 +1,9 @@
<h3 class="uk-panel-title">
<a href="/nouvelles" class="uk-link-muted">
<h2 id="saison-2026">Saison 2026</h2>
</a>
</h3>
<p>
La saison de la balle annonce à grand pas et les inscriptions débuteront lundi prochain (16 mars 2026). Le coût de la saison sera le même que l'an passé: 155$ pour la saison + 20$ de dépôt remboursable pour le prêt du chandail.
</p>
<p><strong><a href="/nouvelles">lire la suite ...</a></strong></p>
+11
View File
@@ -0,0 +1,11 @@
@model Phenix.Models.TeamSelectorModel
@{
var teams = new[] { "jaune", "rouge", "bleu", "gris", "vert", "noir", "orange", "mauve" };
}
<select name="@Model.Name" class="uk-select" disabled="@(Model.IsDisabled)">
@foreach (var team in teams)
{
<option value="@team" selected="@(Model.SelectedTeam == team)">@team</option>
}
</select>
+14
View File
@@ -0,0 +1,14 @@
<div>
<iframe
style="border: 1px solid black; min-height: 300px;"
width="100%"
frameborder="0"
scrolling="no"
marginheight="0"
src="//www.openstreetmap.org/export/embed.html?bbox=-73.55936229228975%2C45.53102667048665%2C-73.55230271816255%2C45.53444249585723&amp;layer=mapnik">
</iframe>
<br>
<small>
<a href="http://www.openstreetmap.org/#map=17/45.53216/-73.55692">Voir la carte</a>
</small>
</div>
+86
View File
@@ -0,0 +1,86 @@
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Balle Phenix</title>
<link rel="shortcut icon" href="/images/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="/scripts/jquery-3.7.1.min.js"></script>
<script src="/scripts/uikit.min.js"></script>
<script src="https://unpkg.com/htmx.org@2.0.0"></script>
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<nav class="uk-navbar uk-navbar-attached">
<ul class="uk-navbar-nav uk-visible-large uk-navbar-content uk-navbar-center">
<li class="uk-parent">
<div class="uk-navbar-brand"><a href="https://www.facebook.com/SportsPhenixMtl"><i class="fa fa-facebook-square"></i></a></div>
</li>
<li class="@((ViewData["Tab"] as string) == "home" ? "uk-active" : "")">
<a href="/"><div><i class="fa fa-home"></i> Accueil</div></a>
</li>
<li class="@((ViewData["Tab"] as string) == "nouvelles" ? "uk-active" : "")">
<a href="/nouvelles"><div><i class="fa fa-newspaper-o"></i> Nouvelles</div></a>
</li>
<li class="@((ViewData["Tab"] as string) == "calendrier" ? "uk-active" : "")">
<a href="/calendrier"><div><i class="fa fa-calendar"></i> Calendrier</div></a>
</li>
<li class="@((ViewData["Tab"] as string) == "reglement" ? "uk-active" : "")">
<a href="/reglement"><div><i class="fa fa-legal"></i> Règlement</div></a>
</li>
<li class="@((ViewData["Tab"] as string) == "membre" ? "uk-active" : "")">
<a href="/membre"><div><i class="fa fa-lock"></i> Membre</div></a>
</li>
<li class="@((ViewData["Tab"] as string) == "contact" ? "uk-active" : "")">
<a href="/contact"><div><i class="fa fa-phone"></i> Nous Joindre</div></a>
</li>
</ul>
<ul class="uk-navbar-nav uk-visible-medium">
<li class="uk-parent">
<div class="uk-navbar-brand"><a href="https://www.facebook.com/SportsPhenixMtl"><i class="fa fa-facebook-square"></i></a></div>
</li>
<li class="@((ViewData["Tab"] as string) == "home" ? "uk-active" : "")"><a href="/"><i class="fa fa-home"></i> Accueil </a></li>
<li class="@((ViewData["Tab"] as string) == "nouvelles" ? "uk-active" : "")"><a href="/nouvelles"><i class="fa fa-newspaper-o"></i> Nouvelles</a></li>
<li class="@((ViewData["Tab"] as string) == "calendrier" ? "uk-active" : "")"><a href="/calendrier"><i class="fa fa-calendar"></i> Calendrier</a></li>
<li class="@((ViewData["Tab"] as string) == "reglement" ? "uk-active" : "")"><a href="/reglement"><i class="fa fa-legal"></i> Règlement</a></li>
<li class="@((ViewData["Tab"] as string) == "membre" ? "uk-active" : "")"><a href="/membre"><i class="fa fa-lock"></i> Membre</a></li>
<li class="@((ViewData["Tab"] as string) == "contact" ? "uk-active" : "")"><a href="/contact"><i class="fa fa-phone"></i> Nous Joindre</a></li>
</ul>
<ul class="uk-navbar-nav uk-visible-small">
<li class="uk-parent">
<div class="uk-navbar-brand"><a href="https://www.facebook.com/SportsPhenixMtl"><i class="fa fa-facebook-square"></i></a></div>
</li>
<li data-uk-dropdown="" aria-expanded="" class="uk-parent"><a><i class="fa fa-bars"></i> Menu</a>
<div class="uk-dropdown">
<ul class="uk-nav uk-nav-navbar uk-dropdown-navbar">
<li class="uk-active"><a href="/"><i class="fa fa-home"></i> Accueil</a></li>
<li class=""><a href="/nouvelles"><i class="fa fa-newspaper-o"></i> Nouvelles</a></li>
<li class=""><a href="/calendrier"><i class="fa fa-calendar"></i> Calendrier</a></li>
<li class=""><a href="/reglement"><i class="fa fa-legal"></i> Règlement</a></li>
<li class=""><a href="/membre"><i class="fa fa-lock"></i> Membre</a></li>
<li class=""><a href="/contact"><i class="fa fa-phone"></i> Nous Joindre</a></li>
</ul>
</div>
</li>
</ul>
</nav>
@RenderBody()
<footer class="uk-grid ph-footer" style="padding: 40px;">
<div class="uk-container uk-container-center uk-text-center">
<div class="uk-panel"><span class="uk-hidden-small">Ligue de balle les Phénix... pour le plaisir de jouer!</span>
<h4 class="uk-visible-small">Ligue de balle les Phénix</h4>
</div>
<ul class="uk-subnav uk-subnav-line uk-flex-center">
<li><a href="mailto:sportsphenixmtl@gmail.com">sportsphenixmtl@gmail.com</a></li>
</ul>
<h1><a href="https://www.facebook.com/SportsPhenixMtl"><i class="fa fa-facebook-square"></i></a></h1>
</div>
</footer>
</body>
</html>
+1
View File
@@ -0,0 +1 @@
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
+3
View File
@@ -0,0 +1,3 @@
@{
Layout = "_Layout";
}