Interactive Guide: Arriving at Hue Airport (HUI) https://cdn.tailwindcss.com https://cdn.jsdelivr.net/npm/chart.js body { font-family: ‘Inter’, sans-serif; } .active-tab { background-color: #0d9488; /* teal-600 */ color: white; border-color: #0d9488; } .inactive-tab { background-color: white; color: #374151; /* gray-700 */ border-color: #d1d5db; /* gray-300 */ } .chart-container { position: relative; margin: auto; height: 300px; max-height: 300px; width: 100%; max-width: 500px; }

Arrive in Hue Stress-Free

Your personalized guide to navigating Phu Bai Airport (HUI) like a VIP. Skip the queues and start your Vietnam adventure sooner.

Plan Your Arrival Path

Start by telling us your visa status to see your personalized arrival guide.

document.addEventListener(‘DOMContentLoaded’, () => { const pathButtons = document.querySelectorAll(‘.path-btn’); const pathContents = document.querySelectorAll(‘.path-content’); const charts = {}; const createChart = (canvasId, label1, data1, label2, data2) => { const ctx = document.getElementById(canvasId).getContext(‘2d’); if(charts[canvasId]) { charts[canvasId].destroy(); } charts[canvasId] = new Chart(ctx, { type: ‘bar’, data: { labels: [‘Standard Arrival’, ‘With Fast Track’], datasets: [{ label: ‘Min Wait Time (mins)’, data: [label1, data1], backgroundColor: ‘#fca5a5’, // red-300 borderColor: ‘#ef4444’, // red-500 borderWidth: 1 }, { label: ‘Max Wait Time (mins)’, data: [label2, data2], backgroundColor: ‘#fdba74’, // orange-300 borderColor: ‘#f97316’, // orange-500 borderWidth: 1 }] }, options: { maintainAspectRatio: false, responsive: true, scales: { y: { beginAtZero: true, title: { display: true, text: ‘Wait Time (Minutes)’ } } }, plugins: { legend: { position: ‘top’, }, title: { display: true, text: ‘Estimated Airport Wait Times’ } } } }); }; pathButtons.forEach(button => { button.addEventListener(‘click’, () => { const path = button.dataset.path; pathButtons.forEach(btn => { btn.classList.remove(‘active-tab’); btn.classList.add(‘inactive-tab’); }); button.classList.add(‘active-tab’); button.classList.remove(‘inactive-tab’); pathContents.forEach(content => { content.classList.add(‘hidden’); }); const activeContent = document.getElementById(`path-content-${path}`); if (activeContent) { activeContent.classList.remove(‘hidden’); if (path === ‘evisa’) { createChart(‘evisaWaitTimeChart’, 30, 5, 60, 10); } else if (path === ‘voa’) { createChart(‘voaWaitTimeChart’, 45, 10, 90, 15); } } }); }); const collapsibleTriggers = document.querySelectorAll(‘.collapsible-trigger’); collapsibleTriggers.forEach(trigger => { trigger.addEventListener(‘click’, () => { const content = trigger.nextElementSibling; const icon = trigger.querySelector(‘span:last-child’); content.classList.toggle(‘hidden’); icon.classList.toggle(‘rotate-180’); }); }); });
evisa.vn Avatar

Published by