2024-11-08 09:44:20 +08:00
|
|
|
{{if .Repository.IsTimetrackerEnabled ctx}}
|
|
|
|
|
{{if and .CanUseTimetracker (not .Repository.IsArchived)}}
|
|
|
|
|
<div class="divider"></div>
|
2024-12-05 15:07:53 +02:00
|
|
|
<div>
|
2025-07-08 16:59:31 +08:00
|
|
|
<div class="flex-text-block">
|
|
|
|
|
<strong class="tw-flex-1">{{ctx.Locale.Tr "repo.issues.tracker"}}</strong>
|
|
|
|
|
<button class="btn interact-fg show-modal" data-tooltip-content="{{ctx.Locale.Tr "repo.issues.time_estimate_set"}}" data-modal="#issue-time-set-estimate-modal">
|
|
|
|
|
{{svg "octicon-pencil"}}
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="ui buttons tw-mt-2 tw-w-full">
|
|
|
|
|
{{if $.IsStopwatchRunning}}
|
|
|
|
|
<button class="ui button tw-flex-1 issue-stop-time link-action" data-url="{{.Issue.Link}}/times/stopwatch/stop">
|
|
|
|
|
{{svg "octicon-stopwatch"}} {{ctx.Locale.Tr "repo.issues.timetracker_timer_stop"}}
|
|
|
|
|
</button>
|
|
|
|
|
<button class="ui icon button issue-cancel-time link-action" data-url="{{.Issue.Link}}/times/stopwatch/cancel" data-tooltip-content="{{ctx.Locale.Tr "repo.issues.timetracker_timer_discard"}}">
|
|
|
|
|
{{svg "octicon-trash"}}
|
|
|
|
|
</button>
|
|
|
|
|
{{else}}
|
|
|
|
|
<button class="ui button tw-flex-1 issue-start-time link-action" data-url="{{.Issue.Link}}/times/stopwatch/start">
|
|
|
|
|
{{svg "octicon-stopwatch"}} {{ctx.Locale.Tr "repo.issues.timetracker_timer_start"}}
|
|
|
|
|
</button>
|
|
|
|
|
<button class="ui icon button issue-add-time show-modal" data-modal="#issue-time-manually-add-modal" data-tooltip-content="{{ctx.Locale.Tr "repo.issues.timetracker_timer_manually_add"}}">
|
|
|
|
|
{{svg "octicon-plus"}}
|
|
|
|
|
</button>
|
|
|
|
|
{{end}}
|
2024-12-05 15:07:53 +02:00
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{{if and (not $.IsStopwatchRunning) .HasUserStopwatch}}
|
|
|
|
|
<div class="ui warning message">{{ctx.Locale.Tr "repo.issues.tracking_already_started" .OtherStopwatchURL}}</div>
|
|
|
|
|
{{end}}
|
|
|
|
|
|
|
|
|
|
{{if .Issue.TimeEstimate}}
|
|
|
|
|
<div class="tw-my-2">{{ctx.Locale.Tr "repo.issues.time_estimate_display" (TimeEstimateString .Issue.TimeEstimate)}}</div>
|
|
|
|
|
{{end}}
|
|
|
|
|
|
|
|
|
|
{{/* set time estimate modal */}}
|
|
|
|
|
<div class="ui mini modal" id="issue-time-set-estimate-modal">
|
|
|
|
|
<div class="header">{{ctx.Locale.Tr "repo.issues.time_estimate_set"}}</div>
|
|
|
|
|
<form method="post" class="ui form form-fetch-action" action="{{.Issue.Link}}/time_estimate">
|
|
|
|
|
<div class="content">
|
2024-12-14 23:44:13 -08:00
|
|
|
<input name="time_estimate" placeholder="1h 2m" value="{{TimeEstimateString .Issue.TimeEstimate}}">
|
2024-11-08 09:44:20 +08:00
|
|
|
<div class="actions">
|
2024-12-05 15:07:53 +02:00
|
|
|
<button class="ui cancel button">{{ctx.Locale.Tr "cancel"}}</button>
|
|
|
|
|
<button class="ui primary button">{{ctx.Locale.Tr "repo.issues.save"}}</button>
|
2024-11-08 09:44:20 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2024-12-05 15:07:53 +02:00
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{{/* manually add time modal */}}
|
|
|
|
|
<div class="ui mini modal" id="issue-time-manually-add-modal">
|
|
|
|
|
<div class="header">{{ctx.Locale.Tr "repo.issues.add_time_manually"}}</div>
|
|
|
|
|
<form method="post" class="ui form form-fetch-action" action="{{.Issue.Link}}/times/add">
|
|
|
|
|
<div class="content flex-text-block">
|
|
|
|
|
<input placeholder='{{ctx.Locale.Tr "repo.issues.add_time_hours"}}' type="number" name="hours">:
|
|
|
|
|
<input placeholder='{{ctx.Locale.Tr "repo.issues.add_time_minutes"}}' type="number" name="minutes">
|
|
|
|
|
</div>
|
|
|
|
|
<div class="actions">
|
|
|
|
|
<button class="ui cancel button">{{ctx.Locale.Tr "cancel"}}</button>
|
|
|
|
|
<button class="ui primary button">{{ctx.Locale.Tr "repo.issues.timetracker_timer_manually_add"}}</button>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
2024-11-08 09:44:20 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
{{end}}
|
|
|
|
|
{{if .WorkingUsers}}
|
2025-07-08 16:59:31 +08:00
|
|
|
<div class="tw-mt-2">
|
2025-02-02 18:51:12 +01:00
|
|
|
{{ctx.Locale.Tr "repo.issues.time_spent_from_all_authors" ($.Issue.TotalTrackedTime | Sec2Hour)}}
|
2025-07-08 16:59:31 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="ui list flex-items-block">
|
|
|
|
|
{{range $user, $trackedtime := .WorkingUsers}}
|
|
|
|
|
<div class="item tw-gap-3">
|
|
|
|
|
{{template "shared/user/avatarlink" dict "user" $user}}
|
|
|
|
|
<div>
|
|
|
|
|
{{template "shared/user/authorlink" $user}}
|
|
|
|
|
<div class="text">{{$trackedtime|Sec2Hour}}</div>
|
2024-11-08 09:44:20 +08:00
|
|
|
</div>
|
2025-07-08 16:59:31 +08:00
|
|
|
</div>
|
|
|
|
|
{{end}}
|
2024-11-08 09:44:20 +08:00
|
|
|
</div>
|
|
|
|
|
{{end}}
|
|
|
|
|
{{end}}
|