Diff between d51cbc19cf2c60f00a5ec30d6c9d8db6fbda6502 and 4583b3f1f6516fa037ff0a2ef4e3df72ba42c174

Changed Files

File Additions Deletions Status
info.txt +1 -0 modified
src/main.cpp +12 -2 modified
templates/admin.html +25 -15 modified
templates/index.html +8 -6 modified
templates/login.html +19 -11 modified

Full Patch

diff --git a/info.txt b/info.txt
index 4f2d4c3..a9ad6c9 100644
--- a/info.txt
+++ b/info.txt
@@ -1,2 +1,3 @@
 Olemme Jaakon alaisia
+
 
diff --git a/src/main.cpp b/src/main.cpp
index 5139375..abad833 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -84,7 +84,9 @@ int main()
 	std::string info;
 
 	CROW_ROUTE(app, "/")
-		.methods("GET"_method, "POST"_method)([&asunnot, &info](){
+		.methods("GET"_method, "POST"_method)([&app, &asunnot, &info](const crow::request& req){
+		auto& session = app.get_context<Session>(req);
+
 		auto page = crow::mustache::load("index.html");
 		crow::json::wvalue asunnotJson;
 		for (int i = 0; i < asunnot.size(); ++i) {
@@ -92,6 +94,14 @@ int main()
 			asunnotJson[i]["kuva"] = asunnot.at(i).kuvaPolku;
 		}
 		crow::mustache::context ctx({{"asunnot", asunnotJson}, {"tieto", info}});
+		// Login homma
+		if (session.get("name","_NO_") == "_NO_") {
+			ctx["link-text"] = "Kirjaudu";
+			ctx["link-link"] = "login";
+		} else {
+			ctx["link-text"] = "Admin";
+			ctx["link-link"] = "admin";
+		}
 		return page.render(ctx);
 	});
 
@@ -115,7 +125,7 @@ int main()
 				// Aseta session muuttujat
 				session.set("name", reqName);
 				// Kun POST request ohi, redirect admin sivulle
-				res.redirect("/admin");
+				res.redirect("/");
 				res.end();
 				return;
 			}
diff --git a/templates/admin.html b/templates/admin.html
index a593169..ef37175 100644
--- a/templates/admin.html
+++ b/templates/admin.html
@@ -3,25 +3,35 @@
 	<head>
 		<meta charset="UTF-8" />
 		<meta name="viewport" content="width=device-width, initial-scale=1" />
+		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
+		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js" integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI" crossorigin="anonymous"></script>
 		<title>Admin</title>
 	</head>
 	<body>
-		<div>
-			Tietoa meistä:
-			<form action="/admin" method="post" accept-charset="utf-8">
-				<textarea name="info" id="info">{{ info }}</textarea>
-				<input type="submit" value="Muokkaa" />
-			</form>
+		<div class="container pt-3">
+			<div class="text-bg-primary container pt-1 pb-1">
+				Tietoa meistä
+			</div>
+			<div class="container pt-3">
+				<form action="/admin" method="post" accept-charset="utf-8">
+					<textarea name="info" id="info" class="form-control">{{ info }}</textarea> <br> <br>
+					<button type="submit" class="btn btn-primary">Muokkaa</button>
+				</form>
+			</div>
 		</div>
-		<div>
-			Lisää asuntola
-			<form action="/asunto" method="post" accept-charset="utf-8" enctype="multipart/form-data">
-				<label for="name">Osoite</label> <br>
-				<input type="text" name="name" id="name" value=""> <br>
-				<label for="image">Kuva asunnosta</label> <br>
-				<input type="file" name="image" id="image" value=""> <br>
-				<input type="submit" value="Lisää asunto" />
-			</form>
+		<div class="container pt-5">
+			<div class="text-bg-primary container pt-1 pb-1">
+				Lisää asuntola
+			</div>
+			<div class="container pt-3">
+				<form action="/asunto" method="post" accept-charset="utf-8" enctype="multipart/form-data">
+					<label for="name">Osoite</label> <br>
+					<input type="text" name="name" id="name" value="" class="form-control"> <br>
+					<label for="image" class="pt-3">Kuva asunnosta</label> <br>
+					<input type="file" name="image" id="image" value="" class="form-control"> <br>
+					<button type="submit" class="btn btn-primary">Lisää asunto</button>
+				</form>
+			</div>
 		</div>
 	</body>
 </html>
diff --git a/templates/index.html b/templates/index.html
index e1684b4..cfe49f2 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -17,15 +17,17 @@
 					</div>
 					<ul class="navbar-nav flex-row flex-wrap bd-navbar ms-md-auto">
 						<li class="nav-item">
-							<a class="nav-link p-2">Asunnot</a>
+							<a class="nav-link p-2" href="/#params">Asunnot</a>
 						</li>
 						<li class="nav-item">
-							<a class="nav-link p-2">Tietoa meistä</a>
+							<a class="nav-link p-2" href="/#about">Tietoa meistä</a>
 						</li>
 						<li class="nav-item">
-							<a class="nav-link p-2">Ota yhteyttä</a>
+							<a class="nav-link p-2" href="/#">Ota yhteyttä</a>
+						</li>
+						<li class="nav-item">
+							<a class="nav-link p-2" href="/{{ link-link }}">{{ link-text }}</a>
 						</li>
-
 					</ul>
 				</nav>
 			</header>
@@ -33,7 +35,7 @@
 				<img class="img-full" src="https://www.gradia.fi/sites/default/files/styles/image_paragraph_large/public/media/embed/20240610_Jyv%C3%A4skyl%C3%A4n%20asuntola.jpg?itok=wGzrX8_C">
 			</div>
 			<div class="container">
-				<h1 class="pt-5 pb-5">Asunnot</h1>
+				<h1 class="pt-5 pb-5" id="params">Asunnot</h1>
 				<div class="row w-100">
 					{{#asunnot}}
 					<div class="col-md-3 bg h-good p-0 m-0" style="background-image: url('/static/images/{{ kuva }}');">
@@ -43,7 +45,7 @@
 						</div>
 					{{/asunnot}}
 				</div>
-				<h2 class="pt-5 pb-3">Tietoa meistä</h2>
+				<h2 class="pt-5 pb-3" id="about">Tietoa meistä</h2>
 				<p>{{ tieto }}</p>
 				<h2 class="pt-3 pb-4 text-center">Meidän tiimi</h2>
 				<div class="row pb-5">
diff --git a/templates/login.html b/templates/login.html
index b8f081a..5ffb19a 100644
--- a/templates/login.html
+++ b/templates/login.html
@@ -3,19 +3,27 @@
 	<head>
 		<meta charset="utf-8">
 		<meta name="viewport" content="width=device-width">
-		<title></title>
+		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
+		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js" integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI" crossorigin="anonymous"></script>
+		<title>Login</title>
 	</head>
 	<body>
-		{{#name}}
-		<p>Kirjauduttu sisään, tervetuloa {{name}}!</p>
-		{{/name}}
-		<form action="/login" method="post" accept-charset="utf-8">
-			<label for="name">Nimi</label><br>
-			<input type="text" name="name" id="name" value=""><br>
-			<label for="pass">Salasana</label><br>
-			<input type="password" name="pass" id="pass" value=""><br>
-			<button type="submit">Log in</button>
-		</form>
+		<div class="container">
+			{{#name}}
+			<div class="container text-bg-primary pt-1 pb-1">
+				<p>Kirjauduttu sisään, tervetuloa {{name}}!</p>
+			</div>
+			{{/name}}
+			<div class="container pt-3">
+				<form action="/login" method="post" accept-charset="utf-8">
+					<label for="name">Nimi</label><br>
+					<input type="text" name="name" id="name" value="" class="form-control"><br>
+					<label for="pass">Salasana</label><br>
+					<input type="password" name="pass" id="pass" value="" class="form-control"><br> <br>
+					<button type="submit" class="btn btn-primary">Log in</button>
+				</form>
+			</div>
+		</div>
 	</body>
 </html>