mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Fix UI on mobile view (#25315)
Various fixes to pages or elements which were looking ugly on mobile. <details> <summary>Screenshots</summary>          </details> Co-authored by @silverwind --------- Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
		| @@ -35,33 +35,36 @@ | ||||
| 				</div> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 		<div class="milestone list"> | ||||
| 		<div class="milestone-list"> | ||||
| 			{{range .Projects}} | ||||
| 				<li class="item"> | ||||
| 					{{svg .IconName}} <a href="{{.Link}}">{{.Title}}</a> | ||||
| 					<div class="meta"> | ||||
| 						{{$closedDate:= TimeSinceUnix .ClosedDateUnix $.locale}} | ||||
| 						{{if .IsClosed}} | ||||
| 							{{svg "octicon-clock"}} {{$.locale.Tr "repo.milestones.closed" $closedDate | Safe}} | ||||
| 						{{end}} | ||||
| 						<span class="issue-stats"> | ||||
| 							{{svg "octicon-issue-opened" 16 "gt-mr-3"}} | ||||
| 				<li class="milestone-card"> | ||||
| 					<h3 class="flex-text-block gt-m-0"> | ||||
| 						{{svg .IconName 16}} | ||||
| 						<a class="muted" href="{{.Link}}">{{.Title}}</a> | ||||
| 					</h3> | ||||
| 					<div class="milestone-toolbar"> | ||||
| 						<div class="group"> | ||||
| 							<div class="flex-text-block"> | ||||
| 								{{svg "octicon-issue-opened" 14}} | ||||
| 								{{$.locale.PrettyNumber .NumOpenIssues}} {{$.locale.Tr "repo.issues.open_title"}} | ||||
| 							{{svg "octicon-check" 16 "gt-mr-3"}} | ||||
| 							</div> | ||||
| 							<div class="flex-text-block"> | ||||
| 								{{svg "octicon-check" 14}} | ||||
| 								{{$.locale.PrettyNumber .NumClosedIssues}} {{$.locale.Tr "repo.issues.closed_title"}} | ||||
| 						</span> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						{{if and $.CanWriteProjects (not $.Repository.IsArchived)}} | ||||
| 					<div class="ui right operate"> | ||||
| 						<a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Title}}>{{svg "octicon-pencil"}} {{$.locale.Tr "repo.issues.label_edit"}}</a> | ||||
| 						<div class="group"> | ||||
| 							<a class="flex-text-inline" href="{{.Link}}/edit">{{svg "octicon-pencil" 14}}{{$.locale.Tr "repo.issues.label_edit"}}</a> | ||||
| 							{{if .IsClosed}} | ||||
| 							<a class="link-action" href data-url="{{$.Link}}/{{.ID}}/open">{{svg "octicon-check"}} {{$.locale.Tr "repo.projects.open"}}</a> | ||||
| 								<a class="link-action flex-text-inline" href data-url="{{.Link}}/open">{{svg "octicon-check" 14}}{{$.locale.Tr "repo.projects.open"}}</a> | ||||
| 							{{else}} | ||||
| 							<a class="link-action" href data-url="{{$.Link}}/{{.ID}}/close">{{svg "octicon-skip"}} {{$.locale.Tr "repo.projects.close"}}</a> | ||||
| 								<a class="link-action flex-text-inline" href data-url="{{.Link}}/close">{{svg "octicon-skip" 14}}{{$.locale.Tr "repo.projects.close"}}</a> | ||||
| 							{{end}} | ||||
| 						<a class="delete-button" href="#" data-url="{{$.Link}}/{{.ID}}/delete" data-id="{{.ID}}">{{svg "octicon-trash"}} {{$.locale.Tr "repo.issues.label_delete"}}</a> | ||||
| 							<a class="delete-button flex-text-inline" href="#" data-url="{{.Link}}/delete">{{svg "octicon-trash" 14}}{{$.locale.Tr "repo.issues.label_delete"}} tesssst</a> | ||||
| 						</div> | ||||
| 						{{end}} | ||||
| 					</div> | ||||
| 					{{if .Description}} | ||||
| 					<div class="content"> | ||||
| 						{{.RenderedContent|Str2html}} | ||||
|   | ||||
| @@ -46,7 +46,7 @@ | ||||
| 			{{if $.CanWriteProjects}} | ||||
| 				<div class="column right aligned"> | ||||
| 					<div class="ui compact right small menu"> | ||||
| 						<a class="item" href="{{$.Link}}/edit?redirect=project" data-id={{$.Project.ID}} data-title={{$.Project.Title}}> | ||||
| 						<a class="item" href="{{$.Link}}/edit?redirect=project"> | ||||
| 							{{svg "octicon-pencil"}} | ||||
| 							<span class="gt-mx-3">{{$.locale.Tr "repo.issues.label_edit"}}</span> | ||||
| 						</a> | ||||
|   | ||||
| @@ -2,8 +2,8 @@ | ||||
| <div role="main" aria-label="{{.Title}}" class="page-content repository commits"> | ||||
| 	{{template "repo/header" .}} | ||||
| 	<div class="ui container"> | ||||
| 		<h2 class="ui header">{{DateTime "long" .DateFrom}} - {{DateTime "long" .DateUntil}} | ||||
| 			<div class="ui right"> | ||||
| 		<h2 class="ui header activity-header"> | ||||
| 			<span>{{DateTime "long" .DateFrom}} - {{DateTime "long" .DateUntil}}</span> | ||||
| 			<!-- Period --> | ||||
| 			<div class="ui floating dropdown jump filter"> | ||||
| 				<div class="ui basic compact button"> | ||||
| @@ -22,7 +22,6 @@ | ||||
| 					<a class="{{if eq .Period "yearly"}}active {{end}}item" href="{{$.RepoLink}}/activity/yearly">{{.locale.Tr "repo.activity.period.yearly"}}</a> | ||||
| 				</div> | ||||
| 			</div> | ||||
| 			</div> | ||||
| 		</h2> | ||||
| 		<div class="ui divider"></div> | ||||
|  | ||||
|   | ||||
| @@ -26,7 +26,7 @@ | ||||
| 						<div class="item"> | ||||
| 							<h3>{{.locale.Tr "repo.clone_this_repo"}} <small>{{.locale.Tr "repo.clone_helper" "http://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository" | Str2html}}</small></h3> | ||||
|  | ||||
| 							<div class="gt-df"> | ||||
| 							<div class="repo-button-row"> | ||||
| 								{{if and .CanWriteCode (not .Repository.IsArchived)}} | ||||
| 									<a class="ui small button" href="{{.RepoLink}}/_new/{{.BranchName | PathEscapeSegments}}/"> | ||||
| 										{{.locale.Tr "repo.editor.new_file"}} | ||||
| @@ -44,7 +44,7 @@ | ||||
| 						</div> | ||||
|  | ||||
| 						{{if not .Repository.IsArchived}} | ||||
| 							<div class="ui divider"></div> | ||||
| 							<div class="ui divider gt-my-0"></div> | ||||
|  | ||||
| 							<div class="item"> | ||||
| 								<h3>{{.locale.Tr "repo.create_new_repo_command"}}</h3> | ||||
|   | ||||
| @@ -71,13 +71,13 @@ | ||||
| 			{{template "repo/issue/search" .}} | ||||
| 			{{if not .Repository.IsArchived}} | ||||
| 				{{if .PageIsIssueList}} | ||||
| 					<a class="ui small green button" href="{{.RepoLink}}/issues/new{{if .NewIssueChooseTemplate}}/choose{{end}}">{{.locale.Tr "repo.issues.new"}}</a> | ||||
| 					<a class="ui small green button issue-list-new" href="{{.RepoLink}}/issues/new{{if .NewIssueChooseTemplate}}/choose{{end}}">{{.locale.Tr "repo.issues.new"}}</a> | ||||
| 				{{else}} | ||||
| 					<a class="ui small green button new-pr-button{{if not .PullRequestCtx.Allowed}} disabled{{end}}" href="{{if .PullRequestCtx.Allowed}}{{.Repository.Link}}/compare/{{.Repository.DefaultBranch | PathEscapeSegments}}...{{if ne .Repository.Owner.Name .PullRequestCtx.BaseRepo.Owner.Name}}{{PathEscape .Repository.Owner.Name}}:{{end}}{{.Repository.DefaultBranch | PathEscapeSegments}}{{end}}">{{.locale.Tr "repo.pulls.new"}}</a> | ||||
| 					<a class="ui small green button new-pr-button issue-list-new{{if not .PullRequestCtx.Allowed}} disabled{{end}}" href="{{if .PullRequestCtx.Allowed}}{{.Repository.Link}}/compare/{{.Repository.DefaultBranch | PathEscapeSegments}}...{{if ne .Repository.Owner.Name .PullRequestCtx.BaseRepo.Owner.Name}}{{PathEscape .Repository.Owner.Name}}:{{end}}{{.Repository.DefaultBranch | PathEscapeSegments}}{{end}}">{{.locale.Tr "repo.pulls.new"}}</a> | ||||
| 				{{end}} | ||||
| 			{{else}} | ||||
| 				{{if not .PageIsIssueList}} | ||||
| 					<a class="ui small green small button{{if not .PullRequestCtx.Allowed}} disabled{{end}}" href="{{if .PullRequestCtx.Allowed}}{{.PullRequestCtx.BaseRepo.Link}}/compare/{{.PullRequestCtx.BaseRepo.DefaultBranch | PathEscapeSegments}}...{{if ne .Repository.Owner.Name .PullRequestCtx.BaseRepo.Owner.Name}}{{PathEscape .Repository.Owner.Name}}:{{end}}{{.Repository.DefaultBranch | PathEscapeSegments}}{{end}}">{{$.locale.Tr "action.compare_commits_general"}}</a> | ||||
| 					<a class="ui small green small button issue-list-new{{if not .PullRequestCtx.Allowed}} disabled{{end}}" href="{{if .PullRequestCtx.Allowed}}{{.PullRequestCtx.BaseRepo.Link}}/compare/{{.PullRequestCtx.BaseRepo.DefaultBranch | PathEscapeSegments}}...{{if ne .Repository.Owner.Name .PullRequestCtx.BaseRepo.Owner.Name}}{{PathEscape .Repository.Owner.Name}}:{{end}}{{.Repository.DefaultBranch | PathEscapeSegments}}{{end}}">{{$.locale.Tr "action.compare_commits_general"}}</a> | ||||
| 				{{end}} | ||||
| 			{{end}} | ||||
| 		</div> | ||||
|   | ||||
| @@ -13,7 +13,7 @@ | ||||
| 		{{template "base/alert" .}} | ||||
|  | ||||
| 		<div class="list-header"> | ||||
| 			<div class="small-menu-items ui compact tiny menu"> | ||||
| 			<div class="small-menu-items ui compact tiny menu list-header-toggle"> | ||||
| 				<a class="item{{if not .IsShowClosed}} active{{end}}" href="{{.RepoLink}}/milestones?state=open&q={{$.Keyword}}"> | ||||
| 					{{svg "octicon-milestone" 16 "gt-mr-3"}} | ||||
| 					{{.locale.PrettyNumber .OpenCount}} {{.locale.Tr "repo.issues.open_title"}} | ||||
| @@ -53,50 +53,70 @@ | ||||
| 		</div> | ||||
|  | ||||
| 		<!-- milestone list --> | ||||
| 		<div class="milestone list"> | ||||
| 		<div class="milestone-list"> | ||||
| 			{{range .Milestones}} | ||||
| 				<li class="item"> | ||||
| 					<div class="gt-df gt-ac gt-sb"> | ||||
| 						<h3 class="gt-df gt-ac gt-m-0 gt-fw"> | ||||
| 							{{svg "octicon-milestone" 16 "gt-mr-3"}}<a class="muted" href="{{$.RepoLink}}/milestone/{{.ID}}">{{.Name}}</a> | ||||
| 				<li class="milestone-card"> | ||||
| 					<div class="milestone-header"> | ||||
| 						<h3 class="flex-text-block gt-m-0"> | ||||
| 							{{svg "octicon-milestone" 16}} | ||||
| 							<a class="muted" href="{{$.RepoLink}}/milestone/{{.ID}}">{{.Name}}</a> | ||||
| 						</h3> | ||||
| 						<div class="gt-df gt-ac"> | ||||
| 							<span class="gt-mr-3">{{.Completeness}}%</span> | ||||
| 							<progress value="{{.Completeness}}" max="100"></progress> | ||||
| 						</div> | ||||
| 					</div> | ||||
| 					<div class="meta"> | ||||
| 						{{$closedDate:= TimeSinceUnix .ClosedDateUnix $.locale}} | ||||
| 					<div class="milestone-toolbar"> | ||||
| 						<div class="group"> | ||||
| 							<div class="flex-text-block"> | ||||
| 								{{svg "octicon-issue-opened" 14}} | ||||
| 								{{$.locale.PrettyNumber .NumOpenIssues}} {{$.locale.Tr "repo.issues.open_title"}} | ||||
| 							</div> | ||||
| 							<div class="flex-text-block"> | ||||
| 								{{svg "octicon-check" 14}} | ||||
| 								{{$.locale.PrettyNumber .NumClosedIssues}} {{$.locale.Tr "repo.issues.closed_title"}} | ||||
| 							</div> | ||||
| 							{{if .TotalTrackedTime}} | ||||
| 								<div class="flex-text-block"> | ||||
| 									{{svg "octicon-clock"}} | ||||
| 									{{.TotalTrackedTime|Sec2Time}} | ||||
| 								</div> | ||||
| 							{{end}} | ||||
| 							{{if .UpdatedUnix}} | ||||
| 								<div class="flex-text-block"> | ||||
| 									{{svg "octicon-clock"}} | ||||
| 									{{$.locale.Tr "repo.milestones.update_ago" (TimeSinceUnix .UpdatedUnix $.locale) | Safe}} | ||||
| 								</div> | ||||
| 							{{end}} | ||||
| 							<div class="flex-text-block"> | ||||
| 								{{if .IsClosed}} | ||||
| 							{{svg "octicon-clock"}} {{$.locale.Tr "repo.milestones.closed" $closedDate | Safe}} | ||||
| 									{{$closedDate:= TimeSinceUnix .ClosedDateUnix $.locale}} | ||||
| 									{{svg "octicon-clock" 14}} | ||||
| 									{{$.locale.Tr "repo.milestones.closed" $closedDate | Safe}} | ||||
| 								{{else}} | ||||
| 							{{svg "octicon-calendar"}} | ||||
| 									{{svg "octicon-calendar" 14}} | ||||
| 									{{if .DeadlineString}} | ||||
| 								<span {{if .IsOverdue}}class="overdue"{{end}}>{{DateTime "short" .DeadlineString}}</span> | ||||
| 										<span {{if .IsOverdue}}class="overdue"{{end}}> | ||||
| 											{{DateTime "short" .DeadlineString}} | ||||
| 										</span> | ||||
| 									{{else}} | ||||
| 										{{$.locale.Tr "repo.milestones.no_due_date"}} | ||||
| 									{{end}} | ||||
| 								{{end}} | ||||
| 						<span class="issue-stats"> | ||||
| 							{{svg "octicon-issue-opened" 16 "gt-mr-3"}} | ||||
| 							{{$.locale.PrettyNumber .NumOpenIssues}} {{$.locale.Tr "repo.issues.open_title"}} | ||||
| 							{{svg "octicon-check" 16 "gt-mr-3"}} | ||||
| 							{{$.locale.PrettyNumber .NumClosedIssues}} {{$.locale.Tr "repo.issues.closed_title"}} | ||||
| 							{{if .TotalTrackedTime}}{{svg "octicon-clock"}} {{.TotalTrackedTime|Sec2Time}}{{end}} | ||||
| 							{{if .UpdatedUnix}}{{svg "octicon-clock"}} {{$.locale.Tr "repo.milestones.update_ago" (TimeSinceUnix .UpdatedUnix $.locale) | Safe}}{{end}} | ||||
| 						</span> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						{{if and (or $.CanWriteIssues $.CanWritePulls) (not $.Repository.IsArchived)}} | ||||
| 						<div class="ui right operate"> | ||||
| 							<a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-pencil"}} {{$.locale.Tr "repo.issues.label_edit"}}</a> | ||||
| 							<div class="group"> | ||||
| 								<a class="flex-text-inline" href="{{$.Link}}/{{.ID}}/edit">{{svg "octicon-pencil" 14}}{{$.locale.Tr "repo.issues.label_edit"}}</a> | ||||
| 								{{if .IsClosed}} | ||||
| 								<a class="link-action" href data-url="{{$.Link}}/{{.ID}}/open">{{svg "octicon-check"}} {{$.locale.Tr "repo.milestones.open"}}</a> | ||||
| 									<a class="link-action flex-text-inline" href data-url="{{$.Link}}/{{.ID}}/open">{{svg "octicon-check" 14}}{{$.locale.Tr "repo.milestones.open"}}</a> | ||||
| 								{{else}} | ||||
| 								<a class="link-action" href data-url="{{$.Link}}/{{.ID}}/close">{{svg "octicon-x"}} {{$.locale.Tr "repo.milestones.close"}}</a> | ||||
| 									<a class="link-action flex-text-inline" href data-url="{{$.Link}}/{{.ID}}/close">{{svg "octicon-x" 14}}{{$.locale.Tr "repo.milestones.close"}}</a> | ||||
| 								{{end}} | ||||
| 							<a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}">{{svg "octicon-trash"}} {{$.locale.Tr "repo.issues.label_delete"}}</a> | ||||
| 								<a class="delete-button flex-text-inline" href="#" data-url="{{$.RepoLink}}/milestones/delete">{{svg "octicon-trash" 14}}{{$.locale.Tr "repo.issues.label_delete"}}</a> | ||||
| 							</div> | ||||
| 						{{end}} | ||||
| 					</div> | ||||
| 					{{if .Content}} | ||||
| 						<div class="markup content"> | ||||
| 							{{.RenderedContent|Str2html}} | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| <h2 class="ui compact small menu header small-menu-items"> | ||||
| <h2 class="ui compact small menu header small-menu-items issue-list-navbar"> | ||||
| 	<a class="{{if .PageIsLabels}}active {{end}}item" href="{{.RepoLink}}/labels">{{.locale.Tr "repo.labels"}}</a> | ||||
| 	<a class="{{if .PageIsMilestones}}active {{end}}item" href="{{.RepoLink}}/milestones">{{.locale.Tr "repo.milestones"}}</a> | ||||
| </h2> | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| <form class="list-header-search ui form ignore-dirty"> | ||||
| <form class="list-header-search ui form ignore-dirty issue-list-search"> | ||||
| 	<div class="ui small search fluid action input"> | ||||
| 		<input type="hidden" name="type" value="{{$.ViewType}}"> | ||||
| 		<input type="hidden" name="state" value="{{$.State}}"> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| <div role="main" aria-label="{{.Title}}" class="page-content repository projects milestones"> | ||||
| 	{{template "repo/header" .}} | ||||
| 	<div class="ui container"> | ||||
| 		<div class="navbar gt-mb-4"> | ||||
| 		<div class="navbar projects-header"> | ||||
| 			<div> | ||||
| 				<div class="small-menu-items ui compact tiny menu"> | ||||
| 					<a class="item{{if not .IsShowClosed}} active{{end}}" href="{{.RepoLink}}/projects?state=open"> | ||||
| @@ -15,7 +15,7 @@ | ||||
| 					</a> | ||||
| 				</div> | ||||
| 			</div> | ||||
| 			<div> | ||||
| 			<div class="projects-toolbar"> | ||||
| 				<!-- Sort --> | ||||
| 				<div class="ui small dropdown type jump item"> | ||||
| 					<span class="text"> | ||||
| @@ -35,33 +35,36 @@ | ||||
| 		</div> | ||||
| 		{{template "base/alert" .}} | ||||
|  | ||||
| 		<div class="milestone list"> | ||||
| 		<div class="milestone-list"> | ||||
| 			{{range .Projects}} | ||||
| 				<li class="item"> | ||||
| 					{{svg .IconName}} <a href="{{.Link}}">{{.Title}}</a> | ||||
| 					<div class="meta"> | ||||
| 						{{$closedDate:= TimeSinceUnix .ClosedDateUnix $.locale}} | ||||
| 						{{if .IsClosed}} | ||||
| 							{{svg "octicon-clock"}} {{$.locale.Tr "repo.milestones.closed" $closedDate | Safe}} | ||||
| 						{{end}} | ||||
| 						<span class="issue-stats"> | ||||
| 							{{svg "octicon-issue-opened" 16 "gt-mr-3"}} | ||||
| 				<li class="milestone-card"> | ||||
| 					<h3 class="flex-text-block gt-m-0"> | ||||
| 						{{svg .IconName 16}} | ||||
| 						<a class="muted" href="{{.Link}}">{{.Title}}</a> | ||||
| 					</h3> | ||||
| 					<div class="milestone-toolbar"> | ||||
| 						<div class="group"> | ||||
| 							<div class="flex-text-block"> | ||||
| 								{{svg "octicon-issue-opened" 14}} | ||||
| 								{{$.locale.PrettyNumber .NumOpenIssues}} {{$.locale.Tr "repo.issues.open_title"}} | ||||
| 							{{svg "octicon-check" 16 "gt-mr-3"}} | ||||
| 							</div> | ||||
| 							<div class="flex-text-block"> | ||||
| 								{{svg "octicon-check" 14}} | ||||
| 								{{$.locale.PrettyNumber .NumClosedIssues}} {{$.locale.Tr "repo.issues.closed_title"}} | ||||
| 						</span> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						{{if and $.CanWriteProjects (not $.Repository.IsArchived)}} | ||||
| 					<div class="ui right operate"> | ||||
| 						<a href="{{.Link}}/edit" data-id={{.ID}} data-title={{.Title}}>{{svg "octicon-pencil"}} {{$.locale.Tr "repo.issues.label_edit"}}</a> | ||||
| 						<div class="group"> | ||||
| 							<a class="flex-text-inline" href="{{.Link}}/edit">{{svg "octicon-pencil" 14}}{{$.locale.Tr "repo.issues.label_edit"}}</a> | ||||
| 							{{if .IsClosed}} | ||||
| 							<a class="link-action" href data-url="{{.Link}}/open">{{svg "octicon-check"}} {{$.locale.Tr "repo.projects.open"}}</a> | ||||
| 								<a class="link-action flex-text-inline" href data-url="{{.Link}}/open">{{svg "octicon-check" 14}}{{$.locale.Tr "repo.projects.open"}}</a> | ||||
| 							{{else}} | ||||
| 							<a class="link-action" href data-url="{{.Link}}/close">{{svg "octicon-skip"}} {{$.locale.Tr "repo.projects.close"}}</a> | ||||
| 								<a class="link-action flex-text-inline" href data-url="{{.Link}}/close">{{svg "octicon-skip" 14}}{{$.locale.Tr "repo.projects.close"}}</a> | ||||
| 							{{end}} | ||||
| 						<a class="delete-button" href="#" data-url="{{.Link}}/delete" data-id="{{.ID}}">{{svg "octicon-trash"}} {{$.locale.Tr "repo.issues.label_delete"}}</a> | ||||
| 							<a class="delete-button flex-text-inline" href="#" data-url="{{.Link}}/delete">{{svg "octicon-trash" 14}}{{$.locale.Tr "repo.issues.label_delete"}}</a> | ||||
| 						</div> | ||||
| 						{{end}} | ||||
| 					</div> | ||||
| 					{{if .Description}} | ||||
| 					<div class="content"> | ||||
| 						{{.RenderedContent|Str2html}} | ||||
|   | ||||
| @@ -50,7 +50,7 @@ | ||||
| 			{{if and $.CanWriteProjects (not $.Repository.IsArchived)}} | ||||
| 				<div class="column right aligned"> | ||||
| 					<div class="ui compact right small menu"> | ||||
| 						<a class="item" href="{{$.RepoLink}}/projects/{{.Project.ID}}/edit?redirect=project" data-id={{$.Project.ID}} data-title={{$.Project.Title}}> | ||||
| 						<a class="item" href="{{$.RepoLink}}/projects/{{.Project.ID}}/edit?redirect=project"> | ||||
| 							{{svg "octicon-pencil"}} | ||||
| 							<span class="gt-mx-3">{{$.locale.Tr "repo.issues.label_edit"}}</span> | ||||
| 						</a> | ||||
|   | ||||
| @@ -61,7 +61,7 @@ | ||||
| 			</div> | ||||
| 			<div class="twelve wide column content"> | ||||
| 				<div class="list-header"> | ||||
| 					<div class="small-menu-items ui compact tiny menu"> | ||||
| 					<div class="small-menu-items ui compact tiny menu list-header-toggle"> | ||||
| 						<a class="item{{if not .IsShowClosed}} active{{end}}" href="{{.Link}}?type={{$.ViewType}}&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state=open&q={{$.Keyword}}"> | ||||
| 							{{svg "octicon-issue-opened" 16 "gt-mr-3"}} | ||||
| 							{{.locale.PrettyNumber .IssueStats.OpenCount}} {{.locale.Tr "repo.issues.open_title"}} | ||||
|   | ||||
| @@ -35,7 +35,7 @@ | ||||
| 			</div> | ||||
| 			<div class="twelve wide column content"> | ||||
| 				<div class="list-header"> | ||||
| 					<div class="small-menu-items ui compact tiny menu"> | ||||
| 					<div class="small-menu-items ui compact tiny menu list-header-toggle"> | ||||
| 						<a class="item{{if not .IsShowClosed}} active{{end}}" href="{{.Link}}?repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state=open&q={{$.Keyword}}"> | ||||
| 							{{svg "octicon-milestone" 16 "gt-mr-3"}} | ||||
| 							{{.locale.PrettyNumber .MilestoneStats.OpenCount}} {{.locale.Tr "repo.issues.open_title"}} | ||||
| @@ -71,52 +71,73 @@ | ||||
| 						</div> | ||||
| 					</div> | ||||
| 				</div> | ||||
| 				<div class="milestone list"> | ||||
| 				<div class="milestone-list"> | ||||
| 					{{range .Milestones}} | ||||
| 						<li class="item"> | ||||
| 							<div class="gt-df gt-ac gt-sb"> | ||||
| 								<h3 class="gt-df gt-ac gt-m-0 gt-fw"> | ||||
| 									<span class="ui large label">{{.Repo.FullName}}</span> | ||||
| 									{{svg "octicon-milestone" 16 "gt-mr-3"}}<a class="muted" href="{{.Repo.Link}}/milestone/{{.ID}}">{{.Name}}</a> | ||||
| 						<li class="milestone-card"> | ||||
| 							<div class="milestone-header"> | ||||
| 								<h3 class="flex-text-block gt-m-0"> | ||||
| 									<span class="ui large label"> | ||||
| 										{{.Repo.FullName}} | ||||
| 									</span> | ||||
| 									{{svg "octicon-milestone" 16}} | ||||
| 									<a class="muted" href="{{.Repo.Link}}/milestone/{{.ID}}">{{.Name}}</a> | ||||
| 								</h3> | ||||
| 								<div class="gt-df gt-ac"> | ||||
| 									<span class="gt-mr-3">{{.Completeness}}%</span> | ||||
| 									<progress value="{{.Completeness}}" max="100"></progress> | ||||
| 								</div> | ||||
| 							</div> | ||||
| 							<div class="meta"> | ||||
| 								{{$closedDate:= TimeSinceUnix .ClosedDateUnix $.locale}} | ||||
| 							<div class="milestone-toolbar"> | ||||
| 								<div class="group"> | ||||
| 									<div class="flex-text-block"> | ||||
| 										{{svg "octicon-issue-opened" 14}} | ||||
| 										{{$.locale.PrettyNumber .NumOpenIssues}} {{$.locale.Tr "repo.issues.open_title"}} | ||||
| 									</div> | ||||
| 									<div class="flex-text-block"> | ||||
| 										{{svg "octicon-check" 14}} | ||||
| 										{{$.locale.PrettyNumber .NumClosedIssues}} {{$.locale.Tr "repo.issues.closed_title"}} | ||||
| 									</div> | ||||
| 									{{if .TotalTrackedTime}} | ||||
| 										<div class="flex-text-block"> | ||||
| 											{{svg "octicon-clock"}} | ||||
| 											{{.TotalTrackedTime|Sec2Time}} | ||||
| 										</div> | ||||
| 									{{end}} | ||||
| 									{{if .UpdatedUnix}} | ||||
| 										<div class="flex-text-block"> | ||||
| 											{{svg "octicon-clock"}} | ||||
| 											{{$.locale.Tr "repo.milestones.update_ago" (TimeSinceUnix .UpdatedUnix $.locale) | Safe}} | ||||
| 										</div> | ||||
| 									{{end}} | ||||
| 									<div class="flex-text-block"> | ||||
| 										{{if .IsClosed}} | ||||
| 									{{svg "octicon-clock"}} {{$.locale.Tr "repo.milestones.closed" $closedDate | Safe}} | ||||
| 											{{$closedDate:= TimeSinceUnix .ClosedDateUnix $.locale}} | ||||
| 											{{svg "octicon-clock" 14}} | ||||
| 											{{$.locale.Tr "repo.milestones.closed" $closedDate | Safe}} | ||||
| 										{{else}} | ||||
| 									{{svg "octicon-calendar"}} | ||||
| 											{{svg "octicon-calendar" 14}} | ||||
| 											{{if .DeadlineString}} | ||||
| 										<span {{if .IsOverdue}}class="overdue"{{end}}>{{DateTime "short" .DeadlineString}}</span> | ||||
| 												<span {{if .IsOverdue}}class="overdue"{{end}}> | ||||
| 													{{DateTime "short" .DeadlineString}} | ||||
| 												</span> | ||||
| 											{{else}} | ||||
| 												{{$.locale.Tr "repo.milestones.no_due_date"}} | ||||
| 											{{end}} | ||||
| 										{{end}} | ||||
| 								<span class="issue-stats"> | ||||
| 									{{svg "octicon-issue-opened" 16 "gt-mr-3"}} | ||||
| 									{{$.locale.PrettyNumber .NumOpenIssues}} {{$.locale.Tr "repo.issues.open_title"}} | ||||
| 									{{svg "octicon-check" 16 "gt-mr-3"}} | ||||
| 									{{$.locale.PrettyNumber .NumClosedIssues}} {{$.locale.Tr "repo.issues.closed_title"}} | ||||
| 									{{if .TotalTrackedTime}} | ||||
| 										{{svg "octicon-clock"}} {{.TotalTrackedTime|Sec2Time}} | ||||
| 									{{end}} | ||||
| 								</span> | ||||
| 									</div> | ||||
| 								</div> | ||||
| 								{{if and (or $.CanWriteIssues $.CanWritePulls) (not $.Repository.IsArchived)}} | ||||
| 								<div class="ui right operate"> | ||||
| 									<a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-pencil"}} {{$.locale.Tr "repo.issues.label_edit"}}</a> | ||||
| 									<div class="group"> | ||||
| 										<a class="flex-text-inline" href="{{$.Link}}/{{.ID}}/edit">{{svg "octicon-pencil" 14}}{{$.locale.Tr "repo.issues.label_edit"}}</a> | ||||
| 										{{if .IsClosed}} | ||||
| 										<a href="{{$.Link}}/{{.ID}}/open" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-check"}} {{$.locale.Tr "repo.milestones.open"}}</a> | ||||
| 											<a class="link-action flex-text-inline" href data-url="{{$.Link}}/{{.ID}}/open">{{svg "octicon-check" 14}}{{$.locale.Tr "repo.milestones.open"}}</a> | ||||
| 										{{else}} | ||||
| 										<a href="{{$.Link}}/{{.ID}}/close" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-x"}} {{$.locale.Tr "repo.milestones.close"}}</a> | ||||
| 											<a class="link-action flex-text-inline" href data-url="{{$.Link}}/{{.ID}}/close">{{svg "octicon-x" 14}}{{$.locale.Tr "repo.milestones.close"}}</a> | ||||
| 										{{end}} | ||||
| 									<a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}">{{svg "octicon-trash"}} {{$.locale.Tr "repo.issues.label_delete"}}</a> | ||||
| 										<a class="delete-button flex-text-inline" href="#" data-url="{{$.RepoLink}}/milestones/delete">{{svg "octicon-trash" 14}}{{$.locale.Tr "repo.issues.label_delete"}}</a> | ||||
| 									</div> | ||||
| 								{{end}} | ||||
| 							</div> | ||||
| 							{{if .Content}} | ||||
| 								<div class="markup content"> | ||||
| 									{{.RenderedContent|Str2html}} | ||||
|   | ||||
| @@ -9,6 +9,7 @@ | ||||
| @import "./modules/comment.css"; | ||||
|  | ||||
| @import "./shared/issuelist.css"; | ||||
| @import "./shared/milestone.css"; | ||||
| @import "./shared/repoorg.css"; | ||||
| @import "./shared/settings.css"; | ||||
|  | ||||
|   | ||||
| @@ -87,6 +87,18 @@ | ||||
|   } | ||||
| } | ||||
|  | ||||
| .projects-header { | ||||
|   margin-bottom: 1rem; | ||||
|   flex-direction: column; | ||||
|   gap: 8px; | ||||
| } | ||||
|  | ||||
| .projects-toolbar { | ||||
|   display: flex; | ||||
|   justify-content: space-between; | ||||
|   padding-left: 4px; | ||||
| } | ||||
|  | ||||
| .repository .issue-content-right .menu { | ||||
|   overflow-x: auto; | ||||
|   max-height: 500px; | ||||
| @@ -225,6 +237,14 @@ | ||||
|   align-items: center; | ||||
| } | ||||
|  | ||||
| @media (max-width: 767.68px) { | ||||
|   .repository.file.list .repo-description { | ||||
|     flex-direction: column; | ||||
|     gap: 8px; | ||||
|     align-items: normal; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .repository.file.list #repo-desc { | ||||
|   font-size: 1.2em; | ||||
| } | ||||
| @@ -1167,56 +1187,6 @@ | ||||
|   margin-top: -8px; | ||||
| } | ||||
|  | ||||
| .repository .milestone.list { | ||||
|   list-style: none; | ||||
| } | ||||
|  | ||||
| .repository .milestone.list > .item { | ||||
|   padding-top: 10px; | ||||
|   padding-bottom: 10px; | ||||
| } | ||||
|  | ||||
| .repository .milestone.list > .item + .item { | ||||
|   border-top: 1px solid var(--color-secondary); | ||||
| } | ||||
|  | ||||
| .repository .milestone.list > .item progress { | ||||
|   width: 200px; | ||||
|   height: 16px; | ||||
| } | ||||
|  | ||||
| .repository .milestone.list > .item .meta { | ||||
|   color: var(--color-text-light-2); | ||||
|   padding-top: 5px; | ||||
| } | ||||
|  | ||||
| .repository .milestone.list > .item .meta .issue-stats .svg { | ||||
|   padding-left: 5px; | ||||
| } | ||||
|  | ||||
| .repository .milestone.list > .item .meta .overdue { | ||||
|   color: var(--color-red); | ||||
| } | ||||
|  | ||||
| .repository .milestone.list > .item .operate { | ||||
|   margin-top: -15px; | ||||
| } | ||||
|  | ||||
| .repository .milestone.list > .item .operate > a { | ||||
|   font-size: 15px; | ||||
|   padding-top: 5px; | ||||
|   padding-right: 10px; | ||||
|   color: var(--color-text-light-2); | ||||
| } | ||||
|  | ||||
| .repository .milestone.list > .item .operate > a:hover { | ||||
|   color: var(--color-text); | ||||
| } | ||||
|  | ||||
| .repository .milestone.list > .item .content { | ||||
|   padding-top: 10px; | ||||
| } | ||||
|  | ||||
| .repository.new.milestone textarea { | ||||
|   height: 200px; | ||||
| } | ||||
| @@ -1964,6 +1934,13 @@ | ||||
|   } | ||||
| } | ||||
|  | ||||
| .repository .activity-header { | ||||
|   display: flex; | ||||
|   justify-content: space-between; | ||||
|   gap: 8px; | ||||
|   flex-wrap: wrap; | ||||
| } | ||||
|  | ||||
| .repository.settings.collaboration .collaborator.list { | ||||
|   padding: 0; | ||||
| } | ||||
| @@ -3381,6 +3358,12 @@ tbody.commit-list { | ||||
|   margin-bottom: 8px; | ||||
| } | ||||
|  | ||||
| @media (max-width: 767.98px) { | ||||
|   #issue-pins { | ||||
|     grid-template-columns: repeat(1, 1fr); | ||||
|   } | ||||
| } | ||||
|  | ||||
| .pinned-issue-card { | ||||
|   border-radius: var(--border-radius); | ||||
|   padding: 8px 10px; | ||||
|   | ||||
| @@ -13,3 +13,23 @@ | ||||
| .issue-list-toolbar-right { | ||||
|   margin-left: auto; | ||||
| } | ||||
|  | ||||
| @media (max-width: 767.98px) { | ||||
|   .issue-list-toolbar { | ||||
|     flex-direction: column-reverse; | ||||
|   } | ||||
|   .issue-list-toolbar-right { | ||||
|     margin-right: auto; | ||||
|     width: 100%; | ||||
|   } | ||||
|   .issue-list-navbar { | ||||
|     order: 0; | ||||
|   } | ||||
|   .issue-list-new { | ||||
|     order: 1; | ||||
|     margin-left: auto !important; | ||||
|   } | ||||
|   .issue-list-search { | ||||
|     order: 2 !important; | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -8,7 +8,6 @@ | ||||
| .list-header-sort { | ||||
|   display: flex; | ||||
|   align-items: center; | ||||
|   justify-content: flex-end; | ||||
|   padding-left: 1rem; | ||||
|   padding-right: 1rem; | ||||
| } | ||||
| @@ -44,3 +43,16 @@ | ||||
| .small-menu-items .item.active { | ||||
|   background: var(--color-active) !important; | ||||
| } | ||||
|  | ||||
| @media (max-width: 767.98px) { | ||||
|   .list-header-search { | ||||
|     order: 0; | ||||
|   } | ||||
|   .list-header-toggle { | ||||
|     order: 1; | ||||
|   } | ||||
|   .list-header-sort { | ||||
|     order: 2; | ||||
|     margin-left: auto; | ||||
|   } | ||||
| } | ||||
|   | ||||
							
								
								
									
										66
									
								
								web_src/css/shared/milestone.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								web_src/css/shared/milestone.css
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| .milestone-list { | ||||
|   list-style: none; | ||||
| } | ||||
|  | ||||
| .milestone-card { | ||||
|   width: 100%; | ||||
|   padding-top: 10px; | ||||
|   padding-bottom: 10px; | ||||
| } | ||||
|  | ||||
| .milestone-card + .milestone-card { | ||||
|   border-top: 1px solid var(--color-secondary); | ||||
| } | ||||
|  | ||||
| .milestone-card .content { | ||||
|   padding-top: 10px; | ||||
| } | ||||
|  | ||||
| .milestone-header progress { | ||||
|   width: 200px; | ||||
|   height: 16px; | ||||
| } | ||||
|  | ||||
| .milestone-header { | ||||
|   display: flex; | ||||
|   align-items: center; | ||||
|   margin: 0; | ||||
|   flex-wrap: wrap; | ||||
|   justify-content: space-between; | ||||
| } | ||||
|  | ||||
| .milestone-toolbar { | ||||
|   padding-top: 5px; | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; | ||||
|   gap: 8px; | ||||
|   justify-content: space-between; | ||||
| } | ||||
|  | ||||
| .milestone-toolbar .group { | ||||
|   color: var(--color-text-light-2); | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; | ||||
|   gap: 8px; | ||||
| } | ||||
|  | ||||
| .milestone-toolbar .group .overdue { | ||||
|   color: var(--color-red); | ||||
| } | ||||
|  | ||||
| .milestone-toolbar .group > a { | ||||
|   font-size: 15px; | ||||
|   color: var(--color-text-light-2); | ||||
| } | ||||
|  | ||||
| .milestone-toolbar .group > a:hover { | ||||
|   color: var(--color-text); | ||||
| } | ||||
|  | ||||
| @media (max-width: 767.98px) { | ||||
|   .milestone-card { | ||||
|     display: flex; | ||||
|     flex-direction: column; | ||||
|     gap: 8px; | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user