Commit 47104fa0 authored by Paulo Avila's avatar Paulo Avila
Browse files

hot fix : vizualização de quadros

parent 8b8543c3
...@@ -13,7 +13,7 @@ import { TaskDeleteButton } from "./task-delete-button"; ...@@ -13,7 +13,7 @@ import { TaskDeleteButton } from "./task-delete-button";
import { TaskDialog } from "./task-dialog"; import { TaskDialog } from "./task-dialog";
import { taskPercent } from "./task-progress"; import { taskPercent } from "./task-progress";
import { TaskStatusSelect } from "./task-status-select"; import { TaskStatusSelect } from "./task-status-select";
import { toFormValues } from "./task-table"; import { toFormValues } from "./task-utils";
export function TaskBoard({ export function TaskBoard({
tasks, tasks,
......
...@@ -3,8 +3,9 @@ ...@@ -3,8 +3,9 @@
import { Fragment, useState } from "react"; import { Fragment, useState } from "react";
import { CheckCircle2, ChevronRight, Circle, Pencil } from "lucide-react"; import { CheckCircle2, ChevronRight, Circle, Pencil } from "lucide-react";
import type { Subtask, Task, WorkspaceMember } from "@/lib/data"; import type { Subtask, Task, WorkspaceMember } from "@/lib/data";
import { formatDate, toISODate } from "@/lib/dates"; import { formatDate } from "@/lib/dates";
import { canEditTask } from "@/lib/permissions"; import { canEditTask } from "@/lib/permissions";
import { initials, toFormValues } from "./task-utils";
import { Avatar, AvatarFallback } from "@/components/ui/avatar"; import { Avatar, AvatarFallback } from "@/components/ui/avatar";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
import { import {
...@@ -21,34 +22,11 @@ import { PriorityBadge } from "./priority-badge"; ...@@ -21,34 +22,11 @@ import { PriorityBadge } from "./priority-badge";
import { StatusBadge } from "./status-badge"; import { StatusBadge } from "./status-badge";
import { SubtaskList } from "./subtask-list"; import { SubtaskList } from "./subtask-list";
import { TaskDeleteButton } from "./task-delete-button"; import { TaskDeleteButton } from "./task-delete-button";
import { TaskDialog, type TaskFormValues } from "./task-dialog"; import { TaskDialog } from "./task-dialog";
import { TaskProgress } from "./task-progress"; import { TaskProgress } from "./task-progress";
import { TaskProgressEditor } from "./task-progress-editor"; import { TaskProgressEditor } from "./task-progress-editor";
import { TaskStatusSelect } from "./task-status-select"; import { TaskStatusSelect } from "./task-status-select";
export function toFormValues(task: Task): TaskFormValues {
return {
id: task.Id,
title: task.Title,
description: task.Description,
status: task.Status,
priority: task.Priority,
assigneeId: task.AssigneeId,
startDate: toISODate(task.StartDate),
dueDate: toISODate(task.DueDate),
progress: task.Progress,
};
}
function initials(name: string): string {
return name
.split(" ")
.filter(Boolean)
.slice(0, 2)
.map((part) => part[0]?.toUpperCase())
.join("");
}
const COLUMN_COUNT = 6; const COLUMN_COUNT = 6;
export function TaskTable({ export function TaskTable({
......
// Utilitários compartilhados entre componentes de servidor e de cliente —
// este módulo não pode ter "use client" nem importar módulos cliente.
import type { Task } from "@/lib/data";
import { toISODate } from "@/lib/dates";
import type { TaskFormValues } from "./task-dialog";
export function toFormValues(task: Task): TaskFormValues {
return {
id: task.Id,
title: task.Title,
description: task.Description,
status: task.Status,
priority: task.Priority,
assigneeId: task.AssigneeId,
startDate: toISODate(task.StartDate),
dueDate: toISODate(task.DueDate),
progress: task.Progress,
};
}
export function initials(name: string): string {
return name
.split(" ")
.filter(Boolean)
.slice(0, 2)
.map((part) => part[0]?.toUpperCase())
.join("");
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment