Spaces:
Running
Running
| Here's a complete HTML file for a Vietnamese task management application that integrates with Notion, built with TailwindCSS: | |
| ```html | |
| <html lang="vi"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Ứng dụng Quản lý Công việc - Kết nối Notion</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> | |
| .task-card:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); | |
| } | |
| .progress-bar { | |
| transition: width 0.5s ease-in-out; | |
| } | |
| .notion-connect-btn { | |
| background: linear-gradient(135deg, #000000 0%, #2d3436 100%); | |
| } | |
| .notion-connect-btn:hover { | |
| background: linear-gradient(135deg, #2d3436 0%, #000000 100%); | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-gray-50 font-sans"> | |
| <!-- Header --> | |
| <header class="bg-indigo-600 text-white shadow-lg"> | |
| <div class="container mx-auto px-4 py-6"> | |
| <div class="flex justify-between items-center"> | |
| <div class="flex items-center space-x-2"> | |
| <i class="fas fa-tasks text-2xl"></i> | |
| <h1 class="text-2xl font-bold">TaskMaster Việt</h1> | |
| </div> | |
| <nav class="hidden md:flex space-x-6"> | |
| <a href="#" class="hover:text-indigo-200 font-medium">Trang chủ</a> | |
| <a href="#" class="hover:text-indigo-200 font-medium">Dự án</a> | |
| <a href="#" class="hover:text-indigo-200 font-medium">Báo cáo</a> | |
| <a href="#" class="hover:text-indigo-200 font-medium">Cài đặt</a> | |
| </nav> | |
| <div class="flex items-center space-x-4"> | |
| <button id="notionConnectBtn" class="notion-connect-btn text-white px-4 py-2 rounded-lg flex items-center space-x-2"> | |
| <i class="fab fa-notion"></i> | |
| <span>Kết nối Notion</span> | |
| </button> | |
| <div class="w-10 h-10 rounded-full bg-indigo-400 flex items-center justify-center text-white font-bold cursor-pointer"> | |
| <span>NV</span> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </header> | |
| <!-- Main Content --> | |
| <main class="container mx-auto px-4 py-8"> | |
| <!-- Dashboard Overview --> | |
| <section class="mb-12"> | |
| <h2 class="text-2xl font-bold mb-6 text-gray-800">Tổng quan công việc</h2> | |
| <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6"> | |
| <!-- Total Tasks Card --> | |
| <div class="bg-white rounded-lg shadow p-6"> | |
| <div class="flex justify-between items-center"> | |
| <div> | |
| <p class="text-gray-500">Tổng công việc</p> | |
| <h3 class="text-3xl font-bold text-indigo-600">128</h3> | |
| </div> | |
| <div class="bg-indigo-100 p-3 rounded-full"> | |
| <i class="fas fa-tasks text-indigo-600 text-xl"></i> | |
| </div> | |
| </div> | |
| <div class="mt-4"> | |
| <div class="flex justify-between text-sm text-gray-500 mb-1"> | |
| <span>Đã hoàn thành</span> | |
| <span>64/128</span> | |
| </div> | |
| <div class="w-full bg-gray-200 rounded-full h-2"> | |
| <div class="bg-indigo-600 h-2 rounded-full progress-bar" style="width: 50%"></div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- High Priority Card --> | |
| <div class="bg-white rounded-lg shadow p-6"> | |
| <div class="flex justify-between items-center"> | |
| <div> | |
| <p class="text-gray-500">Ưu tiên cao</p> | |
| <h3 class="text-3xl font-bold text-red-600">24</h3> | |
| </div> | |
| <div class="bg-red-100 p-3 rounded-full"> | |
| <i class="fas fa-exclamation text-red-600 text-xl"></i> | |
| </div> | |
| </div> | |
| <div class="mt-4"> | |
| <div class="flex justify-between text-sm text-gray-500 mb-1"> | |
| <span>Đã hoàn thành</span> | |
| <span>8/24</span> | |
| </div> | |
| <div class="w-full bg-gray-200 rounded-full h-2"> | |
| <div class="bg-red-600 h-2 rounded-full progress-bar" style="width: 33%"></div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Overdue Card --> | |
| <div class="bg-white rounded-lg shadow p-6"> | |
| <div class="flex justify-between items-center"> | |
| <div> | |
| <p class="text-gray-500">Quá hạn</p> | |
| <h3 class="text-3xl font-bold text-yellow-600">12</h3> | |
| </div> | |
| <div class="bg-yellow-100 p-3 rounded-full"> | |
| <i class="fas fa-clock text-yellow-600 text-xl"></i> | |
| </div> | |
| </div> | |
| <div class="mt-4"> | |
| <div class="flex justify-between text-sm text-gray-500 mb-1"> | |
| <span>Đã xử lý</span> | |
| <span>3/12</span> | |
| </div> | |
| <div class="w-full bg-gray-200 rounded-full h-2"> | |
| <div class="bg-yellow-600 h-2 rounded-full progress-bar" style="width: 25%"></div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Projects Card --> | |
| <div class="bg-white rounded-lg shadow p-6"> | |
| <div class="flex justify-between items-center"> | |
| <div> | |
| <p class="text-gray-500">Dự án đang chạy</p> | |
| <h3 class="text-3xl font-bold text-green-600">7</h3> | |
| </div> | |
| <div class="bg-green-100 p-3 rounded-full"> | |
| <i class="fas fa-project-diagram text-green-600 text-xl"></i> | |
| </div> | |
| </div> | |
| <div class="mt-4"> | |
| <div class="flex justify-between text-sm text-gray-500 mb-1"> | |
| <span>Tiến độ trung bình</span> | |
| <span>65%</span> | |
| </div> | |
| <div class="w-full bg-gray-200 rounded-full h-2"> | |
| <div class="bg-green-600 h-2 rounded-full progress-bar" style="width: 65%"></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Task Management Section --> | |
| <section class="mb-12"> | |
| <div class="flex justify-between items-center mb-6"> | |
| <h2 class="text-2xl font-bold text-gray-800">Quản lý công việc</h2> | |
| <div class="flex space-x-4"> | |
| <button class="bg-indigo-600 text-white px-4 py-2 rounded-lg flex items-center space-x-2"> | |
| <i class="fas fa-plus"></i> | |
| <span>Thêm công việc</span> | |
| </button> | |
| <button class="bg-white border border-gray-300 px-4 py-2 rounded-lg flex items-center space-x-2"> | |
| <i class="fas fa-filter"></i> | |
| <span>Lọc</span> | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Task List --> | |
| <div class="bg-white rounded-lg shadow overflow-hidden"> | |
| <div class="grid grid-cols-12 bg-gray-100 p-4 font-medium text-gray-700"> | |
| <div class="col-span-1">#</div> | |
| <div class="col-span-4">Tên công việc</div> | |
| <div class="col-span-2">Dự án</div> | |
| <div class="col-span-2">Hạn chót</div> | |
| <div class="col-span-2">Trạng thái</div> | |
| <div class="col-span-1">Hành động</div> | |
| </div> | |
| <!-- Task Items --> | |
| <div class="divide-y divide-gray-200"> | |
| <!-- Task 1 --> | |
| <div class="grid grid-cols-12 p-4 items-center hover:bg-gray-50 task-card transition-all duration-200"> | |
| <div class="col-span-1">1</div> | |
| <div class="col-span-4 font-medium">Thiết kế giao diện người dùng</div> | |
| <div class="col-span-2 text-indigo-600">Website công ty</div> | |
| <div class="col-span-2"> | |
| <span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">15/06/2023</span> | |
| </div> | |
| <div class="col-span-2"> | |
| <span class="bg-yellow-100 text-yellow-800 px-2 py-1 rounded text-sm">Đang thực hiện</span> | |
| </div> | |
| <div class="col-span-1 flex space-x-2"> | |
| <button class="text-gray-500 hover:text-indigo-600"> | |
| <i class="fas fa-edit"></i> | |
| </button> | |
| <button class="text-gray-500 hover:text-red-600"> | |
| <i class="fas fa-trash"></i> | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Task 2 --> | |
| <div class="grid grid-cols-12 p-4 items-center hover:bg-gray-50 task-card transition-all duration-200"> | |
| <div class="col-span-1">2</div> | |
| <div class="col-span-4 font-medium">Phân tích yêu cầu khách hàng</div> | |
| <div class="col-span-2 text-indigo-600">Hệ thống ERP</div> | |
| <div class="col-span-2"> | |
| <span class="bg-red-100 text-red-800 text-xs px-2 py-1 rounded">10/06/2023</span> | |
| </div> | |
| <div class="col-span-2"> | |
| <span class="bg-red-100 text-red-800 px-2 py-1 rounded text-sm">Quá hạn</span> | |
| </div> | |
| <div class="col-span-1 flex space-x-2"> | |
| <button class="text-gray-500 hover:text-indigo-600"> | |
| <i class="fas fa-edit"></i> | |
| </button> | |
| <button class="text-gray-500 hover:text-red-600"> | |
| <i class="fas fa-trash"></i> | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Task 3 --> | |
| <div class="grid grid-cols-12 p-4 items-center hover:bg-gray-50 task-card transition-all duration-200"> | |
| <div class="col-span-1">3</div> | |
| <div class="col-span-4 font-medium">Kiểm thử module đăng nhập</div> | |
| <div class="col-span-2 text-indigo-600">App di động</div> | |
| <div class="col-span-2"> | |
| <span class="bg-green-100 text-green-800 text-xs px-2 py-1 rounded">20/06/2023</span> | |
| </div> | |
| <div class="col-span-2"> | |
| <span class="bg-green-100 text-green-800 px-2 py-1 rounded text-sm">Hoàn thành</span> | |
| </div> | |
| <div class="col-span-1 flex space-x-2"> | |
| <button class="text-gray-500 hover:text-indigo-600"> | |
| <i class="fas fa-edit"></i> | |
| </button> | |
| <button class="text-gray-500 hover:text-red-600"> | |
| <i class="fas fa-trash"></i> | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Task 4 --> | |
| <div class="grid grid-cols-12 p-4 items-center hover:bg-gray-50 task-card transition-all duration-200"> | |
| <div class="col-span-1">4</div> | |
| <div class="col-span-4 font-medium">Triển khai server production</div> | |
| <div class="col-span-2 text-indigo-600">Cloud Migration</div> | |
| <div class="col-span-2"> | |
| <span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">18/06/2023</span> | |
| </div> | |
| <div class="col-span-2"> | |
| <span class="bg-yellow-100 text-yellow-800 px-2 py-1 rounded text-sm">Đang thực hiện</span> | |
| </div> | |
| <div class="col-span-1 flex space-x-2"> | |
| <button class="text-gray-500 hover:text-indigo-600"> | |
| <i class="fas fa-edit"></i> | |
| </button> | |
| <button class="text-gray-500 hover:text-red-600"> | |
| <i class="fas fa-trash"></i> | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Pagination --> | |
| <div class="flex justify-between items-center p-4 border-t border-gray-200"> | |
| <div class="text-sm text-gray-500"> | |
| Hiển thị 1 đến 4 của 128 công việc | |
| </div> | |
| <div class="flex space-x-2"> | |
| <button class="px-3 py-1 border border-gray-300 rounded text-gray-600 hover:bg-gray-100"> | |
| <i class="fas fa-chevron-left"></i> | |
| </button> | |
| <button class="px-3 py-1 bg-indigo-600 text-white rounded">1</button> | |
| <button class="px-3 py-1 border border-gray-300 rounded text-gray-600 hover:bg-gray-100">2</button> | |
| <button class="px-3 py-1 border border-gray-300 rounded text-gray-600 hover:bg-gray-100">3</button> | |
| <button class="px-3 py-1 border border-gray-300 rounded text-gray-600 hover:bg-gray-100"> | |
| <i class="fas fa-chevron-right"></i> | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Project Management Section --> | |
| <section> | |
| <h2 class="text-2xl font-bold mb-6 text-gray-800">Quản lý dự án</h2> | |
| <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> | |
| <!-- Project 1 --> | |
| <div class="bg-white rounded-lg shadow overflow-hidden hover:shadow-lg transition-shadow duration-300"> | |
| <div class="h-2 bg-indigo-600"></div> | |
| <div class="p-6"> | |
| <div class="flex justify-between items-start mb-4"> | |
| <h3 class="text-xl font-bold text-gray-800">Website công ty</h3> | |
| <span class="bg-indigo-100 text-indigo-800 px-2 py-1 rounded text-xs">Đang triển khai</span> | |
| </div> | |
| <p class="text-gray-600 mb-4">Thiết kế và phát triển website giới thiệu công ty với đầy đủ tính năng responsive.</p> | |
| <div class="mb-4"> | |
| <div class="flex justify-between text-sm text-gray-500 mb-1"> | |
| <span>Tiến độ</span> | |
| <span>65%</span> | |
| </div> | |
| <div class="w-full bg-gray-200 rounded-full h-2"> | |
| <div class="bg-indigo-600 h-2 rounded-full" style="width: 65%"></div> | |
| </div> | |
| </div> | |
| <div class="flex justify-between text-sm text-gray-500 mb-4"> | |
| <div> | |
| <i class="far fa-calendar-alt mr-1"></i> | |
| <span>15/05 - 30/06</span> | |
| </div> | |
| <div> | |
| <i class="fas fa-tasks mr-1"></i> | |
| <span>12/24 công việc</span> | |
| </div> | |
| </div> | |
| <div class="flex justify-between"> | |
| <button class="text-indigo-600 hover:text-indigo-800 font-medium">Xem chi tiết |