mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Replace DateTime with DateUtils (#32383)
This commit is contained in:
		| @@ -54,6 +54,7 @@ func NewFuncMap() template.FuncMap { | ||||
| 		"StringUtils": NewStringUtils, | ||||
| 		"SliceUtils":  NewSliceUtils, | ||||
| 		"JsonUtils":   NewJsonUtils, | ||||
| 		"DateUtils":   NewDateUtils, // TODO: to be replaced by DateUtils | ||||
|  | ||||
| 		// ----------------------------------------------------------------- | ||||
| 		// svg / avatar / icon / color | ||||
|   | ||||
							
								
								
									
										34
									
								
								modules/templates/util_date.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								modules/templates/util_date.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| // Copyright 2024 The Gitea Authors. All rights reserved. | ||||
| // SPDX-License-Identifier: MIT | ||||
|  | ||||
| package templates | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"html/template" | ||||
|  | ||||
| 	"code.gitea.io/gitea/modules/timeutil" | ||||
| ) | ||||
|  | ||||
| type DateUtils struct { | ||||
| 	ctx context.Context | ||||
| } | ||||
|  | ||||
| func NewDateUtils(ctx context.Context) *DateUtils { | ||||
| 	return &DateUtils{ctx} | ||||
| } | ||||
|  | ||||
| // AbsoluteShort renders in "Jan 01, 2006" format | ||||
| func (du *DateUtils) AbsoluteShort(time any) template.HTML { | ||||
| 	return timeutil.DateTime("short", time) | ||||
| } | ||||
|  | ||||
| // AbsoluteLong renders in "January 01, 2006" format | ||||
| func (du *DateUtils) AbsoluteLong(time any) template.HTML { | ||||
| 	return timeutil.DateTime("short", time) | ||||
| } | ||||
|  | ||||
| // FullTime renders in "Jan 01, 2006 20:33:44" format | ||||
| func (du *DateUtils) FullTime(time any) template.HTML { | ||||
| 	return timeutil.DateTime("full", time) | ||||
| } | ||||
| @@ -48,8 +48,8 @@ func Activity(ctx *context.Context) { | ||||
| 		ctx.Data["Period"] = "weekly" | ||||
| 		timeFrom = timeUntil.Add(-time.Hour * 168) | ||||
| 	} | ||||
| 	ctx.Data["DateFrom"] = timeFrom.UTC().Format(time.RFC3339) | ||||
| 	ctx.Data["DateUntil"] = timeUntil.UTC().Format(time.RFC3339) | ||||
| 	ctx.Data["DateFrom"] = timeFrom | ||||
| 	ctx.Data["DateUntil"] = timeUntil | ||||
| 	ctx.Data["PeriodText"] = ctx.Tr("repo.activity.period." + ctx.Data["Period"].(string)) | ||||
|  | ||||
| 	var err error | ||||
|   | ||||
| @@ -100,6 +100,7 @@ func NewTemplateContextForWeb(ctx *Context) TemplateContext { | ||||
| 	tmplCtx := NewTemplateContext(ctx) | ||||
| 	tmplCtx["Locale"] = ctx.Base.Locale | ||||
| 	tmplCtx["AvatarUtils"] = templates.NewAvatarUtils(ctx) | ||||
| 	tmplCtx["DateUtils"] = templates.NewDateUtils(ctx) | ||||
| 	tmplCtx["RootData"] = ctx.Data | ||||
| 	tmplCtx["Consts"] = map[string]any{ | ||||
| 		"RepoUnitTypeCode":            unit.TypeCode, | ||||
|   | ||||
| @@ -26,8 +26,8 @@ | ||||
| 							<td><a href="{{AppSubUrl}}/-/admin/auths/{{.ID}}">{{.Name}}</a></td> | ||||
| 							<td>{{.TypeName}}</td> | ||||
| 							<td>{{svg (Iif .IsActive "octicon-check" "octicon-x")}}</td> | ||||
| 							<td>{{DateTime "short" .UpdatedUnix}}</td> | ||||
| 							<td>{{DateTime "short" .CreatedUnix}}</td> | ||||
| 							<td>{{ctx.DateUtils.AbsoluteShort .UpdatedUnix}}</td> | ||||
| 							<td>{{ctx.DateUtils.AbsoluteShort .CreatedUnix}}</td> | ||||
| 							<td><a href="{{AppSubUrl}}/-/admin/auths/{{.ID}}">{{svg "octicon-pencil"}}</a></td> | ||||
| 						</tr> | ||||
| 					{{end}} | ||||
|   | ||||
| @@ -23,8 +23,8 @@ | ||||
| 							<td><button type="submit" class="ui primary button" name="op" value="{{.Name}}" title="{{ctx.Locale.Tr "admin.dashboard.operation_run"}}">{{svg "octicon-triangle-right"}}</button></td> | ||||
| 							<td>{{ctx.Locale.Tr (printf "admin.dashboard.%s" .Name)}}</td> | ||||
| 							<td>{{.Spec}}</td> | ||||
| 							<td>{{DateTime "full" .Next}}</td> | ||||
| 							<td>{{if gt .Prev.Year 1}}{{DateTime "full" .Prev}}{{else}}-{{end}}</td> | ||||
| 							<td>{{ctx.DateUtils.FullTime .Next}}</td> | ||||
| 							<td>{{if gt .Prev.Year 1}}{{ctx.DateUtils.FullTime .Prev}}{{else}}-{{end}}</td> | ||||
| 							<td>{{.ExecTimes}}</td> | ||||
| 							<td {{if ne .Status ""}}data-tooltip-content="{{.FormatLastMessage ctx.Locale}}"{{end}} >{{if eq .Status ""}}—{{else}}{{svg (Iif (eq .Status "finished") "octicon-check" "octicon-x") 16}}{{end}}</td> | ||||
| 						</tr> | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
| 						<td>{{.ID}}</td> | ||||
| 						<td>{{ctx.Locale.Tr .TrStr}}</td> | ||||
| 						<td class="view-detail auto-ellipsis tw-w-4/5"><span class="notice-description">{{.Description}}</span></td> | ||||
| 						<td nowrap>{{DateTime "short" .CreatedUnix}}</td> | ||||
| 						<td nowrap>{{ctx.DateUtils.AbsoluteShort .CreatedUnix}}</td> | ||||
| 						<td class="view-detail"><a href="#">{{svg "octicon-note" 16}}</a></td> | ||||
| 					</tr> | ||||
| 				{{end}} | ||||
|   | ||||
| @@ -63,7 +63,7 @@ | ||||
| 							<td>{{.NumTeams}}</td> | ||||
| 							<td>{{.NumMembers}}</td> | ||||
| 							<td>{{.NumRepos}}</td> | ||||
| 							<td>{{DateTime "short" .CreatedUnix}}</td> | ||||
| 							<td>{{ctx.DateUtils.AbsoluteShort .CreatedUnix}}</td> | ||||
| 							<td><a href="{{.OrganisationLink}}/settings" data-tooltip-content="{{ctx.Locale.Tr "edit"}}">{{svg "octicon-pencil"}}</a></td> | ||||
| 						</tr> | ||||
| 					{{end}} | ||||
|   | ||||
| @@ -71,7 +71,7 @@ | ||||
| 							{{end}} | ||||
| 							</td> | ||||
| 							<td>{{FileSize .CalculateBlobSize}}</td> | ||||
| 							<td>{{DateTime "short" .Version.CreatedUnix}}</td> | ||||
| 							<td>{{ctx.DateUtils.AbsoluteShort .Version.CreatedUnix}}</td> | ||||
| 							<td><a class="delete-button" href="" data-url="{{$.Link}}/delete?page={{$.Page.Paginater.Current}}&sort={{$.SortType}}" data-id="{{.Version.ID}}" data-name="{{.Package.Name}}" data-data-version="{{.Version.Version}}">{{svg "octicon-trash"}}</a></td> | ||||
| 						</tr> | ||||
| 					{{end}} | ||||
|   | ||||
| @@ -82,8 +82,8 @@ | ||||
| 							<td>{{.NumIssues}}</td> | ||||
| 							<td>{{FileSize .GitSize}}</td> | ||||
| 							<td>{{FileSize .LFSSize}}</td> | ||||
| 							<td>{{DateTime "short" .UpdatedUnix}}</td> | ||||
| 							<td>{{DateTime "short" .CreatedUnix}}</td> | ||||
| 							<td>{{ctx.DateUtils.AbsoluteShort .UpdatedUnix}}</td> | ||||
| 							<td>{{ctx.DateUtils.AbsoluteShort .CreatedUnix}}</td> | ||||
| 							<td><a class="delete-button" href="" data-url="{{$.Link}}/delete?page={{$.Page.Paginater.Current}}&sort={{$.SortType}}" data-id="{{.ID}}" data-name="{{.Name}}">{{svg "octicon-trash"}}</a></td> | ||||
| 						</tr> | ||||
| 					{{end}} | ||||
|   | ||||
| @@ -96,9 +96,9 @@ | ||||
| 							<td>{{svg (Iif .IsActive "octicon-check" "octicon-x")}}</td> | ||||
| 							<td>{{svg (Iif .IsRestricted "octicon-check" "octicon-x")}}</td> | ||||
| 							<td>{{svg (Iif (index $.UsersTwoFaStatus .ID) "octicon-check" "octicon-x")}}</td> | ||||
| 							<td>{{DateTime "short" .CreatedUnix}}</td> | ||||
| 							<td>{{ctx.DateUtils.AbsoluteShort .CreatedUnix}}</td> | ||||
| 							{{if .LastLoginUnix}} | ||||
| 								<td>{{DateTime "short" .LastLoginUnix}}</td> | ||||
| 								<td>{{ctx.DateUtils.AbsoluteShort .LastLoginUnix}}</td> | ||||
| 							{{else}} | ||||
| 								<td><span>{{ctx.Locale.Tr "admin.users.never_login"}}</span></td> | ||||
| 							{{end}} | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
| 							<a href="mailto:{{.Email}}">{{.Email}}</a> | ||||
| 						</span> | ||||
| 					{{end}} | ||||
| 					<span class="flex-text-inline">{{svg "octicon-calendar"}}{{ctx.Locale.Tr "user.joined_on" (DateTime "short" .CreatedUnix)}}</span> | ||||
| 					<span class="flex-text-inline">{{svg "octicon-calendar"}}{{ctx.Locale.Tr "user.joined_on" (ctx.DateUtils.AbsoluteShort .CreatedUnix)}}</span> | ||||
| 				</div> | ||||
| 			</div> | ||||
| 		</div> | ||||
|   | ||||
| @@ -22,7 +22,7 @@ | ||||
| 					<td><a href="{{.VersionWebLink}}">{{.Version.Version}}</a></td> | ||||
| 					<td><a href="{{.Creator.HomeLink}}">{{.Creator.Name}}</a></td> | ||||
| 					<td>{{FileSize .CalculateBlobSize}}</td> | ||||
| 					<td>{{DateTime "short" .Version.CreatedUnix}}</td> | ||||
| 					<td>{{ctx.DateUtils.AbsoluteShort .Version.CreatedUnix}}</td> | ||||
| 				</tr> | ||||
| 			{{else}} | ||||
| 				<tr> | ||||
|   | ||||
| @@ -92,7 +92,7 @@ | ||||
| 				{{range .LatestVersions}} | ||||
| 					<div class="item tw-flex"> | ||||
| 						<a class="tw-flex-1 gt-ellipsis" title="{{.Version}}" href="{{$.PackageDescriptor.PackageWebLink}}/{{PathEscape .LowerVersion}}">{{.Version}}</a> | ||||
| 						<span class="text small">{{DateTime "short" .CreatedUnix}}</span> | ||||
| 						<span class="text small">{{ctx.DateUtils.AbsoluteShort .CreatedUnix}}</span> | ||||
| 					</div> | ||||
| 				{{end}} | ||||
| 				</div> | ||||
|   | ||||
| @@ -204,7 +204,7 @@ | ||||
| 					{{if .Repository.ArchivedUnix.IsZero}} | ||||
| 						{{ctx.Locale.Tr "repo.archive.title"}} | ||||
| 					{{else}} | ||||
| 						{{ctx.Locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix)}} | ||||
| 						{{ctx.Locale.Tr "repo.archive.title_date" (ctx.DateUtils.AbsoluteLong .Repository.ArchivedUnix)}} | ||||
| 					{{end}} | ||||
| 				</div> | ||||
| 			{{end}} | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
| 						{{if .Repository.ArchivedUnix.IsZero}} | ||||
| 							{{ctx.Locale.Tr "repo.archive.title"}} | ||||
| 						{{else}} | ||||
| 							{{ctx.Locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix)}} | ||||
| 							{{ctx.Locale.Tr "repo.archive.title_date" (ctx.DateUtils.AbsoluteLong .Repository.ArchivedUnix)}} | ||||
| 						{{end}} | ||||
| 					</div> | ||||
| 				{{end}} | ||||
|   | ||||
| @@ -69,7 +69,7 @@ | ||||
| 							{{$userName}} | ||||
| 						{{end}} | ||||
| 					</span> | ||||
| 					<span class="time tw-flex tw-items-center">{{DateTime "full" $commit.Date}}</span> | ||||
| 					<span class="time tw-flex tw-items-center">{{ctx.DateUtils.FullTime $commit.Date}}</span> | ||||
| 				{{end}} | ||||
| 			</li> | ||||
| 		{{end}} | ||||
|   | ||||
| @@ -37,7 +37,7 @@ | ||||
| 				{{if .Repository.ArchivedUnix.IsZero}} | ||||
| 					{{ctx.Locale.Tr "repo.archive.title"}} | ||||
| 				{{else}} | ||||
| 					{{ctx.Locale.Tr "repo.archive.title_date" (DateTime "long" .Repository.ArchivedUnix)}} | ||||
| 					{{ctx.Locale.Tr "repo.archive.title_date" (ctx.DateUtils.AbsoluteLong .Repository.ArchivedUnix)}} | ||||
| 				{{end}} | ||||
| 			</div> | ||||
| 		{{end}} | ||||
|   | ||||
| @@ -368,7 +368,7 @@ | ||||
| 				<div class="tw-flex tw-justify-between tw-items-center"> | ||||
| 					<div class="due-date {{if .Issue.IsOverdue}}text red{{end}}" {{if .Issue.IsOverdue}}data-tooltip-content="{{ctx.Locale.Tr "repo.issues.due_date_overdue"}}"{{end}}> | ||||
| 						{{svg "octicon-calendar" 16 "tw-mr-2"}} | ||||
| 						{{DateTime "long" .Issue.DeadlineUnix.FormatDate}} | ||||
| 						{{ctx.DateUtils.AbsoluteLong .Issue.DeadlineUnix}} | ||||
| 					</div> | ||||
| 					<div> | ||||
| 						{{if and .HasIssuesOrPullsWritePermission (not .Repository.IsArchived)}} | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <h2 class="ui header activity-header"> | ||||
| 	<span>{{DateTime "long" .DateFrom}} - {{DateTime "long" .DateUntil}}</span> | ||||
| 	<span>{{ctx.DateUtils.AbsoluteLong .DateFrom}} - {{ctx.DateUtils.AbsoluteLong .DateUntil}}</span> | ||||
| 	<!-- Period --> | ||||
| 	<div class="ui floating dropdown jump filter"> | ||||
| 		<div class="ui basic compact button"> | ||||
|   | ||||
| @@ -55,7 +55,7 @@ | ||||
| 									{{.Fingerprint}} | ||||
| 								</div> | ||||
| 								<div class="flex-item-body"> | ||||
| 									<i>{{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} —  {{svg "octicon-info"}} {{if .HasUsed}}{{ctx.Locale.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="text green"{{end}}>{{DateTime "short" .UpdatedUnix}}</span>{{else}}{{ctx.Locale.Tr "settings.no_activity"}}{{end}} - <span>{{ctx.Locale.Tr "settings.can_read_info"}}{{if not .IsReadOnly}} / {{ctx.Locale.Tr "settings.can_write_info"}} {{end}}</span></i> | ||||
| 									<i>{{ctx.Locale.Tr "settings.added_on" (ctx.DateUtils.AbsoluteShort .CreatedUnix)}} —  {{svg "octicon-info"}} {{if .HasUsed}}{{ctx.Locale.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="text green"{{end}}>{{ctx.DateUtils.AbsoluteShort .UpdatedUnix}}</span>{{else}}{{ctx.Locale.Tr "settings.no_activity"}}{{end}} - <span>{{ctx.Locale.Tr "settings.can_read_info"}}{{if not .IsReadOnly}} / {{ctx.Locale.Tr "settings.can_write_info"}} {{end}}</span></i> | ||||
| 								</div> | ||||
| 							</div> | ||||
| 							<div class="flex-item-trailing"> | ||||
|   | ||||
| @@ -117,7 +117,7 @@ | ||||
| 							<tr> | ||||
| 								<td>{{.PullMirror.RemoteAddress}}</td> | ||||
| 								<td>{{ctx.Locale.Tr "repo.settings.mirror_settings.direction.pull"}}</td> | ||||
| 								<td>{{DateTime "full" .PullMirror.UpdatedUnix}}</td> | ||||
| 								<td>{{ctx.DateUtils.FullTime .PullMirror.UpdatedUnix}}</td> | ||||
| 								<td class="right aligned"> | ||||
| 									<form method="post" class="tw-inline-block"> | ||||
| 										{{.CsrfTokenHtml}} | ||||
| @@ -205,7 +205,7 @@ | ||||
| 							<tr> | ||||
| 								<td class="tw-break-anywhere">{{.RemoteAddress}}</td> | ||||
| 								<td>{{ctx.Locale.Tr "repo.settings.mirror_settings.direction.push"}}</td> | ||||
| 								<td>{{if .LastUpdateUnix}}{{DateTime "full" .LastUpdateUnix}}{{else}}{{ctx.Locale.Tr "never"}}{{end}} {{if .LastError}}<div class="ui red label" data-tooltip-content="{{.LastError}}">{{ctx.Locale.Tr "error"}}</div>{{end}}</td> | ||||
| 								<td>{{if .LastUpdateUnix}}{{ctx.DateUtils.FullTime .LastUpdateUnix}}{{else}}{{ctx.Locale.Tr "never"}}{{end}} {{if .LastError}}<div class="ui red label" data-tooltip-content="{{.LastError}}">{{ctx.Locale.Tr "error"}}</div>{{end}}</td> | ||||
| 								<td class="right aligned"> | ||||
| 									<button | ||||
| 										class="ui tiny button show-modal" | ||||
|   | ||||
| @@ -18,7 +18,7 @@ | ||||
| 					{{else if .Location}} | ||||
| 						{{svg "octicon-location"}} {{.Location}} | ||||
| 					{{else}} | ||||
| 						{{svg "octicon-calendar"}} {{ctx.Locale.Tr "user.joined_on" (DateTime "short" .CreatedUnix)}} | ||||
| 						{{svg "octicon-calendar"}} {{ctx.Locale.Tr "user.joined_on" (ctx.DateUtils.AbsoluteShort .CreatedUnix)}} | ||||
| 					{{end}} | ||||
| 				</div> | ||||
| 			</li> | ||||
|   | ||||
| @@ -117,7 +117,7 @@ | ||||
| 						<span class="due-date flex-text-inline" data-tooltip-content="{{ctx.Locale.Tr "repo.issues.due_date"}}"> | ||||
| 							<span{{if .IsOverdue}} class="text red"{{end}}> | ||||
| 								{{svg "octicon-calendar" 14}} | ||||
| 								{{DateTime "short" (.DeadlineUnix.FormatDate)}} | ||||
| 								{{ctx.DateUtils.AbsoluteShort .DeadlineUnix}} | ||||
| 							</span> | ||||
| 						</span> | ||||
| 					{{end}} | ||||
|   | ||||
| @@ -28,7 +28,7 @@ | ||||
| 			</div> | ||||
| 			<div class="flex-item-trailing"> | ||||
| 				<span class="color-text-light-2"> | ||||
| 					{{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} | ||||
| 					{{ctx.Locale.Tr "settings.added_on" (ctx.DateUtils.AbsoluteShort .CreatedUnix)}} | ||||
| 				</span> | ||||
| 				<button class="ui btn interact-bg link-action tw-p-2" | ||||
| 					data-url="{{$.Link}}/delete?id={{.ID}}" | ||||
|   | ||||
| @@ -79,7 +79,7 @@ | ||||
| 					</li> | ||||
| 				{{end}} | ||||
| 			{{end}} | ||||
| 			<li>{{svg "octicon-calendar"}} <span>{{ctx.Locale.Tr "user.joined_on" (DateTime "short" .ContextUser.CreatedUnix)}}</span></li> | ||||
| 			<li>{{svg "octicon-calendar"}} <span>{{ctx.Locale.Tr "user.joined_on" (ctx.DateUtils.AbsoluteShort .ContextUser.CreatedUnix)}}</span></li> | ||||
| 			{{if and .Orgs .HasOrgsVisible}} | ||||
| 			<li> | ||||
| 				<ul class="user-orgs"> | ||||
|   | ||||
| @@ -30,7 +30,7 @@ | ||||
| 			</div> | ||||
| 			<div class="flex-item-trailing"> | ||||
| 				<span class="color-text-light-2"> | ||||
| 					{{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} | ||||
| 					{{ctx.Locale.Tr "settings.added_on" (ctx.DateUtils.AbsoluteShort .CreatedUnix)}} | ||||
| 				</span> | ||||
| 				<button class="btn interact-bg tw-p-2 show-modal" | ||||
| 					data-tooltip-content="{{ctx.Locale.Tr "actions.variables.edit"}}" | ||||
|   | ||||
| @@ -36,7 +36,7 @@ | ||||
| 								</ul> | ||||
| 							</details> | ||||
| 							<div class="flex-item-body"> | ||||
| 								<i>{{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} — {{svg "octicon-info"}} {{if .HasUsed}}{{ctx.Locale.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="text green"{{end}}>{{DateTime "short" .UpdatedUnix}}</span>{{else}}{{ctx.Locale.Tr "settings.no_activity"}}{{end}}</i> | ||||
| 								<i>{{ctx.Locale.Tr "settings.added_on" (ctx.DateUtils.AbsoluteShort .CreatedUnix)}} — {{svg "octicon-info"}} {{if .HasUsed}}{{ctx.Locale.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="text green"{{end}}>{{ctx.DateUtils.AbsoluteShort .UpdatedUnix}}</span>{{else}}{{ctx.Locale.Tr "settings.no_activity"}}{{end}}</i> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						<div class="flex-item-trailing"> | ||||
|   | ||||
| @@ -14,7 +14,7 @@ | ||||
| 				<div class="flex-item-main"> | ||||
| 					<div class="flex-item-title">{{.Application.Name}}</div> | ||||
| 					<div class="flex-item-body"> | ||||
| 						<i>{{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}}</i> | ||||
| 						<i>{{ctx.Locale.Tr "settings.added_on" (ctx.DateUtils.AbsoluteShort .CreatedUnix)}}</i> | ||||
| 					</div> | ||||
| 				</div> | ||||
| 				<div class="flex-item-trailing"> | ||||
|   | ||||
| @@ -63,9 +63,9 @@ | ||||
| 						<b>{{ctx.Locale.Tr "settings.subkeys"}}:</b> {{range .SubsKey}} {{.PaddedKeyID}} {{end}} | ||||
| 					</div> | ||||
| 					<div class="flex-item-body"> | ||||
| 						<i>{{ctx.Locale.Tr "settings.added_on" (DateTime "short" .AddedUnix)}}</i> | ||||
| 						<i>{{ctx.Locale.Tr "settings.added_on" (ctx.DateUtils.AbsoluteShort .AddedUnix)}}</i> | ||||
| 						- | ||||
| 						<i>{{if not .ExpiredUnix.IsZero}}{{ctx.Locale.Tr "settings.valid_until_date" (DateTime "short" .ExpiredUnix)}}{{else}}{{ctx.Locale.Tr "settings.valid_forever"}}{{end}}</i> | ||||
| 						<i>{{if not .ExpiredUnix.IsZero}}{{ctx.Locale.Tr "settings.valid_until_date" (ctx.DateUtils.AbsoluteShort .ExpiredUnix)}}{{else}}{{ctx.Locale.Tr "settings.valid_forever"}}{{end}}</i> | ||||
| 					</div> | ||||
| 				</div> | ||||
| 				<div class="flex-item-trailing"> | ||||
|   | ||||
| @@ -22,7 +22,7 @@ | ||||
| 					<div class="flex-item-main"> | ||||
| 						<div class="flex-item-title">{{.Name}}</div> | ||||
| 						<div class="flex-item-body"> | ||||
| 							<i>{{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} —  {{svg "octicon-info" 16}} {{if .HasUsed}}{{ctx.Locale.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="green"{{end}}>{{DateTime "short" .UpdatedUnix}}</span>{{else}}{{ctx.Locale.Tr "settings.no_activity"}}{{end}}</i> | ||||
| 							<i>{{ctx.Locale.Tr "settings.added_on" (ctx.DateUtils.AbsoluteShort .CreatedUnix)}} —  {{svg "octicon-info" 16}} {{if .HasUsed}}{{ctx.Locale.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="green"{{end}}>{{ctx.DateUtils.AbsoluteShort .UpdatedUnix}}</span>{{else}}{{ctx.Locale.Tr "settings.no_activity"}}{{end}}</i> | ||||
| 						</div> | ||||
| 					</div> | ||||
| 					<div class="flex-item-trailing"> | ||||
|   | ||||
| @@ -53,7 +53,7 @@ | ||||
| 								{{.Fingerprint}} | ||||
| 						</div> | ||||
| 						<div class="flex-item-body"> | ||||
| 								<i>{{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}} —	{{svg "octicon-info"}} {{if .HasUsed}}{{ctx.Locale.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="text green"{{end}}>{{DateTime "short" .UpdatedUnix}}</span>{{else}}{{ctx.Locale.Tr "settings.no_activity"}}{{end}}</i> | ||||
| 								<i>{{ctx.Locale.Tr "settings.added_on" (ctx.DateUtils.AbsoluteShort .CreatedUnix)}} —	{{svg "octicon-info"}} {{if .HasUsed}}{{ctx.Locale.Tr "settings.last_used"}} <span {{if .HasRecentActivity}}class="text green"{{end}}>{{ctx.DateUtils.AbsoluteShort .UpdatedUnix}}</span>{{else}}{{ctx.Locale.Tr "settings.no_activity"}}{{end}}</i> | ||||
| 						</div> | ||||
| 				</div> | ||||
| 				<div class="flex-item-trailing"> | ||||
|   | ||||
| @@ -12,7 +12,7 @@ | ||||
| 				<div class="flex-item-main"> | ||||
| 					<div class="flex-item-title">{{.Name}}</div> | ||||
| 					<div class="flex-item-body"> | ||||
| 						<i>{{ctx.Locale.Tr "settings.added_on" (DateTime "short" .CreatedUnix)}}</i> | ||||
| 						<i>{{ctx.Locale.Tr "settings.added_on" (ctx.DateUtils.AbsoluteShort .CreatedUnix)}}</i> | ||||
| 					</div> | ||||
| 				</div> | ||||
| 				<div class="flex-item-trailing"> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user