mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Fix issue label rendering in the issue popup (#30763)
This commit is contained in:
		| @@ -121,29 +121,25 @@ func RenderIssueTitle(ctx context.Context, text string, metas map[string]string) | ||||
| // RenderLabel renders a label | ||||
| // locale is needed due to an import cycle with our context providing the `Tr` function | ||||
| func RenderLabel(ctx context.Context, locale translation.Locale, label *issues_model.Label) template.HTML { | ||||
| 	var ( | ||||
| 		archivedCSSClass string | ||||
| 		textColor        = util.ContrastColor(label.Color) | ||||
| 		labelScope       = label.ExclusiveScope() | ||||
| 	) | ||||
|  | ||||
| 	description := emoji.ReplaceAliases(template.HTMLEscapeString(label.Description)) | ||||
| 	var extraCSSClasses string | ||||
| 	textColor := util.ContrastColor(label.Color) | ||||
| 	labelScope := label.ExclusiveScope() | ||||
| 	descriptionText := emoji.ReplaceAliases(label.Description) | ||||
|  | ||||
| 	if label.IsArchived() { | ||||
| 		archivedCSSClass = "archived-label" | ||||
| 		description = fmt.Sprintf("(%s) %s", locale.TrString("archived"), description) | ||||
| 		extraCSSClasses = "archived-label" | ||||
| 		descriptionText = fmt.Sprintf("(%s) %s", locale.TrString("archived"), descriptionText) | ||||
| 	} | ||||
|  | ||||
| 	if labelScope == "" { | ||||
| 		// Regular label | ||||
| 		s := fmt.Sprintf("<div class='ui label %s' style='color: %s !important; background-color: %s !important;' data-tooltip-content title='%s'>%s</div>", | ||||
| 			archivedCSSClass, textColor, label.Color, description, RenderEmoji(ctx, label.Name)) | ||||
| 		return template.HTML(s) | ||||
| 		return HTMLFormat(`<div class="ui label %s" style="color: %s !important; background-color: %s !important;" data-tooltip-content title="%s">%s</div>`, | ||||
| 			extraCSSClasses, textColor, label.Color, descriptionText, RenderEmoji(ctx, label.Name)) | ||||
| 	} | ||||
|  | ||||
| 	// Scoped label | ||||
| 	scopeText := RenderEmoji(ctx, labelScope) | ||||
| 	itemText := RenderEmoji(ctx, label.Name[len(labelScope)+1:]) | ||||
| 	scopeHTML := RenderEmoji(ctx, labelScope) | ||||
| 	itemHTML := RenderEmoji(ctx, label.Name[len(labelScope)+1:]) | ||||
|  | ||||
| 	// Make scope and item background colors slightly darker and lighter respectively. | ||||
| 	// More contrast needed with higher luminance, empirically tweaked. | ||||
| @@ -171,14 +167,13 @@ func RenderLabel(ctx context.Context, locale translation.Locale, label *issues_m | ||||
| 	itemColor := "#" + hex.EncodeToString(itemBytes) | ||||
| 	scopeColor := "#" + hex.EncodeToString(scopeBytes) | ||||
|  | ||||
| 	s := fmt.Sprintf("<span class='ui label %s scope-parent' data-tooltip-content title='%s'>"+ | ||||
| 		"<div class='ui label scope-left' style='color: %s !important; background-color: %s !important'>%s</div>"+ | ||||
| 		"<div class='ui label scope-right' style='color: %s !important; background-color: %s !important'>%s</div>"+ | ||||
| 		"</span>", | ||||
| 		archivedCSSClass, description, | ||||
| 		textColor, scopeColor, scopeText, | ||||
| 		textColor, itemColor, itemText) | ||||
| 	return template.HTML(s) | ||||
| 	return HTMLFormat(`<span class="ui label %s scope-parent" data-tooltip-content title="%s">`+ | ||||
| 		`<div class="ui label scope-left" style="color: %s !important; background-color: %s !important">%s</div>`+ | ||||
| 		`<div class="ui label scope-right" style="color: %s !important; background-color: %s !important">%s</div>`+ | ||||
| 		`</span>`, | ||||
| 		extraCSSClasses, descriptionText, | ||||
| 		textColor, scopeColor, scopeHTML, | ||||
| 		textColor, itemColor, itemHTML) | ||||
| } | ||||
|  | ||||
| // RenderEmoji renders html text with emoji post processors | ||||
|   | ||||
		Reference in New Issue
	
	Block a user