Added overlay for creating own product feedback and ratings

This commit is contained in:
Paul Eisenbock 2026-03-06 15:20:29 +01:00
parent ee766351bd
commit 1b2b2b0833
2 changed files with 134 additions and 18 deletions

View File

@ -633,3 +633,81 @@
padding: 0.5rem 0; padding: 0.5rem 0;
font-size: 0.85rem; font-size: 0.85rem;
} }
/* ==========================================================
REVIEW HINZUFÜGEN (Formular)
========================================================== */
.review-add {
max-width: 1200px;
margin: 0 auto 2rem;
padding: 0 1.5rem;
animation: fadeInUp 0.5s ease 0.4s both;
}
.review-input-form {
display: flex;
flex-direction: column;
gap: 1.2rem;
}
/* --- Sterne-Auswahl (Radio-Button Trick) --- */
.rating-input {
display: flex;
/* Dreht die Reihenfolge um für den Hover-Effekt */
flex-direction: row-reverse;
justify-content: flex-end;
gap: 0.3rem;
}
/* Versteckt die eigentlichen runden Radio-Buttons */
.rating-input input[type="radio"] {
display: none;
}
/* Stylt die Labels (die Sterne) */
.rating-input label {
font-size: 2.2rem;
color: #475569; /* Dunkelgrau für leere Sterne */
cursor: pointer;
transition: color 0.2s ease, transform 0.2s ease;
}
/* Hover-Logik: Färbt den gehoverten/geklickten Stern und alle "folgenden" (durch row-reverse sind das die linken) */
.rating-input label:hover,
.rating-input label:hover ~ label,
.rating-input input[type="radio"]:checked ~ label {
color: #fbbf24; /* Das gleiche Gelb wie bei deinen bestehenden Sternen */
}
/* Kleiner Pop-Effekt beim drüberfahren */
.rating-input label:hover {
transform: scale(1.15);
}
/* --- Textarea --- */
.review-comment-input {
width: 100%;
background: #1f2a3a;
border: 1px solid #2f3c52;
border-radius: 8px;
padding: 1rem;
color: #cbd5e1;
font-family: inherit;
font-size: 1rem;
resize: vertical; /* Nuter kann das Feld nach unten größer ziehen */
transition: all var(--transition-smooth);
}
.review-comment-input:focus {
outline: none;
border-color: #4ade80; /* Passt zu deinem grünen Button-Stil */
background: #243248;
box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.1);
}
/* --- Button Positionierung --- */
.review-input-form .auth__submit {
align-self: flex-start; /* Button bleibt linksbündig und wird nicht über die ganze Breite gestreckt */
padding: 0.8rem 2.5rem;
}

View File

@ -335,7 +335,7 @@ $productId = isset($_GET['id']) ? (int)$_GET['id'] : 0;
<div class="reviews"> <div class="reviews">
<h2 class="reviews-title">Bewertungen</h2> <h2 class="reviews-title">Bewertungen</h2>
<div class="reviews-all">
<?php if (!empty($reviews)): ?> <?php if (!empty($reviews)): ?>
<?php foreach ($reviews as $review): ?> <?php foreach ($reviews as $review): ?>
@ -367,6 +367,44 @@ $productId = isset($_GET['id']) ? (int)$_GET['id'] : 0;
<p>Es gibt noch keine Bewertungen.</p> <p>Es gibt noch keine Bewertungen.</p>
</div> </div>
<?php endif; ?> <?php endif; ?>
</div>
<div class="review-add">
<h2 class="reviews-title">Füge deine Bewertung hinzu!</h2>
<div class="review-card">
<form class="review-input-form" method="post" autocomplete="off">
<input type="hidden" name="submit_review" value="1">
<div class="rating-input">
<input type="radio" id="star5" name="rating" value="5" required />
<label for="star5" title="5 Sterne"></label>
<input type="radio" id="star4" name="rating" value="4" />
<label for="star4" title="4 Sterne"></label>
<input type="radio" id="star3" name="rating" value="3" />
<label for="star3" title="3 Sterne"></label>
<input type="radio" id="star2" name="rating" value="2" />
<label for="star2" title="2 Sterne"></label>
<input type="radio" id="star1" name="rating" value="1" />
<label for="star1" title="1 Stern"></label>
</div>
<textarea class="review-comment-input" name="comment" rows="4"
placeholder="Teile deine Meinung mit anderen!" required></textarea>
<input class="auth__submit" type="submit" value="Senden">
</form>
</div>
</div>
</div>
</div> </div>