vioce / index.html
itsusony's picture
View all notificationsがクリックされたら、notifications専用ページを開いて、表示しなさい - Follow Up Deployment
7fecd83 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Call Center Voice Files Admin</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
.audio-player {
width: 100%;
background-color: #f3f4f6;
border-radius: 0.5rem;
}
.audio-player::-webkit-media-controls-panel {
background-color: #f3f4f6;
}
.waveform {
height: 60px;
background: linear-gradient(90deg, #3b82f6 0%, #3b82f6 50%, transparent 50%, transparent 100%);
background-size: 20px 100%;
border-radius: 4px;
margin: 10px 0;
position: relative;
overflow: hidden;
}
.waveform::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.3) 50%, transparent 100%);
animation: wave 1.5s linear infinite;
}
@keyframes wave {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
.sidebar {
transition: all 0.3s ease;
}
@media (max-width: 768px) {
.sidebar {
transform: translateX(-100%);
position: fixed;
z-index: 50;
height: 100vh;
}
.sidebar.open {
transform: translateX(0);
}
}
</style>
</head>
<body class="bg-gray-100 font-sans">
<div class="flex h-screen overflow-hidden">
<!-- Sidebar -->
<div class="sidebar bg-black text-white w-64 flex-shrink-0">
<div class="p-4 flex items-center justify-between border-b border-gray-800">
<div class="flex items-center space-x-2">
<i class="fas fa-headset text-2xl"></i>
<span class="text-xl font-bold">CallCenterPro</span>
</div>
<button id="sidebar-close" class="md:hidden">
<i class="fas fa-times"></i>
</button>
</div>
<nav class="p-4">
<div class="mb-8">
<p class="text-gray-400 uppercase text-xs font-semibold mb-2">Main</p>
<a href="#" class="block py-2 px-3 rounded bg-gray-800 mb-1">
<i class="fas fa-tachometer-alt mr-2"></i> Dashboard
</a>
<a href="#" class="block py-2 px-3 rounded hover:bg-gray-800 mb-1">
<i class="fas fa-users mr-2"></i> Agents
</a>
<a href="#" class="block py-2 px-3 rounded hover:bg-gray-800 mb-1">
<i class="fas fa-phone-alt mr-2"></i> Calls
</a>
</div>
<div class="mb-8">
<p class="text-gray-400 uppercase text-xs font-semibold mb-2">Voice Files</p>
<a href="#" class="block py-2 px-3 rounded bg-gray-800 mb-1">
<i class="fas fa-file-audio mr-2"></i> All Recordings
</a>
<a href="#" class="block py-2 px-3 rounded hover:bg-indigo-700 mb-1">
<i class="fas fa-tags mr-2"></i> Categories
</a>
<a href="#" class="block py-2 px-3 rounded hover:bg-indigo-700 mb-1">
<i class="fas fa-chart-bar mr-2"></i> Analytics
</a>
</div>
<div>
<p class="text-gray-400 uppercase text-xs font-semibold mb-2">Settings</p>
<a href="#" class="block py-2 px-3 rounded hover:bg-gray-800 mb-1">
<i class="fas fa-cog mr-2"></i> System Settings
</a>
<a href="#" class="block py-2 px-3 rounded hover:bg-indigo-700 mb-1">
<i class="fas fa-user-shield mr-2"></i> Permissions
</a>
</div>
</nav>
</div>
<!-- Main Content -->
<div class="flex-1 flex flex-col overflow-hidden">
<!-- Top Navigation -->
<header class="bg-white shadow-sm z-10">
<div class="flex items-center justify-between p-4">
<div class="flex items-center">
<button id="sidebar-toggle" class="md:hidden mr-4">
<i class="fas fa-bars text-gray-600"></i>
</button>
<h1 class="text-xl font-semibold text-gray-800">Voice Recordings Management</h1>
</div>
<div class="flex items-center space-x-4">
<div class="relative">
<i class="fas fa-search absolute left-3 top-2.5 text-gray-400"></i>
<input type="text" placeholder="Search recordings..." class="pl-10 pr-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500">
</div>
<div class="relative">
<button id="notification-btn" class="p-2 rounded-full bg-gray-100 text-gray-600 hover:bg-gray-200">
<i class="fas fa-bell"></i>
<span class="absolute top-0 right-0 h-2 w-2 rounded-full bg-red-500"></span>
</button>
<!-- Notification Panel -->
<div id="notification-panel" class="hidden absolute right-0 mt-2 w-72 bg-white rounded-md shadow-lg z-10 border">
<div class="p-3 border-b">
<h3 class="text-sm font-medium">Notifications</h3>
</div>
<div class="divide-y divide-gray-200">
<div class="p-3 hover:bg-gray-50">
<p class="text-sm">New recording available for review</p>
<p class="text-xs text-gray-500">2 minutes ago</p>
</div>
<div class="p-3 hover:bg-gray-50">
<p class="text-sm">System maintenance scheduled</p>
<p class="text-xs text-gray-500">1 hour ago</p>
</div>
<div class="p-3 hover:bg-gray-50">
<p class="text-sm">3 new flagged recordings</p>
<p class="text-xs text-gray-500">Today, 10:30 AM</p>
</div>
</div>
<div class="p-3 border-t text-center">
<a href="/notifications" class="text-sm text-indigo-600 hover:text-indigo-800">View all notifications</a>
</div>
</div>
</div>
<div class="flex items-center space-x-2">
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Profile" class="w-8 h-8 rounded-full">
<span class="hidden md:inline">Admin User</span>
</div>
</div>
</div>
</header>
<!-- Main Content Area -->
<main class="flex-1 overflow-y-auto p-6 bg-gray-50">
<!-- Stats Cards -->
<div class="grid grid-cols-1 md:grid-cols-4 gap-6 mb-6">
<div class="bg-white rounded-lg shadow p-6">
<div class="flex items-center justify-between">
<div>
<p class="text-gray-500 text-sm">Total Recordings</p>
<p class="text-2xl font-bold">1,248</p>
</div>
<div class="p-3 rounded-full bg-indigo-100 text-indigo-600">
<i class="fas fa-file-audio text-xl"></i>
</div>
</div>
<p class="text-green-500 text-sm mt-2"><i class="fas fa-arrow-up mr-1"></i> 12% from last week</p>
</div>
<div class="bg-white rounded-lg shadow p-6">
<div class="flex items-center justify-between">
<div>
<p class="text-gray-500 text-sm">Today's Recordings</p>
<p class="text-2xl font-bold">47</p>
</div>
<div class="p-3 rounded-full bg-blue-100 text-blue-600">
<i class="fas fa-calendar-day text-xl"></i>
</div>
</div>
<p class="text-green-500 text-sm mt-2"><i class="fas fa-arrow-up mr-1"></i> 5% from yesterday</p>
</div>
<div class="bg-white rounded-lg shadow p-6">
<div class="flex items-center justify-between">
<div>
<p class="text-gray-500 text-sm">Flagged Recordings</p>
<p class="text-2xl font-bold">28</p>
</div>
<div class="p-3 rounded-full bg-red-100 text-red-600">
<i class="fas fa-flag text-xl"></i>
</div>
</div>
<p class="text-red-500 text-sm mt-2"><i class="fas fa-arrow-down mr-1"></i> 3% from last week</p>
</div>
<div class="bg-white rounded-lg shadow p-6">
<div class="flex items-center justify-between">
<div>
<p class="text-gray-500 text-sm">Storage Used</p>
<p class="text-2xl font-bold">78%</p>
</div>
<div class="p-3 rounded-full bg-yellow-100 text-yellow-600">
<i class="fas fa-database text-xl"></i>
</div>
</div>
<div class="w-full bg-gray-200 rounded-full h-2 mt-3">
<div class="bg-indigo-600 h-2 rounded-full" style="width: 78%"></div>
</div>
</div>
</div>
<!-- Filters and Actions -->
<div class="bg-white rounded-lg shadow p-6 mb-6">
<div class="flex flex-col md:flex-row md:items-center md:justify-between gap-4">
<div class="flex flex-col md:flex-row md:items-center gap-4">
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">Date Range</label>
<div class="flex items-center">
<input type="date" class="border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-indigo-500">
<span class="mx-2 text-gray-500">to</span>
<input type="date" class="border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-indigo-500">
</div>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">Agent</label>
<select class="border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-indigo-500 w-full md:w-auto">
<option>All Agents</option>
<option>John Smith</option>
<option>Sarah Johnson</option>
<option>Michael Brown</option>
<option>Emily Davis</option>
</select>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">Status</label>
<select class="border rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-indigo-500 w-full md:w-auto">
<option>All Statuses</option>
<option>Pending Review</option>
<option>Reviewed</option>
<option>Flagged</option>
<option>Archived</option>
</select>
</div>
</div>
<div class="flex items-center gap-2">
<button class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700 flex items-center">
<i class="fas fa-filter mr-2"></i> Apply Filters
</button>
<button class="px-4 py-2 border border-gray-300 rounded-lg hover:bg-gray-50 flex items-center">
<i class="fas fa-sync-alt mr-2"></i> Reset
</button>
</div>
</div>
</div>
<!-- Recordings Table -->
<div class="bg-white rounded-lg shadow overflow-hidden">
<div class="flex items-center justify-between p-4 border-b">
<h2 class="text-lg font-semibold">Recent Voice Recordings</h2>
<div class="flex items-center space-x-2">
<button class="px-3 py-1.5 bg-indigo-600 text-white rounded-md hover:bg-indigo-700 text-sm flex items-center">
<i class="fas fa-download mr-2"></i> Export
</button>
<div class="relative">
<button id="bulk-actions-btn" class="px-3 py-1.5 border rounded-md hover:bg-gray-50 text-sm flex items-center">
<i class="fas fa-tasks mr-2"></i> Bulk Actions
<i class="fas fa-chevron-down ml-2 text-xs"></i>
</button>
<div id="bulk-actions-menu" class="hidden absolute right-0 mt-1 w-48 bg-white rounded-md shadow-lg z-10 border">
<div class="py-1">
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100"><i class="fas fa-check-circle mr-2 text-green-500"></i> Approve Selected</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100"><i class="fas fa-flag mr-2 text-red-500"></i> Flag Selected</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100"><i class="fas fa-archive mr-2 text-blue-500"></i> Archive Selected</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100"><i class="fas fa-trash-alt mr-2 text-red-500"></i> Delete Selected</a>
</div>
</div>
</div>
</div>
</div>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
<input type="checkbox" class="rounded text-indigo-600 focus:ring-indigo-500">
</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Recording</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Agent</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Date/Time</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Duration</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Actions</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200">
<!-- Row 1 -->
<tr class="hover:bg-gray-50">
<td class="px-6 py-4 whitespace-nowrap">
<input type="checkbox" class="rounded text-indigo-600 focus:ring-indigo-500">
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-full flex items-center justify-center">
<i class="fas fa-file-audio text-indigo-600"></i>
</div>
<div class="ml-4">
<div class="text-sm font-medium text-gray-900">Customer Service Call #1245</div>
<div class="text-sm text-gray-500">Call ID: CS-2023-06-15-001</div>
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="text-sm text-gray-900">John Smith</div>
<div class="text-sm text-gray-500">Team A</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="text-sm text-gray-900">Jun 15, 2023</div>
<div class="text-sm text-gray-500">10:24 AM</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">
4:32 min
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-blue-100 text-blue-800">
Reviewed
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
<button class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-play"></i></button>
<button class="text-gray-600 hover:text-gray-900 mr-3"><i class="fas fa-download"></i></button>
<button class="text-red-600 hover:text-red-900"><i class="fas fa-trash-alt"></i></button>
</td>
</tr>
<!-- Row 2 -->
<tr class="hover:bg-gray-50">
<td class="px-6 py-4 whitespace-nowrap">
<input type="checkbox" class="rounded text-indigo-600 focus:ring-indigo-500">
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-full flex items-center justify-center">
<i class="fas fa-file-audio text-indigo-600"></i>
</div>
<div class="ml-4">
<div class="text-sm font-medium text-gray-900">Technical Support #8921</div>
<div class="text-sm text-gray-500">Call ID: TS-2023-06-15-002</div>
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="text-sm text-gray-900">Sarah Johnson</div>
<div class="text-sm text-gray-500">Team B</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="text-sm text-gray-900">Jun 15, 2023</div>
<div class="text-sm text-gray-500">11:47 AM</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">
7:15 min
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800">
Pending
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
<button class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-play"></i></button>
<button class="text-gray-600 hover:text-gray-900 mr-3"><i class="fas fa-download"></i></button>
<button class="text-red-600 hover:text-red-900"><i class="fas fa-trash-alt"></i></button>
</td>
</tr>
<!-- Row 3 -->
<tr class="hover:bg-gray-50">
<td class="px-6 py-4 whitespace-nowrap">
<input type="checkbox" class="rounded text-indigo-600 focus:ring-indigo-500">
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-full flex items-center justify-center">
<i class="fas fa-file-audio text-indigo-600"></i>
</div>
<div class="ml-4">
<div class="text-sm font-medium text-gray-900">Sales Inquiry #4567</div>
<div class="text-sm text-gray-500">Call ID: SL-2023-06-14-001</div>
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="text-sm text-gray-900">Michael Brown</div>
<div class="text-sm text-gray-500">Team C</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="text-sm text-gray-900">Jun 14, 2023</div>
<div class="text-sm text-gray-500">3:22 PM</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">
5:48 min
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-red-100 text-red-800">
Flagged
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
<button class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-play"></i></button>
<button class="text-gray-600 hover:text-gray-900 mr-3"><i class="fas fa-download"></i></button>
<button class="text-red-600 hover:text-red-900"><i class="fas fa-trash-alt"></i></button>
</td>
</tr>
<!-- Row 4 -->
<tr class="hover:bg-gray-50">
<td class="px-6 py-4 whitespace-nowrap">
<input type="checkbox" class="rounded text-indigo-600 focus:ring-indigo-500">
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-full flex items-center justify-center">
<i class="fas fa-file-audio text-indigo-600"></i>
</div>
<div class="ml-4">
<div class="text-sm font-medium text-gray-900">Complaint Resolution #3345</div>
<div class="text-sm text-gray-500">Call ID: CR-2023-06-14-002</div>
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="text-sm text-gray-900">Emily Davis</div>
<div class="text-sm text-gray-500">Team A</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="text-sm text-gray-900">Jun 14, 2023</div>
<div class="text-sm text-gray-500">4:15 PM</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">
12:45 min
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-blue-100 text-blue-800">
Reviewed
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
<button class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-play"></i></button>
<button class="text-gray-600 hover:text-gray-900 mr-3"><i class="fas fa-download"></i></button>
<button class="text-red-600 hover:text-red-900"><i class="fas fa-trash-alt"></i></button>
</td>
</tr>
<!-- Row 5 -->
<tr class="hover:bg-gray-50">
<td class="px-6 py-4 whitespace-nowrap">
<input type="checkbox" class="rounded text-indigo-600 focus:ring-indigo-500">
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="flex items-center">
<div class="flex-shrink-0 h-10 w-10 bg-indigo-100 rounded-full flex items-center justify-center">
<i class="fas fa-file-audio text-indigo-600"></i>
</div>
<div class="ml-4">
<div class="text-sm font-medium text-gray-900">Product Inquiry #7812</div>
<div class="text-sm text-gray-500">Call ID: PI-2023-06-13-001</div>
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="text-sm text-gray-900">Robert Wilson</div>
<div class="text-sm text-gray-500">Team B</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<div class="text-sm text-gray-900">Jun 13, 2023</div>
<div class="text-sm text-gray-500">9:30 AM</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">
3:15 min
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-purple-100 text-purple-800">
Archived
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
<button class="text-indigo-600 hover:text-indigo-900 mr-3"><i class="fas fa-play"></i></button>
<button class="text-gray-600 hover:text-gray-900 mr-3"><i class="fas fa-download"></i></button>
<button class="text-red-600 hover:text-red-900"><i class="fas fa-trash-alt"></i></button>
</td>
</tr>
</tbody>
</table>
</div>
<div class="bg-white px-4 py-3 flex items-center justify-between border-t border-gray-200 sm:px-6">
<div class="flex-1 flex justify-between sm:hidden">
<a href="#" class="relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50">
Previous
</a>
<a href="#" class="ml-3 relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50">
Next
</a>
</div>
<div class="hidden sm:flex-1 sm:flex sm:items-center sm:justify-between">
<div>
<p class="text-sm text-gray-700">
Showing <span class="font-medium">1</span> to <span class="font-medium">5</span> of <span class="font-medium">1248</span> results
</p>
</div>
<div>
<nav class="relative z-0 inline-flex rounded-md shadow-sm -space-x-px" aria-label="Pagination">
<a href="#" class="relative inline-flex items-center px-2 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">Previous</span>
<i class="fas fa-chevron-left"></i>
</a>
<a href="#" aria-current="page" class="z-10 bg-indigo-50 border-indigo-500 text-indigo-600 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
1
</a>
<a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
2
</a>
<a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
3
</a>
<span class="relative inline-flex items-center px-4 py-2 border border-gray-300 bg-white text-sm font-medium text-gray-700">
...
</span>
<a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
25
</a>
<a href="#" class="relative inline-flex items-center px-2 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">Next</span>
<i class="fas fa-chevron-right"></i>
</a>
</nav>
</div>
</div>
</div>
</div>
<!-- Audio Player Modal -->
<div id="audio-player-modal" class="hidden fixed inset-0 bg-gray-600 bg-opacity-50 overflow-y-auto h-full w-full z-50">
<div class="relative top-20 mx-auto p-5 border w-11/12 md:w-2/3 lg:w-1/2 shadow-lg rounded-md bg-white">
<div class="flex justify-between items-center pb-3 border-b">
<h3 class="text-xl font-semibold text-gray-800">Customer Service Call #1245</h3>
<button id="close-modal" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<div class="mt-4">
<div class="flex items-center justify-between mb-4">
<div>
<p class="text-sm text-gray-600">Agent: <span class="font-medium">John Smith</span></p>
<p class="text-sm text-gray-600">Date: <span class="font-medium">Jun 15, 2023 - 10:24 AM</span></p>
</div>
<div>
<span class="px-3 py-1 rounded-full bg-green-100 text-green-800 text-sm font-medium">4:32 min</span>
</div>
</div>
<div class="waveform mb-4"></div>
<audio controls class="audio-player w-full mb-4">
<source src="#" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<div class="flex items-center justify-between mt-6">
<div class="flex space-x-2">
<button class="px-4 py-2 bg-indigo-600 text-white rounded hover:bg-indigo-700 flex items-center">
<i class="fas fa-check mr-2"></i> Approve
</button>
<button class="px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700 flex items-center">
<i class="fas fa-flag mr-2"></i> Flag
</button>
</div>
<div class="flex space-x-2">
<button class="px-4 py-2 border border-gray-300 rounded hover:bg-gray-50 flex items-center">
<i class="fas fa-download mr-2"></i> Download
</button>
<button class="px-4 py-2 border border-gray-300 rounded hover:bg-gray-50 flex items-center">
<i class="fas fa-share-alt mr-2"></i> Share
</button>
</div>
</div>
<div class="mt-6">
<h4 class="font-medium text-gray-800 mb-2">Call Notes</h4>
<textarea class="w-full border rounded p-3 focus:outline-none focus:ring-2 focus:ring-indigo-500" rows="3" placeholder="Add notes about this call..."></textarea>
<div class="flex justify-end mt-2">
<button class="px-4 py-2 bg-indigo-600 text-white rounded hover:bg-indigo-700">Save Notes</button>
</div>
</div>
</div>
</div>
</div>
</main>
</div>
</div>
<script>
// Notification panel toggle
document.addEventListener('DOMContentLoaded', function() {
const notificationBtn = document.getElementById('notification-btn');
const notificationPanel = document.getElementById('notification-panel');
if (notificationBtn && notificationPanel) {
notificationBtn.addEventListener('click', (e) => {
e.stopPropagation();
notificationPanel.classList.toggle('hidden');
});
// Close notification panel when clicking outside
document.addEventListener('click', (e) => {
if (!notificationBtn.contains(e.target) && !notificationPanel.contains(e.target)) {
notificationPanel.classList.add('hidden');
}
});
}
});
// Toggle sidebar on mobile
const sidebarToggle = document.getElementById('sidebar-toggle');
const sidebarClose = document.getElementById('sidebar-close');
const sidebar = document.querySelector('.sidebar');
sidebarToggle.addEventListener('click', () => {
sidebar.classList.add('open');
});
sidebarClose.addEventListener('click', () => {
sidebar.classList.remove('open');
});
// Toggle bulk actions menu
const bulkActionsBtn = document.getElementById('bulk-actions-btn');
const bulkActionsMenu = document.getElementById('bulk-actions-menu');
bulkActionsBtn.addEventListener('click', () => {
bulkActionsMenu.classList.toggle('hidden');
});
// Close bulk actions menu when clicking outside
document.addEventListener('click', (e) => {
if (!bulkActionsBtn.contains(e.target) && !bulkActionsMenu.contains(e.target)) {
bulkActionsMenu.classList.add('hidden');
}
});
// Audio player modal
const playButtons = document.querySelectorAll('button:has(.fa-play)');
const audioModal = document.getElementById('audio-player-modal');
const closeModal = document.getElementById('close-modal');
playButtons.forEach(button => {
button.addEventListener('click', () => {
audioModal.classList.remove('hidden');
});
});
closeModal.addEventListener('click', () => {
audioModal.classList.add('hidden');
});
// Close modal when clicking outside
window.addEventListener('click', (e) => {
if (e.target === audioModal) {
audioModal.classList.add('hidden');
}
});
// Simulate waveform animation for demo purposes
const waveforms = document.querySelectorAll('.waveform');
waveforms.forEach(wave => {
const duration = Math.random() * 2 + 1;
wave.style.animationDuration = `${duration}s`;
});
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=itsusony/vioce" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>