Преглед изворни кода

SVI Добавление параметров отображения

SVI пре 2 година
родитељ
комит
b2ad78bfc4

+ 15 - 6
server/serv_web/web_gui/web_gui.go

@@ -58,12 +58,16 @@ func (сам *ВебГуи) состояниеБота(кнт *fiber.Ctx) error
 		})
 	}
 	return кнт.Render("state_bot", fiber.Map{
-		"Title":   "WarTank",
-		"имя":     имя,
-		"топливо": бот.Ангар().Топливо().Получ(),
-		"золото":  бот.Ангар().Золото().Получ(),
-		"слава":   бот.Ангар().Конвой().Слава().Получ(),
-		"атака":   бот.Танк().ТанкСтат().Атака().Получ(),
+		"Title":     "WarTank",
+		"имя":       имя,
+		"топливо":   бот.Ангар().Топливо().Получ(),
+		"золото":    бот.Ангар().Золото().Получ(),
+		"серебро":   бот.Ангар().СереброВсего().Получ(),
+		"слава":     бот.Ангар().Конвой().Слава().Получ(),
+		"атака":     бот.Танк().ТанкСтат().Атака().Получ(),
+		"броня":     бот.Танк().ТанкСтат().Броня().Получ(),
+		"точность":  бот.Танк().ТанкСтат().Точность().Получ(),
+		"прочность": бот.Танк().ТанкСтат().Прочность().Получ(),
 	})
 }
 
@@ -105,6 +109,11 @@ func (сам *ВебГуи) списокБотов(кнт *fiber.Ctx) error {
 
 // Возвращает индексную страницу
 func (сам *ВебГуи) индекс(кнт *fiber.Ctx) error {
+	имя := кнт.Cookies("login")
+	if имя == "svi" {
+		return кнт.Redirect("/gui/list_bot")
+	}
+	log.Printf("ВебГуи.индекс(): логин=%s\n", имя)
 	return кнт.Render("index", fiber.Map{
 		"Title": "WarTank",
 	})

+ 25 - 8
web/tmpl/add_bot.tmpl.html

@@ -1,15 +1,32 @@
 {{ define "add_bot" }}
 {{ template "header" . }}
-<h1>WarTank</h1>
 Страница добавления бота вартанк.
 <form action="/api/add_bot" method="POST">
-    <label>Логин бота:</label>
-    <input type="text" name="login_bot" placeholder="login_bot">
-    <br>
-    <label>Пароль бота:</label>
-    <input type="text" name="password_bot" placeholder="password_bot">
-    <br>
-    <input type="submit" value="Добавить">
+    <div class="container border rounded">
+        <div class="row border rounded">
+            <div class="col-3">
+                <label>Логин бота:</label>
+            </div>
+            <div class="col">
+                <input class="w-100" type="text" name="login_bot" placeholder="login_bot">
+            </div>
+        </div>
+        <div class="row border rounded">
+            <div class="col-3">
+                <label>Пароль бота:</label>
+            </div>
+            <div class="col">
+                <input class="w-100" type="text" name="password_bot" placeholder="password_bot">
+            </div>
+        </div>
+        <div class="row">
+            <div class="col-9">
+            </div>
+            <div class="col text-end">
+                <input class="btn btn-primary" type="submit" value="Добавить">
+            </div>
+        </div>
+    </div>
 </form>
 {{ if .err }}
 <p>{{ .err }}</p>

+ 8 - 2
web/tmpl/footer.tmpl.html

@@ -1,7 +1,13 @@
 {{ define "footer" }}
 <br>
-Тут подвал.
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" crossorigin="anonymous"></script>
+<!-- Контейнер подвала -->
+<div class="container-fluid border rounded text-info bg-dark">
+FunnySoft 2023 (c)
+</div>
+
+<!-- конец боди-контейнера -->
+</div>
+<script src="/static/js/bootstrap.bundle.min.js"></script>
 </body>
 
 </HTML>

+ 14 - 3
web/tmpl/header.tmpl.html

@@ -8,9 +8,20 @@
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <meta pragma="no-cache">
         <!-- Bootstrap CSS -->
-        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet"
-            integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
+        <link href="/static/css/bootstrap.min.css" rel="stylesheet">
     </head>
 
     <body>
-        {{end}}
+        <div class="container-fluid"><!-- начало боди-контейнера -->
+            <div class="container-fluid align-middle"><!-- контейнер заголовка -->
+                <div class="row border align-items-center">
+                    <div class="col-auto border border-primary rounded btn btn-dark">
+                        <h1>WarTank</h1>
+                    </div>
+                    <div class="col">
+                        <a class="btn btn-primary" href="/">Главная</a>
+                        <a class="btn btn-primary" href="/gui/list_bot">Список ботов</a>
+                    </div>
+                </div>
+            </div>
+            {{end}}

+ 0 - 1
web/tmpl/index.tmpl.html

@@ -1,6 +1,5 @@
 {{ define "index" }}
 {{ template "header" . }}
-<h1>WarTank</h1>
 Стартовая страница игры вартанк.
 
 <!-- Форма логина -->

+ 1 - 2
web/tmpl/list_bot.tmpl.html

@@ -1,8 +1,7 @@
 {{ define "list_bot" }}
 <!-- web/tmpl/list_bot.tmpl.html -->
 {{ template "header" . }}
-<h1>WarTank</h1>
-Страница списка ботов вартанк.<br>
+<h1>Страница списка ботов вартанк</h1>
 {{$lenBots:= len .bots}}
 {{printf "len %s" .lenBots}}<br>
 {{printf "bots: %s" .bots}}<br>

+ 34 - 7
web/tmpl/state_bot.tmpl.html

@@ -1,11 +1,38 @@
 {{ define "state_bot" }}
 {{ template "header" . }}
-<h1>WarTank</h1>
-Страница состояния бота вартанк.
-<p>Имя бота: {{.имя}}</p>
-<p>Топливо: {{.топливо}}</p>
-<p>Золото: {{.золото}}</p>
-<p>Слава: {{.слава}}</p>
-<p>Атака: {{.атака}}</p>
+<h1>Страница состояния бота вартанк</h1>
+<p class="border rounded"><span class="badge bg-secondary">Имя:</span> {{.имя}}</p>
+<div class="container-fluid my-1">
+    <!-- глобальная статистика -->
+    <div class="row bg-success bg-gradient text-white">
+        <div class="col">
+            <span class="badge bg-dark border rounded">Золото:</span> {{.золото}}
+        </div>
+        <div class="col">
+            <span class="badge bg-dark border rounded">Серебро:</span> {{.серебро}}
+        </div>
+        <div class="col">
+            <span class="badge bg-dark border rounded">Топливо:</span> {{.топливо}}
+        </div>
+        <div class="col">
+            <span class="badge bg-dark border rounded">Слава:</span> {{.слава}}
+        </div>
+    </div>
+    <!-- статистика силы танка -->
+    <div class="row bg-success bg-gradient text-white">
+        <div class="col">
+            <span class="badge bg-dark border rounded">Атака:</span> {{.атака}}
+        </div>
+        <div class="col">
+            <span class="badge bg-dark border rounded">Броня:</span> {{.броня}}
+        </div>
+        <div class="col">
+            <span class="badge bg-dark border rounded">Точность:</span> {{.точность}}
+        </div>
+        <div class="col">
+            <span class="badge bg-dark border rounded">Прочность:</span> {{.прочность}}
+        </div>
+    </div>
+</div>
 {{ template "footer" . }}
 {{end}}