Add placeholder content for empty content page (#37114)

- Empty repositories in organization

<img width="877" height="470" alt="image"
src="https://github.com/user-attachments/assets/94dc3992-1ab5-47cc-954a-8c420ec68500"
/>

- Empty projects in organization

<img width="1309" height="358" alt="image"
src="https://github.com/user-attachments/assets/94ef20c5-a6d9-4c39-9457-2a691a98d327"
/>

- Empty code search result in organization and global code search page

<img width="1312" height="345" alt="image"
src="https://github.com/user-attachments/assets/364f2a75-c68f-4302-b3b8-7ba1265622a1"
/>

- Empty worktime in organization

<img width="1301" height="357" alt="image"
src="https://github.com/user-attachments/assets/bb7f2cf8-fb95-463a-94c7-eafa63f56b2b"
/>
This commit is contained in:
Lunny Xiao
2026-04-06 10:31:51 -07:00
committed by GitHub
parent 423cdd4d94
commit dc197a0058
8 changed files with 53 additions and 2 deletions

View File

@@ -173,6 +173,8 @@
"search.org_kind": "Search orgs…",
"search.team_kind": "Search teams…",
"search.code_kind": "Search code…",
"search.code_empty": "Start a code search.",
"search.code_empty_description": "Enter a keyword to search across the code.",
"search.code_search_unavailable": "Code search is currently not available. Please contact the site administrator.",
"search.code_search_by_git_grep": "Current code search results are provided by \"git grep\". There might be better results if site administrator enables Repository Indexer.",
"search.package_kind": "Search packages…",
@@ -1357,10 +1359,13 @@
"repo.projects.desc": "Manage issues and pulls in projects.",
"repo.projects.description": "Description (optional)",
"repo.projects.description_placeholder": "Description",
"repo.projects.empty": "No projects yet.",
"repo.projects.empty_description": "Create a project to coordinate issues and pull requests.",
"repo.projects.create": "Create Project",
"repo.projects.title": "Title",
"repo.projects.new": "New Project",
"repo.projects.new_subheader": "Coordinate, track, and update your work in one place, so projects stay transparent and on schedule.",
"repo.projects.no_results": "No projects match your search.",
"repo.projects.create_success": "The project \"%s\" has been created.",
"repo.projects.deletion": "Delete Project",
"repo.projects.deletion_desc": "Deleting a project removes it from all related issues. Continue?",
@@ -2722,6 +2727,8 @@
"org.members": "Members",
"org.teams": "Teams",
"org.code": "Code",
"org.repos.empty": "No repositories yet.",
"org.repos.empty_description": "Create a repository to share code with the organization.",
"org.lower_members": "members",
"org.lower_repositories": "repositories",
"org.create_new_team": "New Team",
@@ -2858,6 +2865,8 @@
"org.worktime.date_range_end": "End date",
"org.worktime.query": "Query",
"org.worktime.time": "Time",
"org.worktime.empty": "No worktime data yet.",
"org.worktime.empty_description": "Adjust the date range to view tracked time.",
"org.worktime.by_repositories": "By repositories",
"org.worktime.by_milestones": "By milestones",
"org.worktime.by_members": "By members",

View File

@@ -9,8 +9,16 @@
<div id="readme_profile" class="render-content markup" data-profile-view-as-member="{{.IsViewingOrgAsMember}}">{{.ProfileReadmeContent}}</div>
{{end}}
{{template "shared/repo/search" .}}
{{template "shared/repo/list" .}}
{{template "base/paginate" .}}
{{if not .Repos}}
<div class="empty-placeholder">
{{svg "octicon-repo" 48}}
<h2>{{ctx.Locale.Tr "org.repos.empty"}}</h2>
<p>{{ctx.Locale.Tr "org.repos.empty_description"}}</p>
</div>
{{else}}
{{template "shared/repo/list" .}}
{{template "base/paginate" .}}
{{end}}
</div>
{{if .ShowMemberAndTeamTab}}

View File

@@ -0,0 +1,9 @@
<tr>
<td colspan="{{.Colspan}}">
<div class="empty-placeholder">
{{svg "octicon-clock" 48}}
<h2>{{ctx.Locale.Tr "org.worktime.empty"}}</h2>
<p>{{ctx.Locale.Tr "org.worktime.empty_description"}}</p>
</div>
</td>
</tr>

View File

@@ -11,6 +11,8 @@
<td>{{svg "octicon-person"}} <a href="{{AppSubUrl}}/{{PathEscape .UserName}}">{{.UserName}}</a></td>
<td>{{svg "octicon-clock"}} {{.SumTime | Sec2Hour}}</td>
</tr>
{{else}}
{{template "org/worktime/empty_placeholder" dict "Colspan" 2}}
{{end}}
</tbody>
</table>

View File

@@ -23,6 +23,8 @@
</td>
<td>{{svg "octicon-clock"}} {{.SumTime | Sec2Hour}}</td>
</tr>
{{else}}
{{template "org/worktime/empty_placeholder" dict "Colspan" 3}}
{{end}}
</tbody>
</table>

View File

@@ -11,6 +11,8 @@
<td>{{svg "octicon-repo"}} <a href="{{$.Org.HomeLink}}/{{PathEscape .RepoName}}/issues">{{.RepoName}}</a></td>
<td>{{svg "octicon-clock"}} {{.SumTime | Sec2Hour}}</td>
</tr>
{{else}}
{{template "org/worktime/empty_placeholder" dict "Colspan" 2}}
{{end}}
</tbody>
</table>

View File

@@ -75,6 +75,19 @@
<div class="render-content markup">{{.RenderedContent}}</div>
{{end}}
</li>
{{else}}
{{if and (eq .OpenCount 0) (eq .ClosedCount 0)}}
<div class="empty-placeholder">
{{svg "octicon-project-symlink" 48}}
<h2>{{ctx.Locale.Tr "repo.projects.empty"}}</h2>
<p>{{ctx.Locale.Tr "repo.projects.empty_description"}}</p>
</div>
{{else}}
<div class="empty-placeholder">
{{svg "octicon-search" 48}}
<h2>{{ctx.Locale.Tr "repo.projects.no_results"}}</h2>
</div>
{{end}}
{{end}}
{{template "base/paginate" .}}

View File

@@ -24,6 +24,12 @@
{{template "shared/search/code/results" .}}
{{else if .Keyword}}
<div>{{ctx.Locale.Tr "search.no_results"}}</div>
{{else}}
<div class="empty-placeholder">
{{svg "octicon-search" 48}}
<h2>{{ctx.Locale.Tr "search.code_empty"}}</h2>
<p>{{ctx.Locale.Tr "search.code_empty_description"}}</p>
</div>
{{end}}
{{end}}
</div>