Added Charts
This commit is contained in:
@@ -61,14 +61,98 @@ function classKey(flight: Flight): string {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="flight.seat_number" class="pass-meta-row">
|
||||
<span class="pass-meta-pill pass-meta-pill--seat">SEAT {{ flight.seat_number }}</span>
|
||||
<div v-if="flight.duration_display || flight.distance || flight.seat_number" class="pass-tear">
|
||||
<div class="pass-tear-notch pass-tear-notch--left" />
|
||||
<div class="pass-tear-notch pass-tear-notch--right" />
|
||||
<div v-if="flight.duration_display || flight.distance " class="pass-stats-row">
|
||||
<span v-if="flight.seat_number" class="pass-stat">
|
||||
<span class="pass-stat-label">SEAT</span>
|
||||
<span class="pass-stat-value">{{ flight.seat_number }}</span>
|
||||
</span>
|
||||
<span class="pass-stat-divider" v-if="flight.duration_display && flight.distance">·</span>
|
||||
<span v-if="flight.duration_display" class="pass-stat">
|
||||
<span class="pass-stat-label">DURATION</span>
|
||||
<span class="pass-stat-value">{{ flight.duration_display }}</span>
|
||||
</span>
|
||||
<span class="pass-stat-divider" v-if="flight.duration_display && flight.distance">·</span>
|
||||
<span v-if="flight.distance" class="pass-stat">
|
||||
<span class="pass-stat-label">DISTANCE</span>
|
||||
<span class="pass-stat-value">{{ Math.round(flight.distance).toLocaleString() }} km</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.pass-stats-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 0.75rem;
|
||||
margin-top: 1rem;
|
||||
padding-top: 0.75rem;
|
||||
background-image: repeating-linear-gradient(
|
||||
to right,
|
||||
rgba(255,255,255,0.08) 0px,
|
||||
rgba(255,255,255,0.08) 6px,
|
||||
transparent 6px,
|
||||
transparent 12px
|
||||
);
|
||||
background-size: 100% 1px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: top center;
|
||||
}
|
||||
|
||||
.pass-tear {
|
||||
position: relative;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.pass-tear-notch {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
background: #0e1018; /* match your page background */
|
||||
border-radius: 50%;
|
||||
transform: translateY(-50%);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.pass-tear-notch--left { left: -1.6rem; } /* bleeds into the padding */
|
||||
.pass-tear-notch--right { right: -1.6rem; }
|
||||
|
||||
.pass-stat {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 0.15rem;
|
||||
}
|
||||
|
||||
.pass-stat-label {
|
||||
font-family: 'Share Tech Mono', monospace;
|
||||
font-size: 0.55rem;
|
||||
letter-spacing: 0.18em;
|
||||
color: #445566;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.pass-stat-value {
|
||||
font-family: 'Share Tech Mono', monospace;
|
||||
font-size: 0.82rem;
|
||||
color: #9aa;
|
||||
letter-spacing: 0.06em;
|
||||
}
|
||||
|
||||
.pass-stat-divider {
|
||||
color: #334;
|
||||
font-size: 1rem;
|
||||
line-height: 1;
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
|
||||
.boarding-pass {
|
||||
background: #181b24;
|
||||
border-radius: 10px;
|
||||
@@ -190,29 +274,4 @@ function classKey(flight: Flight): string {
|
||||
margin-left: 0.15rem;
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
.pass-meta-row {
|
||||
display: flex;
|
||||
gap: 0.4rem;
|
||||
margin-top: 1rem;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.pass-meta-pill {
|
||||
font-family: 'Share Tech Mono', monospace;
|
||||
font-size: 0.62rem;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
padding: 0.15rem 0.5rem;
|
||||
border-radius: 2px;
|
||||
border: 1px solid rgba(255,193,7,0.25);
|
||||
background: rgba(255,193,7,0.07);
|
||||
color: #ffc107;
|
||||
}
|
||||
|
||||
.pass-meta-pill--seat {
|
||||
border-color: rgba(200,205,216,0.2);
|
||||
background: rgba(200,205,216,0.06);
|
||||
color: #c8cdd8;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user