Files
E-Vote/resources/assets/js/components/demo/voter/home/zoom.vue
T

247 lines
5.1 KiB
Vue

<template>
<div class="row col-md-10 col-md-offset-1 zoom-page">
<div class="col-md-12">
<div class="zoom-hero-card">
<div class="zoom-section-kicker">Pautan Mesyuarat</div>
<h3 class="zoom-title">SELAMAT DATANG KE MESYUARAT AGUNG TAHUNAN</h3>
<p class="zoom-subtitle">
Sertai Mesyuarat Agung Tahunan KoPKB kali ke-28/2024 melalui pautan rasmi di bawah.
</p>
</div>
<div class="zoom-main-card">
<div class="centered-container zoom-image-section">
<div class="image-container zoom-image-card">
<img :src="imageUrl" alt="meeting apps" class="zoom-image" />
</div>
</div>
<div class="centered-container zoom-content-section">
<div class="zoom-meeting-badge">
KoPKB KALI KE-28/2024
</div>
<h4 class="zoom-content-title">Google Meet Rasmi</h4>
<p class="zoom-content-text">
Pastikan anda telah mendaftar kehadiran dan bersedia dengan sambungan internet yang stabil sebelum menyertai
mesyuarat.
</p>
<div class="zoom-action-panel">
<button class="btn-interactive" @click="navigateToURL" type="button">
<i class="fa fa-video-camera"></i> Klik pada pautan berikut
</button>
<div class="zoom-link-note">
Pautan akan dibuka terus ke sesi mesyuarat rasmi.
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
imageUrl: 'https://th.bing.com/th/id/OIP.TGLvYXfe4xq5MTZe4UnTDgHaEy?w=255&h=180&c=7&r=0&o=5&dpr=1.8&pid=1.7',
meetingUrl: 'https://meet.google.com/paa-tpck-ssq'
};
},
methods: {
navigateToURL() {
window.open(this.meetingUrl, '_blank');
}
}
};
</script>
<style scoped>
.zoom-page {
font-family: Arial, sans-serif;
margin-top: 18px;
margin-bottom: 36px;
}
.zoom-hero-card {
margin-bottom: 22px;
padding: 26px 28px;
border-radius: 22px;
background: linear-gradient(135deg, #ffffff 0%, #eef6ff 100%);
border: 1px solid #e2ebf5;
box-shadow: 0 16px 34px rgba(35, 64, 97, 0.08);
text-align: center;
}
.zoom-section-kicker {
margin-bottom: 8px;
color: #2f80ed;
font-size: 1.2rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.zoom-title {
margin: 0 0 10px;
color: #17324d;
font-size: 2.8rem;
font-weight: 700;
line-height: 1.3;
}
.zoom-subtitle {
max-width: 720px;
margin: 0 auto;
color: #5f7388;
font-size: 1.5rem;
line-height: 1.6;
}
.zoom-main-card {
display: grid;
grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
gap: 24px;
padding: 24px;
border-radius: 22px;
background: #fff;
border: 1px solid #e2ebf5;
box-shadow: 0 16px 34px rgba(35, 64, 97, 0.08);
}
.centered-container {
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
min-height: 40vh;
}
.zoom-image-card {
width: 100%;
overflow: hidden;
border-radius: 18px;
border: 1px solid #dbe7f3;
background: #f4f8fd;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
.zoom-image {
width: 100%;
max-height: 420px;
object-fit: cover;
display: block;
}
.zoom-content-section {
align-items: flex-start;
text-align: left;
}
.zoom-meeting-badge {
margin-bottom: 12px;
padding: 8px 12px;
border-radius: 999px;
background: #e8f1ff;
color: #215db8;
font-size: 1.2rem;
font-weight: 700;
letter-spacing: 0.04em;
}
.zoom-content-title {
margin: 0 0 10px;
color: #17324d;
font-size: 2.4rem;
font-weight: 700;
}
.zoom-content-text {
margin-bottom: 18px;
color: #5f7388;
font-size: 1.5rem;
line-height: 1.7;
}
.zoom-action-panel {
width: 100%;
padding: 18px;
border-radius: 18px;
background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
border: 1px solid #d9e8fb;
box-shadow: 0 12px 28px rgba(35, 64, 97, 0.07);
}
.btn-interactive {
padding: 14px 26px;
background: linear-gradient(135deg, #0d6efd, #2f80ed);
color: white;
border: none;
border-radius: 999px;
font-size: 16px;
font-weight: bold;
cursor: pointer;
transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
outline: none;
box-shadow: 0 12px 24px rgba(13, 110, 253, 0.25);
}
.btn-interactive:hover {
transform: scale(1.05);
box-shadow: 0 16px 28px rgba(13, 110, 253, 0.3);
}
.btn-interactive:active {
transform: scale(0.98);
}
.btn-interactive:focus {
outline: none;
box-shadow: 0 0 5px 2px rgba(0, 123, 255, 0.5);
}
.zoom-link-note {
margin-top: 12px;
color: #5f7388;
font-size: 1.3rem;
}
@media (max-width: 991px) {
.zoom-main-card {
grid-template-columns: 1fr;
}
.zoom-content-section {
align-items: center;
text-align: center;
}
}
@media (max-width: 767px) {
.zoom-hero-card,
.zoom-main-card {
padding: 18px;
border-radius: 16px;
}
.zoom-title {
font-size: 2.2rem;
}
.zoom-subtitle,
.zoom-content-text {
font-size: 1.35rem;
}
.zoom-content-title {
font-size: 2rem;
}
.btn-interactive {
width: 100%;
}
}
</style>