From ec7af506184dc3b098d9caa47af4c9033f095c92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A1lint=20R=C3=A9thelyi?= <rethelyibalint@gmail.com> Date: Sat, 2 Oct 2021 23:15:30 +0200 Subject: [PATCH] add times page --- .gitlab-ci.yml | 2 +- calc/calc.go | 24 +++++++++++++++++++++++ data/data.go | 32 +++++++++++++++++++++++++++++-- data/storyTemplates/01.html | 3 +-- data/storyTemplates/02.html | 3 +-- data/storyTemplates/03.html | 9 ++++++--- data/storyTemplates/04.html | 2 +- data/storyTemplates/05.html | 2 +- data/storyTemplates/06.html | 5 +++++ data/storyTemplates/07.html | 8 ++++++++ stations.yaml | 12 ++++++++++-- web/router.go | 16 ++++++++++++++-- web/templates/times.template.html | 25 ++++++++++++++++++++++++ 13 files changed, 127 insertions(+), 16 deletions(-) create mode 100644 calc/calc.go create mode 100644 data/storyTemplates/06.html create mode 100644 data/storyTemplates/07.html create mode 100644 web/templates/times.template.html diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index daa3b17..f28c5b7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ image: alpine variables: - VERSION: v1.0.0 + VERSION: v1.1.0 stages: - build diff --git a/calc/calc.go b/calc/calc.go new file mode 100644 index 0000000..dae1b66 --- /dev/null +++ b/calc/calc.go @@ -0,0 +1,24 @@ +package calc + +import ( + "fmt" + "git.sch.bme.hu/blintmester/keresett-a-feri/data" + "time" +) + +func CalculateNewPoints(user *data.User) { + user.Time += user.Times[user.Group.Route[user.StoryCounter].Id].Sub(user.Times[user.Group.Route[user.StoryCounter-1].Id]) + groupPoints(user.Group) + fmt.Println("time: " + user.Time.String()) + fmt.Println("group time: " + user.Group.Time.String()) +} + +func groupPoints(group *data.Group) { + var tmp time.Duration = 0 + var i int64 = 0 + for _, member := range group.Members { + tmp += member.Time + i++ + } + group.Time += time.Duration(tmp.Nanoseconds() / i) +} diff --git a/data/data.go b/data/data.go index 76d6018..452bc8a 100644 --- a/data/data.go +++ b/data/data.go @@ -21,7 +21,7 @@ type Station struct { type User struct { Id uuid.UUID Name string - Point int + Time time.Duration Group *Group Times map[string]time.Time @@ -31,7 +31,7 @@ type User struct { type Group struct { Id uuid.UUID Name string - Point int + Time time.Duration Route []*Station Members []User } @@ -93,3 +93,31 @@ func CreateNewRoute() []*Station { return route } + +//func CreateNewRoute() []*Station { +// route := make([]*Station, len(Stations)) +// route[0] = Stations["first"] +// route[len(Stations)-1] = Stations["last"] +// +// keys := make([]string, len(Stations)-2) +// i := 0 +// for k := range Stations { +// switch k { +// case "first", "last": +// default: +// keys[i] = k +// i++ +// } +// } +// rand.Shuffle(len(keys), func(i, j int) { +// keys[i], keys[j] = keys[j], keys[i] +// }) +// +// i = 1 +// for _, k := range keys { +// route[i] = Stations[k] +// i++ +// } +// +// return route +//} diff --git a/data/storyTemplates/01.html b/data/storyTemplates/01.html index 5ff35f6..3d5be7d 100644 --- a/data/storyTemplates/01.html +++ b/data/storyTemplates/01.html @@ -1,6 +1,5 @@ <div> <p> - Előveszed a mobilod, hogy PéK-en megnézd Feri telefonszámát. Megdöbbenve konstatálod, a telefonod nem lát semmilyen wifi hálózatot 😱,<br> - sőőőt, látod, hogy 20%-on vagy csak, pedig felraktad töltőre mielőtt lefeküdtél (bár az hajnal 4-kor volt). + “Szia, én vagyok az, Feri, tudod <a href="http://www.keresettaferi.hu/">melyik Feri</a>, nem? Na, nagy helyzet van, feltétlen szükséges Veled/Veletek beszélnem, mert ha nem..." </p> </div> \ No newline at end of file diff --git a/data/storyTemplates/02.html b/data/storyTemplates/02.html index f9d77b5..6bbca45 100644 --- a/data/storyTemplates/02.html +++ b/data/storyTemplates/02.html @@ -1,6 +1,5 @@ <div> <p> - Elkezded összeszedni magad, gyorsan öltözés közben megeszel egy fél kiflit. Mire elkészülsz, lefő a kávé is.<br> - + Ne haragudj, megvártalak volna, de erre járt Gajdos, iszonyat nagy Qpás az öreg, viszont még a Qpánál is előrébb való az Adatb, és nincs adatb egy kis pizza nélkül. Megbízott, hogy vegyek párat a kedvenc, szalámis da Giovannis fagyasztott pizzájából, elugrok érte a boltba, ott tala. </p> </div> \ No newline at end of file diff --git a/data/storyTemplates/03.html b/data/storyTemplates/03.html index dfaf5a6..4f6938e 100644 --- a/data/storyTemplates/03.html +++ b/data/storyTemplates/03.html @@ -1,5 +1,8 @@ <div> - <p> - 3 - </p> + <h1>Rendőri jelentés</h1> + <b>Feri és a Qpa nevű esemény szervezői között</b>, 2021.10.04.-én, 10:23-kor tettlegességig fajuló verekedés tört ki, ami során a fenn megnevezett Ferinek kiütötték 2, azaz kettő fogát. <br> + <h3>Ok:</h3> + Melyik volt a legjobb Qpa rendezés. + <h3>Megj.:</h3> + Feri várja magát az fogorvosi rendelő várójában. </div> \ No newline at end of file diff --git a/data/storyTemplates/04.html b/data/storyTemplates/04.html index 2e0b657..06cd612 100644 --- a/data/storyTemplates/04.html +++ b/data/storyTemplates/04.html @@ -1,5 +1,5 @@ <div> <p> - 4 + “Csá! A portás vagyok, és tudod na, milyen ez a Feri, szükségünk volt rá, nélküle nem tudunk bepakolni az FNT-be. De mondta, hogy keresitek egymást, s ha szívesen találkoznál vele, kint lesz. </p> </div> \ No newline at end of file diff --git a/data/storyTemplates/05.html b/data/storyTemplates/05.html index 1883dbf..7fa9b3e 100644 --- a/data/storyTemplates/05.html +++ b/data/storyTemplates/05.html @@ -1,5 +1,5 @@ <div> <p> - last + Üdv! A pápa vagyok, a NEK alatt nem igazán tudtam összefutni Ferivel, úgyhogy most beugrottam hozzá, és képzeld, erre jártak a rendezők, egy teli láda sörrel, úgyhogy nekiálltunk felhajtani egyet-egyet, de sajna, tudod milyen ez a Feri, leöntötte magát sörrel. Azt mondta, gyorsan kimossa a pólóját a KSZK-s szinten, s majd ott megvár. </p> </div> \ No newline at end of file diff --git a/data/storyTemplates/06.html b/data/storyTemplates/06.html new file mode 100644 index 0000000..df3e67c --- /dev/null +++ b/data/storyTemplates/06.html @@ -0,0 +1,5 @@ +<div> + <p> + Szia! Én vagyok az, Feri, s hát nagy dolgokról szól, igazán fontos dolgokról van itt szó. Nagy emberekkel kell megbeszéljük a dolgot, nemhogy a világ, de a Qpa sorsa forog kockán! Ez nem vicc! Nem hinnéd, de most is épp egy ellenséges ügynök követ Téged, ne is fordulj meg! Ott lesz Zwack vezérigazgatója, a Mol képviselője, és a Kőbányai igazgatóhelyettese! Ez most komoly! Az ellenséges ügynökök megtévesztése céljából, gyere a 870105-ös számú Bubival a Mol Döbrentei térre! + </p> +</div> \ No newline at end of file diff --git a/data/storyTemplates/07.html b/data/storyTemplates/07.html new file mode 100644 index 0000000..abedd01 --- /dev/null +++ b/data/storyTemplates/07.html @@ -0,0 +1,8 @@ +<div> + <p> + Ilyen ez a Feri, feszt futkorászik, mindenki után kajtat, pedig csak arra lenne szüksége, hogy leüljön a lépcsőre, s igyon egy sört. Vegyél neki és persze magadnak egyet az AK-ban. + </p> + <h1>%%FIGYELEM AKCIÓ%%</h1> + <p>A mai napon, aki ezt az oldalt bemutatja, egész nap (többször is) <h2>10%-os kedvezményben részesül</h2> értéktől függetlenül MINDEN termékre az AK jóvoltából!</p> + <p>Ne feledjétek ezt a remek lehetőséget kihasználni, ezzel is támogatva kedvenc közös boltunkat!</p> +</div> \ No newline at end of file diff --git a/stations.yaml b/stations.yaml index 94bf19d..85918a5 100644 --- a/stations.yaml +++ b/stations.yaml @@ -1,7 +1,7 @@ stations: first: name: egy - description: "105 kornyeke" + description: "" 9881300f-175b-4809-b8fb-d915b2c900ac: name: rand1 description: "18-on valahol" @@ -11,14 +11,22 @@ stations: 7023030f-e22f-4c82-93ae-4c847b3ac964: name: rand3 description: "15-en, Feri szobajanal" + 12907d55-a0c0-4256-bb60-017d603ce403: + name: rand4 + description: "asd" + f0495cfa-5667-4853-ba69-febfde57fdc2: + name: rand5 + description: "qwerty" last: name: uccso description: "ez az AK-ban van" -# TODO: storikat html templatekben megirni, azokat kiszolgalni, nem igy, mert ez igy formazhatatlan stories: 1: "01.html" 2: "02.html" 3: "03.html" 4: "04.html" 5: "05.html" + 6: "06.html" + 7: "07.html" + diff --git a/web/router.go b/web/router.go index 592e45e..c74d8a2 100644 --- a/web/router.go +++ b/web/router.go @@ -3,6 +3,7 @@ package web import ( "errors" "fmt" + "git.sch.bme.hu/blintmester/keresett-a-feri/calc" "git.sch.bme.hu/blintmester/keresett-a-feri/data" "github.com/gin-gonic/gin" "github.com/google/uuid" @@ -31,6 +32,7 @@ func init() { Router.GET("/", mainPage) Router.POST("/", login) Router.StaticFS("/static", http.FS(staticfs)) + Router.GET("/times", times) Router.GET("/station/:uuid", routeChooser) } @@ -49,6 +51,12 @@ func mainPage(c *gin.Context) { }) } +func times(c *gin.Context) { + c.HTML(http.StatusOK, "times.template.html", gin.H{ + "Groups": groups, + }) +} + func getGroup(b string) (*data.Group, bool) { for i, a := range groups { if a.Name == b { @@ -84,7 +92,7 @@ func login(c *gin.Context) { group = &data.Group{ Id: uuid.New(), Name: groupName, - Point: 0, + Time: 0, Route: data.CreateNewRoute(), } groups = append(groups, group) @@ -93,7 +101,7 @@ func login(c *gin.Context) { user = &data.User{ Id: uuid.New(), Name: c.PostForm("name"), - Point: 0, + Time: 0, StoryCounter: 0, Group: group, Times: make(map[string]time.Time), @@ -164,6 +172,10 @@ func routeChooser(c *gin.Context) { } else { _ = c.Error(errors.New("ez nem az az állomás pajti")) } + + if station.Id != "first" { + calc.CalculateNewPoints(user) + } if user.Group.Route[user.StoryCounter] == station { if user.StoryCounter < len(data.Stories)-1 { user.StoryCounter++ diff --git a/web/templates/times.template.html b/web/templates/times.template.html new file mode 100644 index 0000000..1fa9bc2 --- /dev/null +++ b/web/templates/times.template.html @@ -0,0 +1,25 @@ +{{ template "header" }} +{{ template "navbar" }} +<div class="container" style="padding-top: 2em"> + <div class="container"> + <div class="text-center form justify-content-center"> + <h2 class="my-3">Idők</h2> + <div style="overflow-x: auto;"> + <table class="table" id="admin-table"> + <tr> + <th scope="col">Csapat neve</th> + <th scope="col">Idő</th> + </tr> + {{ range $group := .Groups }} + <tr style="text-align: center"> + <td style="text-align: left">{{ $group.Name }}</td> + <td>{{ $group.Time }}</td> + </tr> + {{ end }} + </table> + </div> + </div> + </div> +</div> + +{{ template "footer" }} \ No newline at end of file -- GitLab