poprawki dla bazy pilotów web, modul zaproszen w apce mobile
This commit is contained in:
@@ -0,0 +1,313 @@
|
||||
<?php
|
||||
$pageTitle = 'Superpilot - Opinie i Referencje Biur Podróży: Oskar Kaczmarek';
|
||||
$enablePrototypeComments = true;
|
||||
include __DIR__ . '/header.php';
|
||||
?>
|
||||
|
||||
<div class="container-xxl flex-grow-1 container-p-y" style="padding-top: 1.5rem !important;">
|
||||
|
||||
<!-- Pasek powrotu i akcje -->
|
||||
<div class="d-flex justify-content-between align-items-center mb-3 flex-wrap gap-2">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb mb-0" style="font-size: 0.8rem;">
|
||||
<li class="breadcrumb-item"><a href="index.php" class="text-muted"><i class='bx bx-arrow-back'></i> Katalog Pilotów</a></li>
|
||||
<li class="breadcrumb-item"><a href="pilot-profile.php" class="text-muted">Oskar Kaczmarek</a></li>
|
||||
<li class="breadcrumb-item active text-primary fw-bold" aria-current="page">Opinie i Referencje Biur</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<a href="../travelleader-mobile/profile-reviews.php" target="_blank" class="btn btn-sm btn-outline-secondary d-inline-flex align-items-center gap-1" style="font-size: 0.78rem;">
|
||||
<i class='bx bx-mobile'></i> Zobacz w aplikacji mobilnej pilota <i class='bx bx-link-external' style="font-size: 0.7rem;"></i>
|
||||
</a>
|
||||
<button type="button" class="btn btn-sm btn-superpilot" onclick="openBookingModal('1', 'Oskar Kaczmarek', '16.09.2027 - 24.09.2027')">
|
||||
<i class='bx bx-calendar-plus'></i> Zarezerwuj pilota
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Nagłówek i Karta Pilota -->
|
||||
<div class="card border-0 shadow-sm mb-4" style="border-radius: var(--sp-radius-md);">
|
||||
<div class="card-body p-4">
|
||||
<div class="d-flex justify-content-between align-items-center flex-wrap gap-3">
|
||||
<div class="d-flex align-items-center gap-3">
|
||||
<div class="rounded-3 d-flex align-items-center justify-content-center text-white fw-bold shadow-sm" style="width: 58px; height: 58px; background: linear-gradient(135deg, #4f46e5, #7c3aed); font-size: 1.5rem;">
|
||||
OK
|
||||
</div>
|
||||
<div>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<h4 class="fw-bold mb-0 text-navy">Oskar Kaczmarek — Opinie Biur Podróży</h4>
|
||||
<span class="badge bg-success-subtle text-success fw-bold">Superpilot Verified</span>
|
||||
</div>
|
||||
<small class="text-muted">Wszystkie referencje wystawione przez zweryfikowanych koordynatorów w ekosystemie TravelManager i PrzezMorze</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<button type="button" class="btn btn-warning fw-bold text-dark px-3 py-2" data-bs-toggle="modal" data-bs-target="#newReviewModal">
|
||||
<i class='bx bx-edit-alt'></i> + Wystaw nową opinię
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Rating Summary Hero & Rozbicie gwiazdek -->
|
||||
<div class="row g-4 mb-4">
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="card border-0 shadow-sm h-100 text-center p-4" style="border-radius: var(--sp-radius-md);">
|
||||
<div class="display-3 fw-bold text-navy mb-1" style="font-size: 3.5rem; line-height: 1;">4.9</div>
|
||||
<div class="text-warning fs-3 mb-2">
|
||||
<i class='bx bxs-star'></i><i class='bx bxs-star'></i><i class='bx bxs-star'></i><i class='bx bxs-star'></i><i class='bx bxs-star-half'></i>
|
||||
</div>
|
||||
<div class="text-muted small mb-3">Średnia z 18 referencji od 6 biur podróży</div>
|
||||
|
||||
<div class="badge bg-success-subtle text-success p-2 rounded-pill fw-bold mb-3" style="font-size: 0.8rem;">
|
||||
<i class='bx bx-check-shield'></i> 100% biur poleca pilota na kolejne wycieczki
|
||||
</div>
|
||||
|
||||
<div class="pt-3 border-top text-start text-muted small">
|
||||
<div class="d-flex justify-content-between mb-1">
|
||||
<span>Almatur:</span> <strong class="text-dark">5.0 ★ (8 wycieczek)</strong>
|
||||
</div>
|
||||
<div class="d-flex justify-content-between mb-1">
|
||||
<span>Logos Tour:</span> <strong class="text-dark">5.0 ★ (4 wycieczki)</strong>
|
||||
</div>
|
||||
<div class="d-flex justify-content-between">
|
||||
<span>Rainbow:</span> <strong class="text-dark">4.8 ★ (6 wycieczek)</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-8">
|
||||
<div class="card border-0 shadow-sm h-100 p-4" style="border-radius: var(--sp-radius-md);">
|
||||
<h6 class="fw-bold text-navy mb-3">Szczegółowy rozkład ocen i kategorii:</h6>
|
||||
|
||||
<!-- Słupki gwiazdek -->
|
||||
<div class="d-flex flex-column gap-2 mb-4" style="font-size: 0.84rem;">
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<span style="width: 35px;" class="fw-semibold">5 ★</span>
|
||||
<div class="progress flex-grow-1" style="height: 10px;">
|
||||
<div class="progress-bar bg-warning" style="width: 89%;"></div>
|
||||
</div>
|
||||
<span class="text-muted" style="width: 70px;">16 opinii (89%)</span>
|
||||
</div>
|
||||
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<span style="width: 35px;" class="fw-semibold">4 ★</span>
|
||||
<div class="progress flex-grow-1" style="height: 10px;">
|
||||
<div class="progress-bar bg-warning" style="width: 11%;"></div>
|
||||
</div>
|
||||
<span class="text-muted" style="width: 70px;">2 opinie (11%)</span>
|
||||
</div>
|
||||
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<span style="width: 35px;" class="fw-semibold">3 ★</span>
|
||||
<div class="progress flex-grow-1" style="height: 10px;">
|
||||
<div class="progress-bar bg-warning" style="width: 0%;"></div>
|
||||
</div>
|
||||
<span class="text-muted" style="width: 70px;">0 opinii</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Kluczowe wymiary oceny biura podróży -->
|
||||
<div class="row g-3 pt-3 border-top">
|
||||
<div class="col-md-4 col-12">
|
||||
<div class="p-3 rounded-3 bg-light text-center">
|
||||
<div class="text-warning fs-5 fw-bold">5.0 ★</div>
|
||||
<strong class="text-dark d-block mt-1" style="font-size: 0.85rem;">Współpraca z biurem</strong>
|
||||
<small class="text-muted d-block" style="font-size: 0.72rem;">Bieżący kontakt i dyspozycyjność</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-6">
|
||||
<div class="p-3 rounded-3 bg-light text-center">
|
||||
<div class="text-warning fs-5 fw-bold">4.9 ★</div>
|
||||
<strong class="text-dark d-block mt-1" style="font-size: 0.85rem;">Rozliczenie imprezy</strong>
|
||||
<small class="text-muted d-block" style="font-size: 0.72rem;">Zaliczki, faktury i dokumenty</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-6">
|
||||
<div class="p-3 rounded-3 bg-light text-center">
|
||||
<div class="text-warning fs-5 fw-bold">5.0 ★</div>
|
||||
<strong class="text-dark d-block mt-1" style="font-size: 0.85rem;">Realizacja programu</strong>
|
||||
<small class="text-muted d-block" style="font-size: 0.72rem;">Logistyka i brak reklamacji</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Filtry destynacji opinii -->
|
||||
<div class="d-flex justify-content-between align-items-center mb-3 flex-wrap gap-2">
|
||||
<div class="d-flex gap-2">
|
||||
<button type="button" class="btn btn-sm btn-primary">Wszystkie opinie (18)</button>
|
||||
<button type="button" class="btn btn-sm btn-outline-secondary">🇮🇹 Włochy (12)</button>
|
||||
<button type="button" class="btn btn-sm btn-outline-secondary">🇪🇸 Hiszpania (4)</button>
|
||||
<button type="button" class="btn btn-sm btn-outline-secondary">🇬🇷 Grecja (2)</button>
|
||||
</div>
|
||||
<small class="text-muted">Sortowanie: Najnowsze opinie</small>
|
||||
</div>
|
||||
|
||||
<!-- Lista opinii biur podróży -->
|
||||
<div id="agencyReviewsList">
|
||||
|
||||
<!-- Recenzja 1: Almatur -->
|
||||
<div class="review-card-item">
|
||||
<div class="d-flex justify-content-between align-items-start mb-2">
|
||||
<div class="d-flex align-items-center gap-3">
|
||||
<div class="review-agency-avatar">
|
||||
AL
|
||||
</div>
|
||||
<div>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<h6 class="fw-bold mb-0 text-navy">Biuro Podróży Almatur</h6>
|
||||
<span class="badge bg-label-primary small">Zweryfikowane zlecenie #12</span>
|
||||
</div>
|
||||
<small class="text-muted">Wycieczka: Klasyczne Włochy (8 dni) • Realizacja: Maj 2026 • Koordynator: Tomasz W.</small>
|
||||
</div>
|
||||
</div>
|
||||
<span class="badge bg-warning-subtle text-warning fw-bold px-3 py-2 rounded-pill fs-6">
|
||||
<i class='bx bxs-star'></i> 5.0 / 5.0
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<p class="mb-3 text-secondary" style="font-size: 0.92rem; line-height: 1.55;">
|
||||
"Pan Oskar prowadził 8-dniowy objazd po Włoszech. Klienci byli zachwyceni jego wiedzą i empatią. Brak jakichkolwiek problemów organizacyjnych. Doskonała reakcja w trakcie korka na autostradzie pod Bolonią — natychmiast skontaktował się z restauracją i przesunął kolację bez utraty komfortu turystów. Bardzo chętnie zarezerwujemy kolejne terminy na jesień."
|
||||
</p>
|
||||
|
||||
<!-- Oficjalna odpowiedź pilota -->
|
||||
<div class="pilot-reply-box">
|
||||
<div class="d-flex justify-content-between align-items-center mb-1">
|
||||
<div class="d-flex align-items-center gap-1 text-primary fw-bold" style="font-size: 0.8rem;">
|
||||
<i class='bx bx-reply fs-5'></i> Oficjalna odpowiedź pilota (Oskar Kaczmarek)
|
||||
</div>
|
||||
<small class="text-muted">3 dni temu z aplikacji mobilnej</small>
|
||||
</div>
|
||||
<p class="mb-0 text-secondary" style="font-size: 0.84rem; line-height: 1.45;">
|
||||
Dziękuję serdecznie za zaufanie! Współpraca z koordynatorem trasy i grupą układała się wzorowo. Do zobaczenia na kolejnych wyjazdach!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Recenzja 2: Logos Tour -->
|
||||
<div class="review-card-item">
|
||||
<div class="d-flex justify-content-between align-items-start mb-2">
|
||||
<div class="d-flex align-items-center gap-3">
|
||||
<div class="review-agency-avatar" style="background: #e0f2fe; color: #0284c7;">
|
||||
LT
|
||||
</div>
|
||||
<div>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<h6 class="fw-bold mb-0 text-navy">Logos Tour Warszawa</h6>
|
||||
<span class="badge bg-label-info small">Zweryfikowane zlecenie</span>
|
||||
</div>
|
||||
<small class="text-muted">Wycieczka: Andaluzja Express • Realizacja: Kwiecień 2026</small>
|
||||
</div>
|
||||
</div>
|
||||
<span class="badge bg-warning-subtle text-warning fw-bold px-3 py-2 rounded-pill fs-6">
|
||||
<i class='bx bxs-star'></i> 5.0 / 5.0
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<p class="mb-0 text-secondary" style="font-size: 0.92rem; line-height: 1.55;">
|
||||
"Znakomite przygotowanie merytoryczne. Świetny kontakt z hiszpańskimi przewodnikami lokalnymi. Oskar potrafi utrzymać dyscyplinę czasową w grupie 45 osób w sposób całkowicie bezstresowy. Rekomendujemy bez wahania."
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Recenzja 3: Rainbow Tours -->
|
||||
<div class="review-card-item">
|
||||
<div class="d-flex justify-content-between align-items-start mb-2">
|
||||
<div class="d-flex align-items-center gap-3">
|
||||
<div class="review-agency-avatar" style="background: #fef3c7; color: #b45309;">
|
||||
RT
|
||||
</div>
|
||||
<div>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<h6 class="fw-bold mb-0 text-navy">Rainbow Tours</h6>
|
||||
<span class="badge bg-label-warning small">Zweryfikowane zlecenie</span>
|
||||
</div>
|
||||
<small class="text-muted">Wycieczka: Magia Toskanii • Realizacja: Wrzesień 2025</small>
|
||||
</div>
|
||||
</div>
|
||||
<span class="badge bg-warning-subtle text-warning fw-bold px-3 py-2 rounded-pill fs-6">
|
||||
<i class='bx bxs-star'></i> 4.8 / 5.0
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<p class="mb-0 text-secondary" style="font-size: 0.92rem; line-height: 1.55;">
|
||||
"Wszystkie punkty programu zrealizowane punktualnie, świetna reakcja na deszczowy dzień we Florencji i szybka rearanżacja czasu wolnego. Jeden z najbardziej profesjonalnych pilotów w naszej bazie."
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div><!-- /.container-xxl -->
|
||||
|
||||
<!-- Modal dodania opinii -->
|
||||
<div class="modal fade" id="newReviewModal" tabindex="-1" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-lg">
|
||||
<div class="modal-content border-0 shadow-lg" style="border-radius: var(--sp-radius-md);">
|
||||
<div class="modal-header bg-warning text-dark">
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<i class='bx bxs-star fs-3'></i>
|
||||
<div>
|
||||
<h5 class="modal-title fw-bold mb-0">Wystaw Opinię i Referencję dla Pilota</h5>
|
||||
<small class="text-dark-50" style="font-size: 0.76rem;">Ocena zostanie uwzględniona w rankingu Superpilot i trafi do aplikacji pilota</small>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Zamknij"></button>
|
||||
</div>
|
||||
|
||||
<form id="addReviewForm">
|
||||
<div class="modal-body p-4">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-6">
|
||||
<label class="form-label fw-bold small text-muted">Wycieczka z bazy biura:</label>
|
||||
<select class="form-select" required>
|
||||
<option value="">Wybierz zakończoną wycieczkę...</option>
|
||||
<option value="12" selected>Wycieczka #12: Klasyczne Włochy (Almatur)</option>
|
||||
<option value="8">Wycieczka #8: Toskania & Rzym (Maj 2026)</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<label class="form-label fw-bold small text-muted">Ocena ogólna:</label>
|
||||
<select class="form-select fw-bold text-warning" required>
|
||||
<option value="5" selected>★★★★★ 5.0 — Rewelacyjny (Pełna rekomendacja)</option>
|
||||
<option value="4">★★★★☆ 4.0 — Bardzo dobry</option>
|
||||
<option value="3">★★★☆☆ 3.0 — Przeciętny</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<label class="form-label fw-bold small text-muted">Treść referencji / recenzji:</label>
|
||||
<textarea class="form-control" rows="4" placeholder="Opisz jak pilot poradził sobie z trasą, grupą i programem..." required>Wzorowa realizacja wyjazdu. Pilot doskonale poradził sobie ze zmianą harmonogramu z powodu pogody. Grupa była zachwycona. Zdecydowanie polecamy!</textarea>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="recommendCheck" checked>
|
||||
<label class="form-check-label fw-bold small" for="recommendCheck">
|
||||
Polecam tego pilota innym koordynatorom biur podróży
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer bg-light px-4 py-3 border-top">
|
||||
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Anuluj</button>
|
||||
<button type="submit" class="btn btn-warning fw-bold px-4">
|
||||
<i class='bx bx-check'></i> Opublikuj oficjalną referencję
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include __DIR__ . '/footer.php'; ?>
|
||||
Reference in New Issue
Block a user