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 |