feat: MySQL integration, Docker setup, drag-and-drop kanban

This commit is contained in:
tusuii
2026-02-16 10:20:27 +05:30
parent 5d8af1f173
commit 892a2ceba1
24 changed files with 919 additions and 196 deletions

View File

@@ -1,5 +1,4 @@
import { USERS } from './data';
import type { User } from './data';
interface TopNavbarProps {
title: string;
@@ -9,9 +8,10 @@ interface TopNavbarProps {
onSearch: (q: string) => void;
onNewTask: () => void;
onOpenSidebar: () => void;
users: User[];
}
export function TopNavbar({ title, filterUser, onFilterChange, searchQuery, onSearch, onNewTask, onOpenSidebar }: TopNavbarProps) {
export function TopNavbar({ title, filterUser, onFilterChange, searchQuery, onSearch, onNewTask, onOpenSidebar, users }: TopNavbarProps) {
return (
<div className="top-navbar">
<button className="hamburger-btn" onClick={onOpenSidebar}></button>
@@ -23,7 +23,7 @@ export function TopNavbar({ title, filterUser, onFilterChange, searchQuery, onSe
<div className="navbar-right">
<div className="filter-chips">
<span className={`filter-chip filter-chip-all ${!filterUser ? 'active' : ''}`} onClick={() => onFilterChange(null)}>All</span>
{USERS.map(u => (
{users.map(u => (
<div key={u.id} className={`filter-chip ${filterUser === u.id ? 'active' : ''}`}
style={{ background: u.color, borderColor: filterUser === u.id ? u.color : 'transparent' }}
title={u.name} onClick={() => onFilterChange(u.id === filterUser ? null : u.id)}>