diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index daa3b17c68bbefdd3f51be1b43814f5d05e8776c..f28c5b7805762a5d0123cd27b0613c27e086568d 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 0000000000000000000000000000000000000000..dae1b660eb068e61c04acb372f395f76627e3aef --- /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 76d60187efe1a8c0a0d1b9440cf7832e6bc17bd4..452bc8a0dedaa739975bca5cd93d17ab9707cf11 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 5ff35f66f3902e139ee71607c107ae04ac671fcd..3d5be7dd33c0500ffa0ee0f69dd0501a300f5313 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 f9d77b5aa9b9ead2b4c0b2db96b0e83ea6787cde..6bbca451ef201d73b0f8296d23596796f0d4b1c8 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 dfaf5a64e8f8eaa23feb6526450168ab4867ef0c..4f6938eb7e1bf4785190b4012cda10c9126feef5 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 2e0b657530d7b27fe03e14828491efe7e69a4ec2..06cd6124f2e900fabb98b63c07cf013622360af0 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 1883dbf88ec823dd06be62bb1f4d192f9dedbd95..7fa9b3eb101ffb31356daaae280aee021fb36aa6 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 0000000000000000000000000000000000000000..df3e67c7e49a7fa7b1eb176220bf351877d4b4b3 --- /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 0000000000000000000000000000000000000000..abedd0150bb6b55cf6f02bd3ace06855192343dc --- /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 94bf19d28e4077ab7c62f3f1c2637effbaf220c3..85918a5197e65e8e583044b021088ac4a853a6fb 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 592e45e4308b38b24a7205e259615793762648b7..c74d8a28f21ae4d38d3ce920090836bfd7229010 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 0000000000000000000000000000000000000000..1fa9bc2aa45e6a75808062d11a953a40aecfc4fb --- /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