Compare commits
3 Commits
3d706da457
...
dbc0ebb118
| Author | SHA1 | Date | |
|---|---|---|---|
| dbc0ebb118 | |||
| c69b9d1520 | |||
| 08359041ed |
@@ -1263,7 +1263,7 @@ function EntryEditorFields({
|
||||
value={state.description}
|
||||
onChange={(event) => onChange({ description: event.target.value })}
|
||||
placeholder={t.timesheet?.descriptionPlaceholder || "What are you working on?"}
|
||||
className="h-12 w-[200px] 2xl:w-[400px] shrink-0 rounded-none border-0 bg-transparent px-0 pe-3 text-sm shadow-none focus-visible:ring-0 focus-visible:ring-offset-0 truncate dark:bg-transparent dark:text-slate-100"
|
||||
className="h-12 w-[200px] 2xl:w-[400px] shrink-0 rounded-none border-0 bg-transparent px-0 pe-3 text-sm shadow-none placeholder:text-slate-300 focus-visible:ring-0 focus-visible:ring-offset-0 truncate dark:bg-transparent dark:text-slate-100 dark:placeholder:text-slate-600"
|
||||
/>
|
||||
|
||||
<span className="me-2 shrink-0 text-sm font-semibold leading-none text-sky-600 dark:text-sky-400">•</span>
|
||||
@@ -1346,7 +1346,7 @@ function EntryEditorFields({
|
||||
value={state.description}
|
||||
onChange={(event) => onChange({ description: event.target.value })}
|
||||
placeholder={t.timesheet?.descriptionPlaceholder || "What are you working on?"}
|
||||
className={compact ? "h-9 px-2 text-xs" : ""}
|
||||
className={compact ? "h-9 px-2 text-xs placeholder:text-slate-300 dark:placeholder:text-slate-600" : "placeholder:text-slate-300 dark:placeholder:text-slate-600"}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -2413,7 +2413,6 @@ export default function Timesheet() {
|
||||
workspace_id: activeWorkspace.id,
|
||||
description: timerDraft.description.trim(),
|
||||
project_id: timerDraft.projectId || null,
|
||||
start_time: new Date().toISOString(),
|
||||
tags: timerDraft.tags,
|
||||
is_billable: timerDraft.isBillable,
|
||||
});
|
||||
@@ -2457,7 +2456,6 @@ export default function Timesheet() {
|
||||
project_id: restartProjectId,
|
||||
tags: restartTagIds,
|
||||
is_billable: entry.is_billable,
|
||||
start_time: new Date().toISOString(),
|
||||
});
|
||||
|
||||
toast.success(t.timesheet?.startSuccess || "Timer started");
|
||||
@@ -2645,11 +2643,11 @@ export default function Timesheet() {
|
||||
<div className="flex min-w-0 items-center gap-2 px-3 py-3">
|
||||
<div className="min-w-0 flex-1">
|
||||
<Input
|
||||
value={timerDraft.description}
|
||||
placeholder={t.timesheet?.descriptionPlaceholder || "What are you working on?"}
|
||||
onChange={(event) => setTimerDraft((current) => ({ ...current, description: event.target.value }))}
|
||||
disabled={isStartingTimer}
|
||||
className="h-12 rounded-none border-0 bg-transparent dark:bg-transparent px-5 text-sm shadow-none focus-visible:ring-0 focus-visible:ring-offset-0"
|
||||
value={timerDraft.description}
|
||||
placeholder={t.timesheet?.descriptionPlaceholder || "What are you working on?"}
|
||||
onChange={(event) => setTimerDraft((current) => ({ ...current, description: event.target.value }))}
|
||||
disabled={isStartingTimer}
|
||||
className="h-12 rounded-none border-0 bg-transparent px-5 text-sm shadow-none placeholder:text-slate-300 focus-visible:ring-0 focus-visible:ring-offset-0 dark:bg-transparent dark:placeholder:text-slate-600"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -2757,7 +2755,7 @@ export default function Timesheet() {
|
||||
placeholder={t.timesheet?.descriptionPlaceholder || "What are you working on?"}
|
||||
onChange={(event) => setTimerDraft((current) => ({ ...current, description: event.target.value }))}
|
||||
disabled={isStartingTimer}
|
||||
className="h-10 border-slate-200 bg-slate-50 text-sm dark:border-slate-700 dark:bg-slate-900"
|
||||
className="h-10 border-slate-200 bg-slate-50 text-sm placeholder:text-slate-300 dark:border-slate-700 dark:bg-slate-900 dark:placeholder:text-slate-600"
|
||||
/>
|
||||
|
||||
<div className="grid grid-cols-[minmax(0,1fr)_auto] gap-2">
|
||||
|
||||
@@ -273,38 +273,6 @@ export default function WorkspaceDetail() {
|
||||
{workspace.description || t.workspace?.noDescription}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-wrap items-center gap-2">
|
||||
{canViewReports && (
|
||||
<button
|
||||
onClick={() => openWorkspaceRoute('/reports')}
|
||||
className="inline-flex w-full h-11 items-center justify-center rounded-xl border border-slate-200 bg-slate-50 px-4 text-sm font-semibold text-slate-700 transition hover:border-slate-300 hover:bg-slate-100 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200 dark:hover:border-slate-600 dark:hover:bg-slate-700"
|
||||
>
|
||||
{t.workspace?.openReports || 'Open reports'}
|
||||
</button>
|
||||
)}
|
||||
<div className="flex w-full items-center gap-2">
|
||||
{canEdit && (
|
||||
<button
|
||||
onClick={() => navigate(`/workspaces/${id}/edit`)}
|
||||
className="inline-flex w-full h-11 items-center justify-center gap-2 rounded-xl border px-4 text-sm font-semibold transition bg-blue-50 text-blue-600 dark:bg-blue-500/10 dark:text-blue-400 border-blue-200 hover:border-blue-300 hover:bg-blue-100 dark:border-blue-900/60 dark:hover:bg-blue-900/30"
|
||||
>
|
||||
<Edit2 className="h-4 w-4" />
|
||||
<span className="lg:hidden">{t.actions?.edit || 'Edit'}</span>
|
||||
</button>
|
||||
)}
|
||||
{canDelete && (
|
||||
<button
|
||||
onClick={handleDelete}
|
||||
className="inline-flex w-full h-11 items-center justify-center gap-2 rounded-xl border border-red-200 bg-red-50 px-4 text-sm font-semibold text-red-700 transition hover:border-red-300 hover:bg-red-100 dark:border-red-900/60 dark:bg-red-900/20 dark:text-red-300 dark:hover:bg-red-900/30"
|
||||
>
|
||||
<Trash2 className="h-4 w-4" />
|
||||
<span className="lg:hidden">{t.actions?.delete || 'Delete'}</span>
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -389,9 +357,10 @@ export default function WorkspaceDetail() {
|
||||
{canEdit && (
|
||||
<button
|
||||
onClick={() => navigate(`/workspaces/${id}/edit`)}
|
||||
className="inline-flex h-10 items-center justify-center rounded-xl border border-slate-200 bg-slate-50 px-4 text-sm font-semibold text-slate-700 transition hover:border-slate-300 hover:bg-slate-100 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200 dark:hover:border-slate-600 dark:hover:bg-slate-700"
|
||||
className="inline-flex gap-2 h-10 items-center justify-center rounded-xl border border-slate-200 bg-slate-50 px-4 text-sm font-semibold text-slate-700 transition hover:border-slate-300 hover:bg-slate-100 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200 dark:hover:border-slate-600 dark:hover:bg-slate-700"
|
||||
>
|
||||
{t.workspace?.manageMembers || 'Manage members'}
|
||||
<Edit2 className="h-4 w-4" />
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user