loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Use data-tooltip-content for tippy tooltip (#23649)

Follow:
* #23574
* Remove all ".tooltip[data-content=...]"

Major changes:

* Remove "tooltip" class, use "[data-tooltip-content=...]" instead of
".tooltip[data-content=...]"
* Remove legacy `data-position`, it's dead code since last Fomantic
Tooltip -> Tippy Tooltip refactoring
* Rename reaction attribute from `data-content` to
`data-reaction-content`
* Add comments for some `data-content`: `{{/* used by the form */}}`
* Remove empty "ui" class
* Use "text color" for SVG icons (a few)

authored by

wxiaoguang and committed by
GitHub
8d5fbeb7 87f0f7e6

+209 -228
+2 -2
modules/charset/escape_stream.go
··· 168 168 169 169 if err := e.PassthroughHTMLStreamer.StartTag("span", html.Attribute{ 170 170 Key: "class", 171 - Val: "ambiguous-code-point tooltip", 171 + Val: "ambiguous-code-point", 172 172 }, html.Attribute{ 173 - Key: "data-content", 173 + Key: "data-tooltip-content", 174 174 Val: e.locale.Tr("repo.ambiguous_character", r, c), 175 175 }); err != nil { 176 176 return err
+3 -3
modules/charset/escape_test.go
··· 55 55 { 56 56 name: "hebrew", 57 57 text: "עד תקופת יוון העתיקה היה העיסוק במתמטיקה תכליתי בלבד: היא שימשה כאוסף של נוסחאות לחישוב קרקע, אוכלוסין וכו'. פריצת הדרך של היוונים, פרט לתרומותיהם הגדולות לידע המתמטי, הייתה בלימוד המתמטיקה כשלעצמה, מתוקף ערכה הרוחני. יחסם של חלק מהיוונים הקדמונים למתמטיקה היה דתי - למשל, הכת שאסף סביבו פיתגורס האמינה כי המתמטיקה היא הבסיס לכל הדברים. היוונים נחשבים ליוצרי מושג ההוכחה המתמטית, וכן לראשונים שעסקו במתמטיקה לשם עצמה, כלומר כתחום מחקרי עיוני ומופשט ולא רק כעזר שימושי. עם זאת, לצדה", 58 - result: `עד תקופת <span class="ambiguous-code-point tooltip" data-content="repo.ambiguous_character"><span class="char">י</span></span><span class="ambiguous-code-point tooltip" data-content="repo.ambiguous_character"><span class="char">ו</span></span><span class="ambiguous-code-point tooltip" data-content="repo.ambiguous_character"><span class="char">ו</span></span><span class="ambiguous-code-point tooltip" data-content="repo.ambiguous_character"><span class="char">ן</span></span> העתיקה היה העיסוק במתמטיקה תכליתי בלבד: היא שימשה כאוסף של נוסחאות לחישוב קרקע, אוכלוסין וכו&#39;. פריצת הדרך של היוונים, פרט לתרומותיהם הגדולות לידע המתמטי, הייתה בלימוד המתמטיקה כשלעצמה, מתוקף ערכה הרוחני. יחסם של חלק מהיוונים הקדמונים למתמטיקה היה דתי - למשל, הכת שאסף סביבו פיתגורס האמינה כי המתמטיקה היא הבסיס לכל הדברים. היוונים נחשבים ליוצרי מושג ההוכחה המתמטית, וכן לראשונים שעסקו במתמטיקה לשם עצמה, כלומר כתחום מחקרי עיוני ומופשט ולא רק כעזר שימושי. עם זאת, לצדה`, 58 + result: `עד תקופת <span class="ambiguous-code-point" data-tooltip-content="repo.ambiguous_character"><span class="char">י</span></span><span class="ambiguous-code-point" data-tooltip-content="repo.ambiguous_character"><span class="char">ו</span></span><span class="ambiguous-code-point" data-tooltip-content="repo.ambiguous_character"><span class="char">ו</span></span><span class="ambiguous-code-point" data-tooltip-content="repo.ambiguous_character"><span class="char">ן</span></span> העתיקה היה העיסוק במתמטיקה תכליתי בלבד: היא שימשה כאוסף של נוסחאות לחישוב קרקע, אוכלוסין וכו&#39;. פריצת הדרך של היוונים, פרט לתרומותיהם הגדולות לידע המתמטי, הייתה בלימוד המתמטיקה כשלעצמה, מתוקף ערכה הרוחני. יחסם של חלק מהיוונים הקדמונים למתמטיקה היה דתי - למשל, הכת שאסף סביבו פיתגורס האמינה כי המתמטיקה היא הבסיס לכל הדברים. היוונים נחשבים ליוצרי מושג ההוכחה המתמטית, וכן לראשונים שעסקו במתמטיקה לשם עצמה, כלומר כתחום מחקרי עיוני ומופשט ולא רק כעזר שימושי. עם זאת, לצדה`, 59 59 status: EscapeStatus{Escaped: true, HasAmbiguous: true}, 60 60 }, 61 61 { ··· 67 67 בשנים 582 לפנה"ס עד 496 לפנה"ס, בקירוב, חי מתמטיקאי חשוב במיוחד - פיתגורס. המקורות הראשוניים עליו מועטים, וההיסטוריונים מתקשים להפריד את העובדות משכבת המסתורין והאגדות שנקשרו בו. ידוע שסביבו התקבצה האסכולה הפיתגוראית מעין כת פסבדו-מתמטית שהאמינה ש"הכל מספר", או ליתר דיוק הכל ניתן לכימות, וייחסה למספרים משמעויות מיסטיות. ככל הנראה הפיתגוראים ידעו לבנות את הגופים האפלטוניים, הכירו את הממוצע האריתמטי, הממוצע הגאומטרי והממוצע ההרמוני והגיעו להישגים חשובים נוספים. ניתן לומר שהפיתגוראים גילו את היותו של השורש הריבועי של 2, שהוא גם האלכסון בריבוע שאורך צלעותיו 1, אי רציונלי, אך תגליתם הייתה למעשה רק שהקטעים "חסרי מידה משותפת", ומושג המספר האי רציונלי מאוחר יותר.[2] אזכור ראשון לקיומם של קטעים חסרי מידה משותפת מופיע בדיאלוג "תאיטיטוס" של אפלטון, אך רעיון זה היה מוכר עוד קודם לכן, במאה החמישית לפנה"ס להיפאסוס, בן האסכולה הפיתגוראית, ואולי לפיתגורס עצמו.[3]`, 68 68 result: `בתקופה מאוחרת יותר, השתמשו היוונים בשיטת סימון מתקדמת יותר, שבה הוצגו המספרים לפי 22 אותיות האלפבית היווני. לסימון המספרים בין 1 ל-9 נקבעו תשע האותיות הראשונות, בתוספת גרש ( &#39; ) בצד ימין של האות, למעלה; תשע האותיות הבאות ייצגו את העשרות מ-10 עד 90, והבאות את המאות. לסימון הספרות בין 1000 ל-900,000, השתמשו היוונים באותן אותיות, אך הוסיפו לאותיות את הגרש דווקא מצד שמאל של האותיות, למטה. ממיליון ומעלה, כנראה השתמשו היוונים בשני תגים במקום אחד. 69 69 70 - המתמטיקאי הבולט הראשון ביוון העתיקה, ויש האומרים בתולדות האנושות, הוא תאלס (624 לפנה&#34;<span class="ambiguous-code-point tooltip" data-content="repo.ambiguous_character"><span class="char">ס</span></span> - 546 לפנה&#34;<span class="ambiguous-code-point tooltip" data-content="repo.ambiguous_character"><span class="char">ס</span></span> בקירוב).[1] לא יהיה זה משולל יסוד להניח שהוא האדם הראשון שהוכיח משפט מתמטי, ולא רק גילה אותו. תאלס הוכיח שישרים מקבילים חותכים מצד אחד של שוקי זווית קטעים בעלי יחסים שווים (משפט תאלס הראשון), שהזווית המונחת על קוטר במעגל היא זווית ישרה (משפט תאלס השני), שהקוטר מחלק את המעגל לשני חלקים שווים, ושזוויות הבסיס במשולש שווה-שוקיים שוות זו לזו. מיוחסות לו גם שיטות למדידת גובהן של הפירמידות בעזרת מדידת צילן ולקביעת מיקומה של ספינה הנראית מן החוף. 70 + המתמטיקאי הבולט הראשון ביוון העתיקה, ויש האומרים בתולדות האנושות, הוא תאלס (624 לפנה&#34;<span class="ambiguous-code-point" data-tooltip-content="repo.ambiguous_character"><span class="char">ס</span></span> - 546 לפנה&#34;<span class="ambiguous-code-point" data-tooltip-content="repo.ambiguous_character"><span class="char">ס</span></span> בקירוב).[1] לא יהיה זה משולל יסוד להניח שהוא האדם הראשון שהוכיח משפט מתמטי, ולא רק גילה אותו. תאלס הוכיח שישרים מקבילים חותכים מצד אחד של שוקי זווית קטעים בעלי יחסים שווים (משפט תאלס הראשון), שהזווית המונחת על קוטר במעגל היא זווית ישרה (משפט תאלס השני), שהקוטר מחלק את המעגל לשני חלקים שווים, ושזוויות הבסיס במשולש שווה-שוקיים שוות זו לזו. מיוחסות לו גם שיטות למדידת גובהן של הפירמידות בעזרת מדידת צילן ולקביעת מיקומה של ספינה הנראית מן החוף. 71 71 72 - בשנים 582 לפנה&#34;<span class="ambiguous-code-point tooltip" data-content="repo.ambiguous_character"><span class="char">ס</span></span> עד 496 לפנה&#34;<span class="ambiguous-code-point tooltip" data-content="repo.ambiguous_character"><span class="char">ס</span></span>, בקירוב, חי מתמטיקאי חשוב במיוחד - פיתגורס. המקורות הראשוניים עליו מועטים, וההיסטוריונים מתקשים להפריד את העובדות משכבת המסתורין והאגדות שנקשרו בו. ידוע שסביבו התקבצה האסכולה הפיתגוראית מעין כת פסבדו-מתמטית שהאמינה ש&#34;הכל מספר&#34;, או ליתר דיוק הכל ניתן לכימות, וייחסה למספרים משמעויות מיסטיות. ככל הנראה הפיתגוראים ידעו לבנות את הגופים האפלטוניים, הכירו את הממוצע האריתמטי, הממוצע הגאומטרי והממוצע ההרמוני והגיעו להישגים חשובים נוספים. ניתן לומר שהפיתגוראים גילו את היותו של השורש הריבועי של 2, שהוא גם האלכסון בריבוע שאורך צלעותיו 1, אי רציונלי, אך תגליתם הייתה למעשה רק שהקטעים &#34;חסרי מידה משותפת&#34;, ומושג המספר האי רציונלי מאוחר יותר.[2] אזכור ראשון לקיומם של קטעים חסרי מידה משותפת מופיע בדיאלוג &#34;תאיטיטוס&#34; של אפלטון, אך רעיון זה היה מוכר עוד קודם לכן, במאה החמישית לפנה&#34;<span class="ambiguous-code-point tooltip" data-content="repo.ambiguous_character"><span class="char">ס</span></span> להיפאסוס, בן האסכולה הפיתגוראית, ואולי לפיתגורס עצמו.[3]`, 72 + בשנים 582 לפנה&#34;<span class="ambiguous-code-point" data-tooltip-content="repo.ambiguous_character"><span class="char">ס</span></span> עד 496 לפנה&#34;<span class="ambiguous-code-point" data-tooltip-content="repo.ambiguous_character"><span class="char">ס</span></span>, בקירוב, חי מתמטיקאי חשוב במיוחד - פיתגורס. המקורות הראשוניים עליו מועטים, וההיסטוריונים מתקשים להפריד את העובדות משכבת המסתורין והאגדות שנקשרו בו. ידוע שסביבו התקבצה האסכולה הפיתגוראית מעין כת פסבדו-מתמטית שהאמינה ש&#34;הכל מספר&#34;, או ליתר דיוק הכל ניתן לכימות, וייחסה למספרים משמעויות מיסטיות. ככל הנראה הפיתגוראים ידעו לבנות את הגופים האפלטוניים, הכירו את הממוצע האריתמטי, הממוצע הגאומטרי והממוצע ההרמוני והגיעו להישגים חשובים נוספים. ניתן לומר שהפיתגוראים גילו את היותו של השורש הריבועי של 2, שהוא גם האלכסון בריבוע שאורך צלעותיו 1, אי רציונלי, אך תגליתם הייתה למעשה רק שהקטעים &#34;חסרי מידה משותפת&#34;, ומושג המספר האי רציונלי מאוחר יותר.[2] אזכור ראשון לקיומם של קטעים חסרי מידה משותפת מופיע בדיאלוג &#34;תאיטיטוס&#34; של אפלטון, אך רעיון זה היה מוכר עוד קודם לכן, במאה החמישית לפנה&#34;<span class="ambiguous-code-point" data-tooltip-content="repo.ambiguous_character"><span class="char">ס</span></span> להיפאסוס, בן האסכולה הפיתגוראית, ואולי לפיתגורס עצמו.[3]`, 73 73 status: EscapeStatus{Escaped: true, HasAmbiguous: true}, 74 74 }, 75 75 {
+2 -2
modules/timeutil/since.go
··· 233 233 } 234 234 235 235 func htmlTimeSince(then, now time.Time, lang translation.Locale) template.HTML { 236 - return template.HTML(fmt.Sprintf(`<span class="time-since tooltip" data-content="%s" data-tooltip-interactive="true">%s</span>`, 236 + return template.HTML(fmt.Sprintf(`<span class="time-since" data-tooltip-content="%s" data-tooltip-interactive="true">%s</span>`, 237 237 then.In(setting.DefaultUILocation).Format(GetTimeFormat(lang.Language())), 238 238 timeSince(then, now, lang))) 239 239 } ··· 244 244 } 245 245 246 246 func htmlTimeSinceUnix(then, now TimeStamp, lang translation.Locale) template.HTML { 247 - return template.HTML(fmt.Sprintf(`<span class="time-since tooltip" data-content="%s" data-tooltip-interactive="true">%s</span>`, 247 + return template.HTML(fmt.Sprintf(`<span class="time-since" data-tooltip-content="%s" data-tooltip-interactive="true">%s</span>`, 248 248 then.FormatInLocation(GetTimeFormat(lang.Language()), setting.DefaultUILocation), 249 249 timeSinceUnix(int64(then), int64(now), lang))) 250 250 }
+1 -1
modules/timeutil/since_test.go
··· 119 119 // test that `diff` yields a result containing `expected` 120 120 test := func(expected string, diff time.Duration) { 121 121 actual := htmlTimeSince(BaseDate, BaseDate.Add(diff), translation.NewLocale("en-US")) 122 - assert.Contains(t, actual, `data-content="Sat Jan 1 00:00:00 UTC 2000"`) 122 + assert.Contains(t, actual, `data-tooltip-content="Sat Jan 1 00:00:00 UTC 2000"`) 123 123 assert.Contains(t, actual, expected) 124 124 } 125 125 test("1 second", time.Second)
+2 -2
templates/admin/auth/list.tmpl
··· 29 29 <td><a href="{{AppSubUrl}}/admin/auths/{{.ID}}">{{.Name}}</a></td> 30 30 <td>{{.TypeName}}</td> 31 31 <td>{{if .IsActive}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td> 32 - <td><span class="tooltip" data-content="{{.UpdatedUnix.FormatShort}}"><time data-format="short-date" datetime="{{.UpdatedUnix.FormatLong}}">{{.UpdatedUnix.FormatShort}}</time></span></td> 33 - <td><span class="tooltip" data-content="{{.CreatedUnix.FormatLong}}"><time data-format="short-date" datetime="{{.CreatedUnix.FormatLong}}">{{.CreatedUnix.FormatShort}}</time></span></td> 32 + <td><span data-tooltip-content="{{.UpdatedUnix.FormatShort}}"><time data-format="short-date" datetime="{{.UpdatedUnix.FormatLong}}">{{.UpdatedUnix.FormatShort}}</time></span></td> 33 + <td><span data-tooltip-content="{{.CreatedUnix.FormatLong}}"><time data-format="short-date" datetime="{{.CreatedUnix.FormatLong}}">{{.CreatedUnix.FormatShort}}</time></span></td> 34 34 <td><a href="{{AppSubUrl}}/admin/auths/{{.ID}}">{{svg "octicon-pencil"}}</a></td> 35 35 </tr> 36 36 {{end}}
+1 -1
templates/admin/cron.tmpl
··· 24 24 <td>{{DateFmtLong .Next}}</td> 25 25 <td>{{if gt .Prev.Year 1}}{{DateFmtLong .Prev}}{{else}}N/A{{end}}</td> 26 26 <td>{{.ExecTimes}}</td> 27 - <td {{if ne .Status ""}}class="tooltip" data-content="{{.FormatLastMessage $.locale}}"{{end}} >{{if eq .Status ""}}—{{else if eq .Status "finished"}}{{svg "octicon-check" 16}}{{else}}{{svg "octicon-x" 16}}{{end}}</td> 27 + <td {{if ne .Status ""}}data-tooltip-content="{{.FormatLastMessage $.locale}}"{{end}} >{{if eq .Status ""}}—{{else if eq .Status "finished"}}{{svg "octicon-check" 16}}{{else}}{{svg "octicon-x" 16}}{{end}}</td> 28 28 </tr> 29 29 {{end}} 30 30 </tbody>
+1 -1
templates/admin/notice.tmpl
··· 29 29 <td>{{.ID}}</td> 30 30 <td>{{$.locale.Tr .TrStr}}</td> 31 31 <td class="view-detail"><span class="notice-description text truncate">{{.Description}}</span></td> 32 - <td><span class="notice-created-time tooltip" data-content="{{.CreatedUnix.AsTime}}"><time data-format="short-date" datetime="{{.CreatedUnix.FormatLong}}">{{.CreatedUnix.FormatShort}}</time></span></td> 32 + <td><span class="notice-created-time" data-tooltip-content="{{.CreatedUnix.AsTime}}"><time data-format="short-date" datetime="{{.CreatedUnix.FormatLong}}">{{.CreatedUnix.FormatShort}}</time></span></td> 33 33 <td><a href="#">{{svg "octicon-note" 16 "view-detail"}}</a></td> 34 34 </tr> 35 35 {{end}}
+4 -4
templates/admin/user/edit.tmpl
··· 45 45 <div class="menu"> 46 46 {{range $mode := .AllowedUserVisibilityModes}} 47 47 {{if $mode.IsPublic}} 48 - <div class="item tooltip" data-content="{{$.locale.Tr "settings.visibility.public_tooltip"}}" data-value="0">{{$.locale.Tr "settings.visibility.public"}}</div> 48 + <div class="item" data-tooltip-content="{{$.locale.Tr "settings.visibility.public_tooltip"}}" data-value="0">{{$.locale.Tr "settings.visibility.public"}}</div> 49 49 {{else if $mode.IsLimited}} 50 - <div class="item tooltip" data-content="{{$.locale.Tr "settings.visibility.limited_tooltip"}}" data-value="1">{{$.locale.Tr "settings.visibility.limited"}}</div> 50 + <div class="item" data-tooltip-content="{{$.locale.Tr "settings.visibility.limited_tooltip"}}" data-value="1">{{$.locale.Tr "settings.visibility.limited"}}</div> 51 51 {{else if $mode.IsPrivate}} 52 - <div class="item tooltip" data-content="{{$.locale.Tr "settings.visibility.private_tooltip"}}" data-value="2">{{$.locale.Tr "settings.visibility.private"}}</div> 52 + <div class="item" data-tooltip-content="{{$.locale.Tr "settings.visibility.private_tooltip"}}" data-value="2">{{$.locale.Tr "settings.visibility.private"}}</div> 53 53 {{end}} 54 54 {{end}} 55 55 </div> ··· 117 117 </div> 118 118 </div> 119 119 <div class="inline field {{if DisableGitHooks}}gt-hidden{{end}}"> 120 - <div class="ui checkbox tooltip" data-content="{{.locale.Tr "admin.users.allow_git_hook_tooltip"}}"> 120 + <div class="ui checkbox" data-tooltip-content="{{.locale.Tr "admin.users.allow_git_hook_tooltip"}}"> 121 121 <label><strong>{{.locale.Tr "admin.users.allow_git_hook"}}</strong></label> 122 122 <input name="allow_git_hook" type="checkbox" {{if .User.CanEditGitHook}}checked{{end}} {{if DisableGitHooks}}disabled{{end}}> 123 123 </div>
+3 -3
templates/admin/user/new.tmpl
··· 39 39 <div class="menu"> 40 40 {{range $mode := .AllowedUserVisibilityModes}} 41 41 {{if $mode.IsPublic}} 42 - <div class="item tooltip" data-content="{{$.locale.Tr "settings.visibility.public_tooltip"}}" data-value="0">{{$.locale.Tr "settings.visibility.public"}}</div> 42 + <div class="item" data-tooltip-content="{{$.locale.Tr "settings.visibility.public_tooltip"}}" data-value="0">{{$.locale.Tr "settings.visibility.public"}}</div> 43 43 {{else if $mode.IsLimited}} 44 - <div class="item tooltip" data-content="{{$.locale.Tr "settings.visibility.limited_tooltip"}}" data-value="1">{{$.locale.Tr "settings.visibility.limited"}}</div> 44 + <div class="item" data-tooltip-content="{{$.locale.Tr "settings.visibility.limited_tooltip"}}" data-value="1">{{$.locale.Tr "settings.visibility.limited"}}</div> 45 45 {{else if $mode.IsPrivate}} 46 - <div class="item tooltip" data-content="{{$.locale.Tr "settings.visibility.private_tooltip"}}" data-value="2">{{$.locale.Tr "settings.visibility.private"}}</div> 46 + <div class="item" data-tooltip-content="{{$.locale.Tr "settings.visibility.private_tooltip"}}" data-value="2">{{$.locale.Tr "settings.visibility.private"}}</div> 47 47 {{end}} 48 48 {{end}} 49 49 </div>
+9 -11
templates/base/head_navbar.tmpl
··· 9 9 </a> 10 10 <div class="gt-df gt-ac"> 11 11 {{if .IsSigned}} 12 - <a href="{{AppSubUrl}}/notifications" class="tooltip mobile-only gt-mr-4 gt-mt-3" data-content="{{.locale.Tr "notifications"}}" aria-label="{{.locale.Tr "notifications"}}"> 12 + <a href="{{AppSubUrl}}/notifications" class="mobile-only gt-mr-4 gt-mt-3" data-tooltip-content="{{.locale.Tr "notifications"}}" aria-label="{{.locale.Tr "notifications"}}"> 13 13 <span class="fitted item"> 14 14 {{svg "octicon-bell"}} 15 15 <span class="notification_count{{if not $notificationUnreadCount}} gt-hidden{{end}}"> ··· 57 57 58 58 {{if and .IsSigned .MustChangePassword}} 59 59 <div class="right stackable menu"> 60 - <div class="ui dropdown jump item tooltip" tabindex="-1" data-content="{{.locale.Tr "user_profile_and_more"}}"> 60 + <div class="ui dropdown jump item" tabindex="-1" data-tooltip-content="{{.locale.Tr "user_profile_and_more"}}"> 61 61 <span class="text"> 62 62 {{avatar $.Context .SignedUser 24 "tiny"}} 63 63 <span class="sr-only">{{.locale.Tr "user_profile_and_more"}}</span> ··· 100 100 {{.CsrfTokenHtml}} 101 101 <button 102 102 type="submit" 103 - class="ui button mini compact basic icon fitted tooltip" 104 - data-content="{{.locale.Tr "repo.issues.stop_tracking"}}" 105 - data-position="top right" 103 + class="ui button mini compact basic icon fitted" 104 + data-tooltip-content="{{.locale.Tr "repo.issues.stop_tracking"}}" 106 105 >{{svg "octicon-square-fill"}}</button> 107 106 </form> 108 107 <form class="stopwatch-cancel" method="POST" action="{{.ActiveStopwatch.IssueLink}}/times/stopwatch/cancel"> 109 108 {{.CsrfTokenHtml}} 110 109 <button 111 110 type="submit" 112 - class="ui button mini compact basic icon fitted tooltip" 113 - data-content="{{.locale.Tr "repo.issues.cancel_tracking"}}" 114 - data-position="top right" 111 + class="ui button mini compact basic icon fitted" 112 + data-tooltip-content="{{.locale.Tr "repo.issues.cancel_tracking"}}" 115 113 >{{svg "octicon-trash"}}</button> 116 114 </form> 117 115 </div> 118 116 </div> 119 117 {{end}} 120 118 121 - <a href="{{AppSubUrl}}/notifications" class="item tooltip not-mobile gt-mx-0" data-content="{{.locale.Tr "notifications"}}" aria-label="{{.locale.Tr "notifications"}}"> 119 + <a href="{{AppSubUrl}}/notifications" class="item not-mobile gt-mx-0" data-tooltip-content="{{.locale.Tr "notifications"}}" aria-label="{{.locale.Tr "notifications"}}"> 122 120 <span class="fitted item"> 123 121 {{svg "octicon-bell"}} 124 122 <span class="notification_count{{if not $notificationUnreadCount}} gt-hidden{{end}}"> ··· 127 125 </span> 128 126 </a> 129 127 130 - <div class="ui dropdown jump item tooltip gt-mx-0" data-content="{{.locale.Tr "create_new"}}"> 128 + <div class="ui dropdown jump item gt-mx-0" data-tooltip-content="{{.locale.Tr "create_new"}}"> 131 129 <span class="text"> 132 130 <span class="fitted">{{svg "octicon-plus"}}</span> 133 131 <span class="sr-mobile-only">{{.locale.Tr "create_new"}}</span> ··· 150 148 </div><!-- end content create new menu --> 151 149 </div><!-- end dropdown menu create new --> 152 150 153 - <div class="ui dropdown jump item tooltip gt-mx-0" data-content="{{.locale.Tr "user_profile_and_more"}}"> 151 + <div class="ui dropdown jump item gt-mx-0" data-tooltip-content="{{.locale.Tr "user_profile_and_more"}}"> 154 152 <span class="text"> 155 153 {{avatar $.Context .SignedUser 24 "tiny"}} 156 154 <span class="sr-only">{{.locale.Tr "user_profile_and_more"}}</span>
+3 -3
templates/code/searchform.tmpl
··· 1 1 <form class="ui form ignore-dirty" style="max-width: 100%"> 2 2 <div class="ui fluid action input"> 3 3 <input name="q" value="{{.Keyword}}"{{if .CodeIndexerUnavailable}} disabled{{end}} placeholder="{{.locale.Tr "explore.search"}}…" autofocus> 4 - <div class="ui dropdown selection tooltip{{if .CodeIndexerUnavailable}} disabled{{end}}" data-content="{{.locale.Tr "explore.search.type.tooltip"}}"> 4 + <div class="ui dropdown selection {{if .CodeIndexerUnavailable}} disabled{{end}}" data-tooltip-content="{{.locale.Tr "explore.search.type.tooltip"}}"> 5 5 <input name="t" type="hidden" value="{{.queryType}}"{{if .CodeIndexerUnavailable}} disabled{{end}}>{{svg "octicon-triangle-down" 14 "dropdown icon"}} 6 6 <div class="text">{{.locale.Tr (printf "explore.search.%s" (or .queryType "fuzzy"))}}</div> 7 7 <div class="menu"> 8 - <div class="item tooltip" data-value="" data-content="{{.locale.Tr "explore.search.fuzzy.tooltip"}}">{{.locale.Tr "explore.search.fuzzy"}}</div> 9 - <div class="item tooltip" data-value="match" data-content="{{.locale.Tr "explore.search.match.tooltip"}}">{{.locale.Tr "explore.search.match"}}</div> 8 + <div class="item" data-value="" data-tooltip-content="{{.locale.Tr "explore.search.fuzzy.tooltip"}}">{{.locale.Tr "explore.search.fuzzy"}}</div> 9 + <div class="item" data-value="match" data-tooltip-content="{{.locale.Tr "explore.search.match.tooltip"}}">{{.locale.Tr "explore.search.match"}}</div> 10 10 </div> 11 11 </div> 12 12 <button class="ui primary button"{{if .CodeIndexerUnavailable}} disabled{{end}}>{{.locale.Tr "explore.search"}}</button>
+2 -2
templates/explore/repo_list.tmpl
··· 32 32 {{end}} 33 33 {{end}} 34 34 {{if .IsFork}} 35 - <span class="tooltip gt-df" data-content="{{$.locale.Tr "repo.fork"}}" data-position="bottom center">{{svg "octicon-repo-forked"}}</span> 35 + <span class="gt-df" data-tooltip-content="{{$.locale.Tr "repo.fork"}}">{{svg "octicon-repo-forked"}}</span> 36 36 {{else if .IsMirror}} 37 - <span class="tooltip gt-df" data-content="{{$.locale.Tr "mirror"}}" data-position="bottom center">{{svg "octicon-mirror"}}</span> 37 + <span class="gt-df" data-tooltip-content="{{$.locale.Tr "mirror"}}">{{svg "octicon-mirror"}}</span> 38 38 {{end}} 39 39 </div> 40 40 </div>
+1 -1
templates/explore/repo_search.tmpl
··· 31 31 </form> 32 32 {{if .OnlyShowRelevant}} 33 33 <div class="ui message explore-relevancy-note"> 34 - <span class="ui tooltip" data-content="{{.locale.Tr "explore.relevant_repositories_tooltip"}}">{{.locale.Tr "explore.relevant_repositories" ((printf "%s%s" $.Link "?no_filter=1")|Escape) | Safe}}</span> 34 + <span data-tooltip-content="{{.locale.Tr "explore.relevant_repositories_tooltip"}}">{{.locale.Tr "explore.relevant_repositories" ((printf "%s%s" $.Link "?no_filter=1")|Escape) | Safe}}</span> 35 35 </div> 36 36 {{end}} 37 37 <div class="ui divider"></div>
+12 -12
templates/install.tmpl
··· 221 221 </summary> 222 222 <div class="inline field"> 223 223 <div class="ui checkbox" id="offline-mode"> 224 - <label class="tooltip" data-content="{{.locale.Tr "install.offline_mode_popup"}}">{{.locale.Tr "install.offline_mode"}}</label> 224 + <label data-tooltip-content="{{.locale.Tr "install.offline_mode_popup"}}">{{.locale.Tr "install.offline_mode"}}</label> 225 225 <input name="offline_mode" type="checkbox" {{if .offline_mode}}checked{{end}}> 226 226 </div> 227 227 </div> 228 228 <div class="inline field"> 229 229 <div class="ui checkbox" id="disable-gravatar"> 230 - <label class="tooltip" data-content="{{.locale.Tr "install.disable_gravatar_popup"}}">{{.locale.Tr "install.disable_gravatar"}}</label> 230 + <label data-tooltip-content="{{.locale.Tr "install.disable_gravatar_popup"}}">{{.locale.Tr "install.disable_gravatar"}}</label> 231 231 <input name="disable_gravatar" type="checkbox" {{if .disable_gravatar}}checked{{end}}> 232 232 </div> 233 233 </div> 234 234 <div class="inline field"> 235 235 <div class="ui checkbox" id="federated-avatar-lookup"> 236 - <label class="tooltip" data-content="{{.locale.Tr "install.federated_avatar_lookup_popup"}}">{{.locale.Tr "install.federated_avatar_lookup"}}</label> 236 + <label data-tooltip-content="{{.locale.Tr "install.federated_avatar_lookup_popup"}}">{{.locale.Tr "install.federated_avatar_lookup"}}</label> 237 237 <input name="enable_federated_avatar" type="checkbox" {{if .enable_federated_avatar}}checked{{end}}> 238 238 </div> 239 239 </div> 240 240 <div class="inline field"> 241 241 <div class="ui checkbox" id="enable-openid-signin"> 242 - <label class="tooltip" data-content="{{.locale.Tr "install.openid_signin_popup"}}">{{.locale.Tr "install.openid_signin"}}</label> 242 + <label data-tooltip-content="{{.locale.Tr "install.openid_signin_popup"}}">{{.locale.Tr "install.openid_signin"}}</label> 243 243 <input name="enable_open_id_sign_in" type="checkbox" {{if .enable_open_id_sign_in}}checked{{end}}> 244 244 </div> 245 245 </div> 246 246 <div class="inline field"> 247 247 <div class="ui checkbox" id="disable-registration"> 248 - <label class="tooltip" data-content="{{.locale.Tr "install.disable_registration_popup"}}">{{.locale.Tr "install.disable_registration"}}</label> 248 + <label data-tooltip-content="{{.locale.Tr "install.disable_registration_popup"}}">{{.locale.Tr "install.disable_registration"}}</label> 249 249 <input name="disable_registration" type="checkbox" {{if .disable_registration}}checked{{end}}> 250 250 </div> 251 251 </div> 252 252 <div class="inline field"> 253 253 <div class="ui checkbox" id="allow-only-external-registration"> 254 - <label class="tooltip" data-content="{{.locale.Tr "install.allow_only_external_registration_popup"}}">{{.locale.Tr "install.allow_only_external_registration_popup"}}</label> 254 + <label data-tooltip-content="{{.locale.Tr "install.allow_only_external_registration_popup"}}">{{.locale.Tr "install.allow_only_external_registration_popup"}}</label> 255 255 <input name="allow_only_external_registration" type="checkbox" {{if .allow_only_external_registration}}checked{{end}}> 256 256 </div> 257 257 </div> 258 258 <div class="inline field"> 259 259 <div class="ui checkbox" id="enable-openid-signup"> 260 - <label class="tooltip" data-content="{{.locale.Tr "install.openid_signup_popup"}}">{{.locale.Tr "install.openid_signup"}}</label> 260 + <label data-tooltip-content="{{.locale.Tr "install.openid_signup_popup"}}">{{.locale.Tr "install.openid_signup"}}</label> 261 261 <input name="enable_open_id_sign_up" type="checkbox" {{if .enable_open_id_sign_up}}checked{{end}}> 262 262 </div> 263 263 </div> 264 264 <div class="inline field"> 265 265 <div class="ui checkbox" id="enable-captcha"> 266 - <label class="tooltip" data-content="{{.locale.Tr "install.enable_captcha_popup"}}">{{.locale.Tr "install.enable_captcha"}}</label> 266 + <label data-tooltip-content="{{.locale.Tr "install.enable_captcha_popup"}}">{{.locale.Tr "install.enable_captcha"}}</label> 267 267 <input name="enable_captcha" type="checkbox" {{if .enable_captcha}}checked{{end}}> 268 268 </div> 269 269 </div> 270 270 <div class="inline field"> 271 271 <div class="ui checkbox"> 272 - <label class="tooltip" data-content="{{.locale.Tr "install.require_sign_in_view_popup"}}">{{.locale.Tr "install.require_sign_in_view"}}</label> 272 + <label data-tooltip-content="{{.locale.Tr "install.require_sign_in_view_popup"}}">{{.locale.Tr "install.require_sign_in_view"}}</label> 273 273 <input name="require_sign_in_view" type="checkbox" {{if .require_sign_in_view}}checked{{end}}> 274 274 </div> 275 275 </div> 276 276 <div class="inline field"> 277 277 <div class="ui checkbox"> 278 - <label class="tooltip" data-content="{{.locale.Tr "install.default_keep_email_private_popup"}}">{{.locale.Tr "install.default_keep_email_private"}}</label> 278 + <label data-tooltip-content="{{.locale.Tr "install.default_keep_email_private_popup"}}">{{.locale.Tr "install.default_keep_email_private"}}</label> 279 279 <input name="default_keep_email_private" type="checkbox" {{if .default_keep_email_private}}checked{{end}}> 280 280 </div> 281 281 </div> 282 282 <div class="inline field"> 283 283 <div class="ui checkbox"> 284 - <label class="tooltip" data-content="{{.locale.Tr "install.default_allow_create_organization_popup"}}">{{.locale.Tr "install.default_allow_create_organization"}}</label> 284 + <label data-tooltip-content="{{.locale.Tr "install.default_allow_create_organization_popup"}}">{{.locale.Tr "install.default_allow_create_organization"}}</label> 285 285 <input name="default_allow_create_organization" type="checkbox" {{if .default_allow_create_organization}}checked{{end}}> 286 286 </div> 287 287 </div> 288 288 <div class="inline field"> 289 289 <div class="ui checkbox"> 290 - <label class="tooltip" data-content="{{.locale.Tr "install.default_enable_timetracking_popup"}}">{{.locale.Tr "install.default_enable_timetracking"}}</label> 290 + <label data-tooltip-content="{{.locale.Tr "install.default_enable_timetracking_popup"}}">{{.locale.Tr "install.default_enable_timetracking"}}</label> 291 291 <input name="default_enable_timetracking" type="checkbox" {{if .default_enable_timetracking}}checked{{end}}> 292 292 </div> 293 293 </div>
+3 -7
templates/org/home.tmpl
··· 6 6 <div class="ui header"> 7 7 {{.Org.DisplayName}} 8 8 {{if .EnableFeed}} 9 - <a href="{{.Org.HomeLink}}.rss"><i class="ui grey icon tooltip gt-ml-3" data-content="{{.locale.Tr "rss_feed"}}" data-position="top center">{{svg "octicon-rss" 36}}</i></a> 9 + <a href="{{.Org.HomeLink}}.rss"><i class="ui grey icon gt-ml-3" data-tooltip-content="{{.locale.Tr "rss_feed"}}">{{svg "octicon-rss" 36}}</i></a> 10 10 {{end}} 11 11 <span class="org-visibility"> 12 12 {{if .Org.Visibility.IsLimited}}<div class="ui large basic horizontal label">{{.locale.Tr "org.settings.visibility.limited_shortname"}}</div>{{end}} ··· 43 43 {{end}} 44 44 <h4 class="ui top attached header gt-df"> 45 45 <strong class="gt-f1">{{.locale.Tr "org.members"}}</strong> 46 - <div class="ui"> 47 - <a class="text grey gt-dif gt-ac" href="{{.OrgLink}}/members"><span>{{.MembersTotal}}</span> {{svg "octicon-chevron-right"}}</a> 48 - </div> 46 + <a class="text grey gt-dif gt-ac" href="{{.OrgLink}}/members"><span>{{.MembersTotal}}</span> {{svg "octicon-chevron-right"}}</a> 49 47 </h4> 50 48 <div class="ui attached segment members"> 51 49 {{$isMember := .IsOrganizationMember}} ··· 61 59 {{if .IsOrganizationMember}} 62 60 <div class="ui top attached header gt-df"> 63 61 <strong class="gt-f1">{{.locale.Tr "org.teams"}}</strong> 64 - <div class="ui"> 65 - <a class="text grey gt-dif gt-ac" href="{{.OrgLink}}/teams"><span>{{.Org.NumTeams}}</span> {{svg "octicon-chevron-right"}}</a> 66 - </div> 62 + <a class="text grey gt-dif gt-ac" href="{{.OrgLink}}/teams"><span>{{.Org.NumTeams}}</span> {{svg "octicon-chevron-right"}}</a> 67 63 </div> 68 64 <div class="ui attached table segment teams"> 69 65 {{range .Teams}}
+6 -6
templates/org/team/new.tmpl
··· 78 78 <tr> 79 79 <th>{{.locale.Tr "units.unit"}}</th> 80 80 <th class="center aligned">{{.locale.Tr "org.teams.none_access"}} 81 - <span class="tooltip gt-vm" data-content="{{.locale.Tr "org.teams.none_access_helper"}}">{{svg "octicon-question" 16 "gt-ml-2"}}</span></th> 81 + <span class="gt-vm" data-tooltip-content="{{.locale.Tr "org.teams.none_access_helper"}}">{{svg "octicon-question" 16 "gt-ml-2"}}</span></th> 82 82 <th class="center aligned">{{.locale.Tr "org.teams.read_access"}} 83 - <span class="tooltip gt-vm" data-content="{{.locale.Tr "org.teams.read_access_helper"}}">{{svg "octicon-question" 16 "gt-ml-2"}}</span></th> 83 + <span class="gt-vm" data-tooltip-content="{{.locale.Tr "org.teams.read_access_helper"}}">{{svg "octicon-question" 16 "gt-ml-2"}}</span></th> 84 84 <th class="center aligned">{{.locale.Tr "org.teams.write_access"}} 85 - <span class="tooltip gt-vm" data-content="{{.locale.Tr "org.teams.write_access_helper"}}">{{svg "octicon-question" 16 "gt-ml-2"}}</span></th> 85 + <span class="gt-vm" data-tooltip-content="{{.locale.Tr "org.teams.write_access_helper"}}">{{svg "octicon-question" 16 "gt-ml-2"}}</span></th> 86 86 </tr> 87 87 </thead> 88 88 <tbody> ··· 90 90 {{if ge $unit.MaxPerm 2}} 91 91 <tr> 92 92 <td> 93 - <div {{if $unit.Type.UnitGlobalDisabled}}class="field tooltip" data-content="{{$.locale.Tr "repo.unit_disabled"}}"{{- else -}}class="field"{{end}}> 94 - <div class="ui"> 93 + <div {{if $unit.Type.UnitGlobalDisabled}}class="field" data-tooltip-content="{{$.locale.Tr "repo.unit_disabled"}}"{{- else -}}class="field"{{end}}> 94 + <div> 95 95 <label>{{$.locale.Tr $unit.NameKey}}{{if $unit.Type.UnitGlobalDisabled}} {{$.locale.Tr "org.team_unit_disabled"}}{{end}}</label> 96 96 <span class="help">{{$.locale.Tr $unit.DescKey}}</span> 97 97 </div> ··· 119 119 </table> 120 120 {{range $t, $unit := $.Units}} 121 121 {{if lt $unit.MaxPerm 2}} 122 - <div {{if $unit.Type.UnitGlobalDisabled}}class="field tooltip" data-content="{{$.locale.Tr "repo.unit_disabled"}}"{{else}}class="field"{{end}}> 122 + <div {{if $unit.Type.UnitGlobalDisabled}}class="field" data-tooltip-content="{{$.locale.Tr "repo.unit_disabled"}}"{{else}}class="field"{{end}}> 123 123 <div class="ui checkbox"> 124 124 <input type="checkbox" name="unit_{{$unit.Type.Value}}" value="1"{{if or (eq $.Team.ID 0) (eq ($.Team.UnitAccessMode $.Context $unit.Type) 1)}} checked{{end}} {{if $unit.Type.UnitGlobalDisabled}}disabled{{end}}> 125 125 <label>{{$.locale.Tr $unit.NameKey}}{{if $unit.Type.UnitGlobalDisabled}} {{$.locale.Tr "org.team_unit_disabled"}}{{end}}</label>
+2 -2
templates/projects/view.tmpl
··· 85 85 {{.Title}} 86 86 </div> 87 87 {{if and $.CanWriteProjects (ne .ID 0)}} 88 - <div class="ui dropdown jump item tooltip"> 88 + <div class="ui dropdown jump item"> 89 89 <div class="not-mobile gt-px-3" tabindex="-1"> 90 90 {{svg "octicon-kebab-horizontal"}} 91 91 </div> ··· 238 238 {{end}} 239 239 <div class="right floated"> 240 240 {{range .Assignees}} 241 - <a class="tooltip" target="_blank" href="{{.HomeLink}}" data-content="{{$.locale.Tr "repo.projects.column.assigned_to"}} {{.Name}}">{{avatar $.Context . 28 "mini gt-mr-3"}}</a> 241 + <a target="_blank" href="{{.HomeLink}}" data-tooltip-content="{{$.locale.Tr "repo.projects.column.assigned_to"}} {{.Name}}">{{avatar $.Context . 28 "mini gt-mr-3"}}</a> 242 242 {{end}} 243 243 </div> 244 244 </div>
+2 -2
templates/repo/actions/list.tmpl
··· 11 11 {{range .workflows}} 12 12 <a class="item{{if eq .Entry.Name $.CurWorkflow}} active{{end}}" href="{{$.Link}}?workflow={{.Entry.Name}}">{{.Entry.Name}} 13 13 {{if .IsInvalid}} 14 - <span class="tooltip" data-content="{{$.locale.Tr "actions.runs.invalid_workflow_helper" (.ErrMsg)}}"> 14 + <span data-tooltip-content="{{$.locale.Tr "actions.runs.invalid_workflow_helper" (.ErrMsg)}}"> 15 15 <i class="warning icon red"></i> 16 16 </span> 17 17 {{else}} 18 - <span class="tooltip" data-content="{{$.locale.Tr "actions.runs.valid_workflow_helper"}}"> 18 + <span data-tooltip-content="{{$.locale.Tr "actions.runs.valid_workflow_helper"}}"> 19 19 <i class="check icon green"></i> 20 20 </span> 21 21 {{end}}
+1 -1
templates/repo/blame.tmpl
··· 41 41 </td> 42 42 <td class="lines-blame-btn"> 43 43 {{if $row.PreviousSha}} 44 - <a href="{{$row.PreviousShaURL}}" class="tooltip" data-content='{{$.locale.Tr "repo.blame_prior"}}'> 44 + <a href="{{$row.PreviousShaURL}}" data-tooltip-content='{{$.locale.Tr "repo.blame_prior"}}'> 45 45 {{svg "octicon-versions"}} 46 46 </a> 47 47 {{end}}
+7 -7
templates/repo/branch/list.tmpl
··· 22 22 </td> 23 23 <td class="right aligned overflow-visible"> 24 24 {{if and $.IsWriter (not $.Repository.IsArchived) (not .IsDeleted)}} 25 - <button class="ui basic jump button icon tooltip show-create-branch-modal" data-content="{{$.locale.Tr "repo.branch.new_branch_from" ($.DefaultBranch)}}" data-branch-from="{{$.DefaultBranch}}" data-branch-from-urlcomponent="{{PathEscapeSegments $.DefaultBranch}}" data-modal="#create-branch-modal" data-position="top right"> 25 + <button class="ui basic jump button icon show-create-branch-modal" data-tooltip-content="{{$.locale.Tr "repo.branch.new_branch_from" ($.DefaultBranch)}}" data-branch-from="{{$.DefaultBranch}}" data-branch-from-urlcomponent="{{PathEscapeSegments $.DefaultBranch}}" data-modal="#create-branch-modal"> 26 26 {{svg "octicon-git-branch"}} 27 27 </button> 28 28 {{end}} 29 29 {{if not $.DisableDownloadSourceArchives}} 30 - <button class="ui basic jump dropdown icon button tooltip" data-content="{{$.locale.Tr "repo.branch.download" ($.DefaultBranch)}}" data-position="top right"> 30 + <button class="ui basic jump dropdown icon button" data-tooltip-content="{{$.locale.Tr "repo.branch.download" ($.DefaultBranch)}}"> 31 31 {{svg "octicon-download"}} 32 32 <div class="menu"> 33 33 <a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.DefaultBranch}}.zip" rel="nofollow">{{svg "octicon-file-zip"}}&nbsp;ZIP</a> ··· 81 81 <td class="three wide right aligned"> 82 82 {{if not .LatestPullRequest}} 83 83 {{if .IsIncluded}} 84 - <span class="ui tooltip orange large label" data-content="{{$.locale.Tr "repo.branch.included_desc"}}" data-position="top right"> 84 + <span class="ui orange large label" data-tooltip-content="{{$.locale.Tr "repo.branch.included_desc"}}"> 85 85 {{svg "octicon-git-pull-request"}} {{$.locale.Tr "repo.branch.included"}} 86 86 </span> 87 87 {{else if and (not .IsDeleted) $.AllowsPulls (gt .CommitsAhead 0)}} ··· 108 108 </td> 109 109 <td class="three wide right aligned overflow-visible"> 110 110 {{if and $.IsWriter (not $.Repository.IsArchived) (not .IsDeleted)}} 111 - <button class="ui basic jump button icon tooltip show-create-branch-modal" data-branch-from="{{.Name}}" data-branch-from-urlcomponent="{{PathEscapeSegments .Name}}" data-content="{{$.locale.Tr "repo.branch.new_branch_from" .Name}}" data-position="top right" data-modal="#create-branch-modal" data-name="{{.Name}}"> 111 + <button class="ui basic jump button icon show-create-branch-modal" data-branch-from="{{.Name}}" data-branch-from-urlcomponent="{{PathEscapeSegments .Name}}" data-tooltip-content="{{$.locale.Tr "repo.branch.new_branch_from" .Name}}" data-modal="#create-branch-modal" data-name="{{.Name}}"> 112 112 {{svg "octicon-git-branch"}} 113 113 </button> 114 114 {{end}} 115 115 {{if and (not .IsDeleted) (not $.DisableDownloadSourceArchives)}} 116 - <button class="ui basic jump dropdown icon button tooltip" data-content="{{$.locale.Tr "repo.branch.download" (.Name)}}" data-position="top right"> 116 + <button class="ui basic jump dropdown icon button" data-tooltip-content="{{$.locale.Tr "repo.branch.download" (.Name)}}"> 117 117 {{svg "octicon-download"}} 118 118 <div class="menu"> 119 119 <a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments .Name}}.zip" rel="nofollow">{{svg "octicon-file-zip"}}&nbsp;ZIP</a> ··· 123 123 {{end}} 124 124 {{if and $.IsWriter (not $.IsMirror) (not $.Repository.IsArchived) (not .IsProtected)}} 125 125 {{if .IsDeleted}} 126 - <button class="ui basic jump button icon tooltip undo-button" data-url="{{$.Link}}/restore?branch_id={{.DeletedBranch.ID}}&name={{.DeletedBranch.Name}}&page={{$.Page.Paginater.Current}}" data-content="{{$.locale.Tr "repo.branch.restore" (.Name)}}" data-position="top right"> 126 + <button class="ui basic jump button icon undo-button" data-url="{{$.Link}}/restore?branch_id={{.DeletedBranch.ID}}&name={{.DeletedBranch.Name}}&page={{$.Page.Paginater.Current}}" data-tooltip-content="{{$.locale.Tr "repo.branch.restore" (.Name)}}"> 127 127 <span class="text blue"> 128 128 {{svg "octicon-reply"}} 129 129 </span> 130 130 </button> 131 131 {{else}} 132 - <button class="ui basic jump button icon tooltip delete-button delete-branch-button" data-url="{{$.Link}}/delete?name={{.Name}}&page={{$.Page.Paginater.Current}}" data-content="{{$.locale.Tr "repo.branch.delete" (.Name)}}" data-position="top right" data-name="{{.Name}}"> 132 + <button class="ui basic jump button icon delete-button delete-branch-button" data-url="{{$.Link}}/delete?name={{.Name}}&page={{$.Page.Paginater.Current}}" data-tooltip-content="{{$.locale.Tr "repo.branch.delete" (.Name)}}" data-name="{{.Name}}"> 133 133 {{svg "octicon-trash"}} 134 134 </button> 135 135 {{end}}
+1 -1
templates/repo/cite/cite_buttons.tmpl
··· 6 6 </button> 7 7 <!-- the value will be updated by initCitationFileCopyContent, the code below is used to avoid UI flicking --> 8 8 <input id="citation-copy-content" value="" size="1" readonly> 9 - <button class="ui basic icon button tooltip" id="citation-clipboard-btn" data-content="{{.locale.Tr "copy"}}" data-clipboard-text="" data-clipboard-target="#citation-copy-content"> 9 + <button class="ui basic icon button" id="citation-clipboard-btn" data-tooltip-content="{{.locale.Tr "copy"}}" data-clipboard-text="" data-clipboard-target="#citation-copy-content"> 10 10 {{svg "octicon-copy"}} 11 11 </button>
+1 -1
templates/repo/cite/cite_modal.tmpl
··· 7 7 <div class="fitted item"> 8 8 <div class="ui action input" id="citation-panel"> 9 9 {{template "repo/cite/cite_buttons" .}} 10 - <a id="goto-citation-btn" class="ui basic jump icon button tooltip" href="{{$.RepoLink}}/src/{{$.BranchName}}/CITATION.cff" data-position="top right" data-content="{{.locale.Tr "repo.find_file.go_to_file"}}"> 10 + <a id="goto-citation-btn" class="ui basic jump icon button" href="{{$.RepoLink}}/src/{{$.BranchName}}/CITATION.cff" data-tooltip-content="{{.locale.Tr "repo.find_file.go_to_file"}}"> 11 11 {{svg "octicon-file-moved"}} 12 12 </a> 13 13 </div>
+1 -1
templates/repo/clone_buttons.tmpl
··· 10 10 </button> 11 11 {{end}} 12 12 <input id="repo-clone-url" size="20" class="js-clone-url gt-br-0" value="{{$.CloneButtonOriginLink.HTTPS}}" readonly> 13 - <button class="ui basic small compact icon button tooltip" id="clipboard-btn" data-content="{{.locale.Tr "copy_url"}}" data-clipboard-target="#repo-clone-url" aria-label="{{.locale.Tr "copy_url"}}"> 13 + <button class="ui basic small compact icon button" id="clipboard-btn" data-tooltip-content="{{.locale.Tr "copy_url"}}" data-clipboard-target="#repo-clone-url" aria-label="{{.locale.Tr "copy_url"}}"> 14 14 {{svg "octicon-copy" 14}} 15 15 </button>
+5 -5
templates/repo/commit_page.tmpl
··· 21 21 <div class="gt-df gt-mb-4 gt-fw"> 22 22 <h3 class="gt-mb-0 gt-f1"><span class="commit-summary" title="{{.Commit.Summary}}">{{RenderCommitMessage $.Context .Commit.Message $.RepoLink $.Repository.ComposeMetas}}</span>{{template "repo/commit_statuses" dict "Status" .CommitStatus "Statuses" .CommitStatuses "root" $}}</h3> 23 23 {{if not $.PageIsWiki}} 24 - <div class="ui"> 24 + <div> 25 25 <a class="ui primary tiny button" href="{{.SourcePath}}"> 26 26 {{.locale.Tr "repo.diff.browse_source"}} 27 27 </a> ··· 32 32 <div class="ui header">{{.locale.Tr "repo.commit.operations"}}</div> 33 33 <div class="divider"></div> 34 34 <div class="item show-create-branch-modal" 35 - data-content="{{$.locale.Tr "repo.branch.new_branch_from" (.CommitID)}}" 35 + data-content="{{$.locale.Tr "repo.branch.new_branch_from" (.CommitID)}}" {{/* used by the form */}} 36 36 data-branch-from="{{ShortSha .CommitID}}" 37 37 data-branch-from-urlcomponent="{{.CommitID}}" 38 38 data-modal="#create-branch-modal"> 39 39 {{.locale.Tr "repo.branch.create_branch_operation"}} 40 40 </div> 41 41 <div class="item show-create-branch-modal" 42 - data-content="{{$.locale.Tr "repo.branch.new_branch_from" (.CommitID)}}" 42 + data-content="{{$.locale.Tr "repo.branch.new_branch_from" (.CommitID)}}" {{/* used by the form */}} 43 43 data-branch-from="{{ShortSha .CommitID}}" 44 44 data-branch-from-urlcomponent="{{.CommitID}}" 45 45 data-modal="#create-tag-modal" ··· 227 227 {{else}} 228 228 {{svg "octicon-unverified" 16 "gt-mr-3"}} 229 229 {{if .Verification.SigningSSHKey}} 230 - <span class="ui text gt-mr-3 tooltip" data-content="{{.locale.Tr "gpg.default_key"}}">{{.locale.Tr "repo.commits.ssh_key_fingerprint"}}:</span> 230 + <span class="ui text gt-mr-3" data-tooltip-content="{{.locale.Tr "gpg.default_key"}}">{{.locale.Tr "repo.commits.ssh_key_fingerprint"}}:</span> 231 231 {{.Verification.SigningSSHKey.Fingerprint}} 232 232 {{else}} 233 - <span class="ui text gt-mr-3 tooltip" data-content="{{.locale.Tr "gpg.default_key"}}">{{.locale.Tr "repo.commits.gpg_key_id"}}:</span> 233 + <span class="ui text gt-mr-3" data-tooltip-content="{{.locale.Tr "gpg.default_key"}}">{{.locale.Tr "repo.commits.gpg_key_id"}}:</span> 234 234 {{.Verification.SigningKey.PaddedKeyID}} 235 235 {{end}} 236 236 {{end}}
+1 -1
templates/repo/commits_table.tmpl
··· 19 19 <input type="checkbox" name="all" id="all" value="true" {{.All}}> 20 20 <label for="all">{{.locale.Tr "repo.commits.search_all"}} &nbsp;&nbsp;</label> 21 21 </div> 22 - <button class="ui primary tiny button gt-mr-0 tooltip" data-panel="#add-deploy-key-panel" data-content={{.locale.Tr "repo.commits.search.tooltip"}}>{{.locale.Tr "repo.commits.find"}}</button> 22 + <button class="ui primary tiny button gt-mr-0" data-panel="#add-deploy-key-panel" data-tooltip-content={{.locale.Tr "repo.commits.search.tooltip"}}>{{.locale.Tr "repo.commits.find"}}</button> 23 23 </form> 24 24 {{else if .IsDiffCompare}} 25 25 <a href="{{$.CommitRepoLink}}/commit/{{.BeforeCommitID | PathEscape}}" class="ui green sha label">{{if not .BaseIsCommit}}{{if .BaseIsBranch}}{{svg "octicon-git-branch"}}{{else if .BaseIsTag}}{{svg "octicon-tag"}}{{end}}{{.BaseBranch}}{{else}}{{ShortSha .BaseBranch}}{{end}}</a>
+1 -1
templates/repo/create.tmpl
··· 80 80 <input name="git_content" type="checkbox" tabindex="0" {{if .git_content}}checked{{end}}> 81 81 <label>{{.locale.Tr "repo.template.git_content"}}</label> 82 82 </div> 83 - <div class="ui checkbox{{if not .SignedUser.CanEditGitHook}} tooltip{{end}}"{{if not .SignedUser.CanEditGitHook}} data-content="{{.locale.Tr "repo.template.git_hooks_tooltip"}}"{{end}}> 83 + <div class="ui checkbox" {{if not .SignedUser.CanEditGitHook}}data-tooltip-content="{{.locale.Tr "repo.template.git_hooks_tooltip"}}"{{end}}> 84 84 <input name="git_hooks" type="checkbox" tabindex="0" {{if .git_hooks}}checked{{end}}> 85 85 <label>{{.locale.Tr "repo.template.git_hooks"}}</label> 86 86 </div>
+2 -2
templates/repo/diff/box.tmpl
··· 107 107 <div class="diff-file-header-actions gt-df gt-ac"> 108 108 {{if $showFileViewToggle}} 109 109 <div class="ui compact icon buttons"> 110 - <button class="ui tiny basic button tooltip file-view-toggle" data-toggle-selector="#diff-source-{{$file.NameHash}}" data-content="{{$.locale.Tr "repo.file_view_source"}}" data-position="bottom center">{{svg "octicon-code"}}</button> 111 - <button class="ui tiny basic button tooltip file-view-toggle active" data-toggle-selector="#diff-rendered-{{$file.NameHash}}" data-content="{{$.locale.Tr "repo.file_view_rendered"}}" data-position="bottom center">{{svg "octicon-file"}}</button> 110 + <button class="ui tiny basic button file-view-toggle" data-toggle-selector="#diff-source-{{$file.NameHash}}" data-tooltip-content="{{$.locale.Tr "repo.file_view_source"}}">{{svg "octicon-code"}}</button> 111 + <button class="ui tiny basic button file-view-toggle active" data-toggle-selector="#diff-rendered-{{$file.NameHash}}" data-tooltip-content="{{$.locale.Tr "repo.file_view_rendered"}}">{{svg "octicon-file"}}</button> 112 112 </div> 113 113 {{end}} 114 114 {{if $file.IsProtected}}
+1 -1
templates/repo/diff/comments.tmpl
··· 33 33 <div class="comment-header-right actions gt-df gt-ac"> 34 34 {{if and .Review}} 35 35 {{if eq .Review.Type 0}} 36 - <div class="ui label basic small yellow pending-label tooltip" data-content="{{$.root.locale.Tr "repo.issues.review.pending.tooltip" ($.root.locale.Tr "repo.diff.review") ($.root.locale.Tr "repo.diff.review.approve") ($.root.locale.Tr "repo.diff.review.comment") ($.root.locale.Tr "repo.diff.review.reject")}}"> 36 + <div class="ui label basic small yellow pending-label" data-tooltip-content="{{$.root.locale.Tr "repo.issues.review.pending.tooltip" ($.root.locale.Tr "repo.diff.review") ($.root.locale.Tr "repo.diff.review.approve") ($.root.locale.Tr "repo.diff.review.comment") ($.root.locale.Tr "repo.diff.review.reject")}}"> 37 37 {{$.root.locale.Tr "repo.issues.review.pending"}} 38 38 </div> 39 39 {{else}}
+2 -2
templates/repo/diff/new_review.tmpl
··· 24 24 <div class="ui divider"></div> 25 25 {{$showSelfTooltip := (and $.IsSigned ($.Issue.IsPoster $.SignedUser.ID))}} 26 26 {{if $showSelfTooltip}} 27 - <span class="gt-dib tooltip" data-content="{{$.locale.Tr "repo.diff.review.self_approve"}}"> 27 + <span class="gt-dib" data-tooltip-content="{{$.locale.Tr "repo.diff.review.self_approve"}}"> 28 28 <button type="submit" name="type" value="approve" disabled class="ui submit green tiny button btn-submit">{{$.locale.Tr "repo.diff.review.approve"}}</button> 29 29 </span> 30 30 {{else}} ··· 32 32 {{end}} 33 33 <button type="submit" name="type" value="comment" class="ui submit tiny basic button btn-submit">{{$.locale.Tr "repo.diff.review.comment"}}</button> 34 34 {{if $showSelfTooltip}} 35 - <span class="gt-dib tooltip" data-content="{{$.locale.Tr "repo.diff.review.self_reject"}}"> 35 + <span class="gt-dib" data-tooltip-content="{{$.locale.Tr "repo.diff.review.self_reject"}}"> 36 36 <button type="submit" name="type" value="reject" disabled class="ui submit red tiny button btn-submit">{{$.locale.Tr "repo.diff.review.reject"}}</button> 37 37 </span> 38 38 {{else}}
+1 -1
templates/repo/diff/options_dropdown.tmpl
··· 1 - <div class="ui dropdown tiny basic button icon-button tooltip" data-content="{{.locale.Tr "repo.diff.options_button"}}"> 1 + <div class="ui dropdown tiny basic button icon-button" data-tooltip-content="{{.locale.Tr "repo.diff.options_button"}}"> 2 2 {{svg "octicon-kebab-horizontal"}} 3 3 <div class="menu"> 4 4 <a class="item tiny basic toggle button" id="show-file-list-btn">{{.locale.Tr "repo.diff.show_diff_stats"}}</a>
+1 -1
templates/repo/diff/stats.tmpl
··· 1 1 {{Add .file.Addition .file.Deletion}} 2 - <span class="diff-stats-bar tooltip gt-mx-3" data-content="{{.root.locale.Tr "repo.diff.stats_desc_file" (Add .file.Addition .file.Deletion) .file.Addition .file.Deletion | Str2html}}"> 2 + <span class="diff-stats-bar gt-mx-3" data-tooltip-content="{{.root.locale.Tr "repo.diff.stats_desc_file" (Add .file.Addition .file.Deletion) .file.Addition .file.Deletion | Str2html}}"> 3 3 <div class="diff-stats-add-bar" style="width: {{DiffStatsWidth .file.Addition .file.Deletion}}%"></div> 4 4 </span>
+2 -2
templates/repo/diff/whitespace_dropdown.tmpl
··· 1 - <div class="ui dropdown tiny basic button icon-button tooltip" data-content="{{.locale.Tr "repo.diff.whitespace_button"}}"> 1 + <div class="ui dropdown tiny basic button icon-button" data-tooltip-content="{{.locale.Tr "repo.diff.whitespace_button"}}"> 2 2 {{svg "gitea-whitespace"}} 3 3 {{svg "octicon-triangle-down" 14 "dropdown icon"}} 4 4 <div class="menu"> ··· 28 28 </a> 29 29 </div> 30 30 </div> 31 - <a class="ui tiny basic toggle button icon-button tooltip" href="?style={{if .IsSplitStyle}}unified{{else}}split{{end}}&whitespace={{$.WhitespaceBehavior}}" data-content="{{if .IsSplitStyle}}{{.locale.Tr "repo.diff.show_unified_view"}}{{else}}{{.locale.Tr "repo.diff.show_split_view"}}{{end}}">{{if .IsSplitStyle}}{{svg "gitea-join"}}{{else}}{{svg "gitea-split"}}{{end}}</a> 31 + <a class="ui tiny basic toggle button icon-button" href="?style={{if .IsSplitStyle}}unified{{else}}split{{end}}&whitespace={{$.WhitespaceBehavior}}" data-tooltip-content="{{if .IsSplitStyle}}{{.locale.Tr "repo.diff.show_unified_view"}}{{else}}{{.locale.Tr "repo.diff.show_split_view"}}{{end}}">{{if .IsSplitStyle}}{{svg "gitea-join"}}{{else}}{{svg "gitea-split"}}{{end}}</a>
+1 -1
templates/repo/editor/edit.tmpl
··· 17 17 <div class="divider"> / </div> 18 18 {{if eq $i $l}} 19 19 <input id="file-name" value="{{$v}}" placeholder="{{$.locale.Tr "repo.editor.name_your_file"}}" data-editorconfig="{{$.Editorconfig}}" required autofocus> 20 - <span class="tooltip" data-content="{{$.locale.Tr "repo.editor.filename_help"}}" data-position="bottom center">{{svg "octicon-info"}}</span> 20 + <span data-tooltip-content="{{$.locale.Tr "repo.editor.filename_help"}}">{{svg "octicon-info"}}</span> 21 21 {{else}} 22 22 <span class="section"><a href="{{$.BranchLink}}/{{index $.TreePaths $i | PathEscapeSegments}}">{{$v}}</a></span> 23 23 {{end}}
+1 -1
templates/repo/editor/upload.tmpl
··· 15 15 <div class="divider"> / </div> 16 16 {{if eq $i $l}} 17 17 <input type="text" id="file-name" value="{{$v}}" placeholder="{{$.locale.Tr "repo.editor.add_subdir"}}" autofocus> 18 - <span class="tooltip" data-content="{{$.locale.Tr "repo.editor.filename_help"}}" data-position="bottom center">{{svg "octicon-info"}}</span> 18 + <span data-tooltip-content="{{$.locale.Tr "repo.editor.filename_help"}}">{{svg "octicon-info"}}</span> 19 19 {{else}} 20 20 <span class="section"><a href="{{$.BranchLink}}/{{index $.TreePaths $i | PathEscapeSegments}}">{{$v}}</a></span> 21 21 {{end}}
+1 -1
templates/repo/file_info.tmpl
··· 15 15 </div> 16 16 {{end}} 17 17 {{if .LFSLock}} 18 - <div class="file-info-entry ui tooltip" data-content="{{.LFSLockHint}}"> 18 + <div class="file-info-entry ui" data-tooltip-content="{{.LFSLockHint}}"> 19 19 {{svg "octicon-lock" 16 "gt-mr-2"}} 20 20 <a href="{{.LFSLockOwnerHomeLink}}">{{.LFSLockOwner}}</a> 21 21 </div>
+9 -9
templates/repo/header.tmpl
··· 14 14 <div class="gt-mx-2">/</div> 15 15 <a href="{{$.RepoLink}}">{{.Name}}</a> 16 16 {{if $.EnableFeed}} 17 - <a href="{{$.RepoLink}}.rss"><i class="ui grey icon tooltip gt-ml-3" data-content="{{$.locale.Tr "rss_feed"}}" data-position="top center">{{svg "octicon-rss" 18}}</i></a> 17 + <a href="{{$.RepoLink}}.rss"><i class="ui grey icon gt-ml-3" data-tooltip-content="{{$.locale.Tr "rss_feed"}}">{{svg "octicon-rss" 18}}</i></a> 18 18 {{end}} 19 19 <div class="labels gt-df gt-ac gt-fw"> 20 20 {{if .IsTemplate}} ··· 51 51 {{if $.RepoTransfer}} 52 52 <form method="post" action="{{$.RepoLink}}/action/accept_transfer?redirect_to={{$.RepoLink}}"> 53 53 {{$.CsrfTokenHtml}} 54 - <div class="ui tooltip" data-content="{{if $.CanUserAcceptTransfer}}{{$.locale.Tr "repo.transfer.accept_desc" $.RepoTransfer.Recipient.DisplayName}}{{else}}{{$.locale.Tr "repo.transfer.no_permission_to_accept"}}{{end}}" data-position="bottom center"> 54 + <div data-tooltip-content="{{if $.CanUserAcceptTransfer}}{{$.locale.Tr "repo.transfer.accept_desc" $.RepoTransfer.Recipient.DisplayName}}{{else}}{{$.locale.Tr "repo.transfer.no_permission_to_accept"}}{{end}}"> 55 55 <button type="submit" class="ui button {{if $.CanUserAcceptTransfer}}green {{end}} ok inverted small"{{if not $.CanUserAcceptTransfer}} disabled{{end}}> 56 56 {{$.locale.Tr "repo.transfer.accept"}} 57 57 </button> ··· 59 59 </form> 60 60 <form method="post" action="{{$.RepoLink}}/action/reject_transfer?redirect_to={{$.RepoLink}}"> 61 61 {{$.CsrfTokenHtml}} 62 - <div class="ui tooltip" data-content="{{if $.CanUserAcceptTransfer}}{{$.locale.Tr "repo.transfer.reject_desc" $.RepoTransfer.Recipient.DisplayName}}{{else}}{{$.locale.Tr "repo.transfer.no_permission_to_reject"}}{{end}}" data-position="bottom center"> 62 + <div data-tooltip-content="{{if $.CanUserAcceptTransfer}}{{$.locale.Tr "repo.transfer.reject_desc" $.RepoTransfer.Recipient.DisplayName}}{{else}}{{$.locale.Tr "repo.transfer.no_permission_to_reject"}}{{end}}"> 63 63 <button type="submit" class="ui button {{if $.CanUserAcceptTransfer}}red {{end}}ok inverted small"{{if not $.CanUserAcceptTransfer}} disabled{{end}}> 64 64 {{$.locale.Tr "repo.transfer.reject"}} 65 65 </button> ··· 68 68 {{end}} 69 69 <form method="post" action="{{$.RepoLink}}/action/{{if $.IsWatchingRepo}}un{{end}}watch?redirect_to={{$.Link}}"> 70 70 {{$.CsrfTokenHtml}} 71 - <div class="ui labeled button{{if not $.IsSigned}} tooltip{{end}}"{{if not $.IsSigned}} data-content="{{$.locale.Tr "repo.watch_guest_user"}}" data-position="top center"{{end}}> 71 + <div class="ui labeled button" {{if not $.IsSigned}}data-tooltip-content="{{$.locale.Tr "repo.watch_guest_user"}}"{{end}}> 72 72 <button type="submit" class="ui compact small basic button"{{if not $.IsSigned}} disabled{{end}}> 73 73 {{if $.IsWatchingRepo}}{{svg "octicon-eye-closed" 16}}{{$.locale.Tr "repo.unwatch"}}{{else}}{{svg "octicon-eye"}}{{$.locale.Tr "repo.watch"}}{{end}} 74 74 </button> ··· 80 80 {{if not $.DisableStars}} 81 81 <form method="post" action="{{$.RepoLink}}/action/{{if $.IsStaringRepo}}un{{end}}star?redirect_to={{$.Link}}"> 82 82 {{$.CsrfTokenHtml}} 83 - <div class="ui labeled button{{if not $.IsSigned}} tooltip{{end}}"{{if not $.IsSigned}} data-content="{{$.locale.Tr "repo.star_guest_user"}}" data-position="top center"{{end}}> 83 + <div class="ui labeled button" {{if not $.IsSigned}}data-tooltip-content="{{$.locale.Tr "repo.star_guest_user"}}"{{end}}> 84 84 <button type="submit" class="ui compact small basic button"{{if not $.IsSigned}} disabled{{end}}> 85 85 {{if $.IsStaringRepo}}{{svg "octicon-star-fill"}}{{$.locale.Tr "repo.unstar"}}{{else}}{{svg "octicon-star"}}{{$.locale.Tr "repo.star"}}{{end}} 86 86 </button> ··· 93 93 {{if and (not .IsEmpty) ($.Permission.CanRead $.UnitTypeCode)}} 94 94 <div class="ui labeled button 95 95 {{if or (not $.IsSigned) (and (not $.CanSignedUserFork) (eq (len $.UserAndOrgForks) 0))}} 96 - tooltip disabled 96 + disabled 97 97 {{end}}" 98 98 {{if not $.IsSigned}} 99 - data-content="{{$.locale.Tr "repo.fork_guest_user"}}" 99 + data-tooltip-content="{{$.locale.Tr "repo.fork_guest_user"}}" 100 100 {{else if and (not $.CanSignedUserFork) (eq (len $.UserAndOrgForks) 0)}} 101 - data-content="{{$.locale.Tr "repo.fork_from_self"}}" 101 + data-tooltip-content="{{$.locale.Tr "repo.fork_from_self"}}" 102 102 {{end}} 103 - data-position="top center"> 103 + > 104 104 <a class="ui compact{{if $.ShowForkModal}} show-modal{{end}} small basic button" 105 105 {{if not $.CanSignedUserFork}} 106 106 {{if gt (len $.UserAndOrgForks) 1}}
+3 -3
templates/repo/home.tmpl
··· 14 14 <div class="ui repo-search"> 15 15 <form class="ui form ignore-dirty" action="{{.RepoLink}}/search" method="get"> 16 16 <div class="field"> 17 - <div class="ui action input{{if .CodeIndexerUnavailable}} disabled left icon tooltip{{end}}"{{if .CodeIndexerUnavailable}} data-content="{{.locale.Tr "repo.search.code_search_unavailable"}}"{{end}}> 17 + <div class="ui action input{{if .CodeIndexerUnavailable}} disabled left icon{{end}}"{{if .CodeIndexerUnavailable}} data-tooltip-content="{{.locale.Tr "repo.search.code_search_unavailable"}}"{{end}}> 18 18 <input name="q" value="{{.Keyword}}"{{if .CodeIndexerUnavailable}} disabled{{end}} placeholder="{{.locale.Tr "repo.search.search_repo"}}"> 19 19 {{if .CodeIndexerUnavailable}} 20 20 <i class="icon gt-df gt-ac gt-jc">{{svg "octicon-alert"}}</i> ··· 71 71 {{if eq $n 0}} 72 72 {{if and .CanCompareOrPull .IsViewBranch (not .Repository.IsArchived)}} 73 73 <a href="{{CompareLink .BaseRepo .Repository .BranchName}}"> 74 - <button id="new-pull-request" class="ui compact basic button tooltip" data-content="{{if .PullRequestCtx.Allowed}}{{.locale.Tr "repo.pulls.compare_changes"}}{{else}}{{.locale.Tr "action.compare_branch"}}{{end}}"><span class="text">{{svg "octicon-git-pull-request"}}</span></button> 74 + <button id="new-pull-request" class="ui compact basic button" data-tooltip-content="{{if .PullRequestCtx.Allowed}}{{.locale.Tr "repo.pulls.compare_changes"}}{{else}}{{.locale.Tr "action.compare_branch"}}{{end}}"><span class="text">{{svg "octicon-git-pull-request"}}</span></button> 75 75 </a> 76 76 {{end}} 77 77 <a href="{{.Repository.Link}}/find/{{.BranchNameSubURL}}" class="ui compact basic button">{{.locale.Tr "repo.find_file.go_to_file"}}</a> ··· 113 113 {{if eq $n 0}} 114 114 <div class="ui action tiny input" id="clone-panel"> 115 115 {{template "repo/clone_buttons" .}} 116 - <button id="more-btn" class="ui basic small compact jump dropdown icon button tooltip" data-content="{{.locale.Tr "repo.more_operations"}}" data-position="top right"> 116 + <button id="more-btn" class="ui basic small compact jump dropdown icon button" data-tooltip-content="{{.locale.Tr "repo.more_operations"}}"> 117 117 {{svg "octicon-kebab-horizontal"}} 118 118 <div class="menu"> 119 119 {{if not $.DisableDownloadSourceArchives}}
+1 -1
templates/repo/issue/labels/label_list.tmpl
··· 59 59 <div class="ten wide column"> 60 60 {{$.locale.Tr "repo.org_labels_desc" | Str2html}} 61 61 {{if .IsOrganizationOwner}} 62 - <a class="ui" href="{{.OrganizationLink}}/settings/labels">({{$.locale.Tr "repo.org_labels_desc_manage"}})</a>: 62 + <a href="{{.OrganizationLink}}/settings/labels">({{$.locale.Tr "repo.org_labels_desc_manage"}})</a>: 63 63 {{end}} 64 64 </div> 65 65 </div>
+1 -1
templates/repo/issue/new_form.tmpl
··· 225 225 <div class="ui divider"></div> 226 226 <div class="inline field"> 227 227 <div class="ui checkbox"> 228 - <label class="tooltip" data-content="{{.locale.Tr "repo.pulls.allow_edits_from_maintainers_desc"}}"><strong>{{.locale.Tr "repo.pulls.allow_edits_from_maintainers"}}</strong></label> 228 + <label data-tooltip-content="{{.locale.Tr "repo.pulls.allow_edits_from_maintainers_desc"}}"><strong>{{.locale.Tr "repo.pulls.allow_edits_from_maintainers"}}</strong></label> 229 229 <input name="allow_maintainer_edit" type="checkbox" {{if .AllowMaintainerEdit}}checked{{end}}> 230 230 </div> 231 231 </div>
+1 -1
templates/repo/issue/view_content/add_reaction.tmpl
··· 7 7 <div class="header">{{.ctxData.locale.Tr "repo.pick_reaction"}}</div> 8 8 <div class="divider"></div> 9 9 {{range $value := AllowedReactions}} 10 - <a class="item reaction tooltip" data-content="{{$value}}">{{ReactionToEmoji $value}}</a> 10 + <a class="item reaction" data-tooltip-content="{{$value}}" data-reaction-content="{{$value}}">{{ReactionToEmoji $value}}</a> 11 11 {{end}} 12 12 </div> 13 13 </div>
+1 -1
templates/repo/issue/view_content/comments_delete_time.tmpl
··· 9 9 <div class="header">{{.ctxData.locale.Tr "repo.issues.del_time"}}</div> 10 10 {{template "base/delete_modal_actions" .}} 11 11 </div> 12 - <button class="ui icon button compact mini issue-delete-time tooltip" data-id="{{.comment.Time.ID}}" data-content="{{.ctxData.locale.Tr "repo.issues.del_time"}}" data-position="top right"> 12 + <button class="ui icon button compact mini issue-delete-time" data-id="{{.comment.Time.ID}}" data-tooltip-content="{{.ctxData.locale.Tr "repo.issues.del_time"}}"> 13 13 {{svg "octicon-trash"}} 14 14 </button> 15 15 </span>
+4 -4
templates/repo/issue/view_content/pull.tmpl
··· 34 34 </div> 35 35 <div class="review-item-right"> 36 36 {{if .Review.Stale}} 37 - <span class="ui tooltip type-icon text grey" data-content="{{$.locale.Tr "repo.issues.is_stale"}}"> 37 + <span class="ui type-icon text grey" data-tooltip-content="{{$.locale.Tr "repo.issues.is_stale"}}"> 38 38 {{svg "octicon-hourglass" 16 "icon"}} 39 39 </span> 40 40 {{end}} 41 41 {{if (and $.Permission.IsAdmin (or (eq .Review.Type 1) (eq .Review.Type 3)) (not $.Issue.IsClosed))}} 42 - <a href="#" class="ui muted tooltip icon dismiss-review-btn" data-review-id="dismiss-review-{{.Review.ID}}" data-content="{{$.locale.Tr "repo.issues.dismiss_review"}}"> 42 + <a href="#" class="ui muted icon dismiss-review-btn" data-review-id="dismiss-review-{{.Review.ID}}" data-tooltip-content="{{$.locale.Tr "repo.issues.dismiss_review"}}"> 43 43 {{svg "octicon-x" 16}} 44 44 </a> 45 45 <div class="ui small modal" id="dismiss-review-modal"> ··· 72 72 {{else}}grey{{end}}"> 73 73 74 74 {{if .CanChange}} 75 - <a href="#" class="ui tooltip icon re-request-review {{if .Checked}}checked{{end}}" data-issue-id="{{$.Issue.ID}}" data-content="{{if .Checked}} {{$.locale.Tr "repo.issues.remove_request_review"}} {{else}} {{$.locale.Tr "repo.issues.re_request_review"}} {{end}}" data-id="{{.ItemID}}" data-update-url="{{$.RepoLink}}/issues/request_review"> 75 + <a href="#" class="ui icon re-request-review {{if .Checked}}checked{{end}}" data-issue-id="{{$.Issue.ID}}" data-tooltip-content="{{if .Checked}} {{$.locale.Tr "repo.issues.remove_request_review"}} {{else}} {{$.locale.Tr "repo.issues.re_request_review"}} {{end}}" data-id="{{.ItemID}}" data-update-url="{{$.RepoLink}}/issues/request_review"> 76 76 {{if .Checked}} {{svg "octicon-trash"}} {{else}} {{svg "octicon-sync"}} {{end}} 77 77 </a> 78 78 {{end}} ··· 86 86 <div class="ui divider"></div> 87 87 <div class="review-item"> 88 88 <div class="review-item-left"> 89 - <a href="{{$.Repository.OriginalURL}}" class="ui tooltip" data-content="{{$.locale.Tr "repo.migrated_from_fake" ($.Repository.GetOriginalURLHostname|Escape) | Safe}}"> 89 + <a href="{{$.Repository.OriginalURL}}" data-tooltip-content="{{$.locale.Tr "repo.migrated_from_fake" ($.Repository.GetOriginalURLHostname|Escape) | Safe}}"> 90 90 <span class="text black "> 91 91 {{svg (MigrationIcon $.Repository.GetOriginalURLHostname)}} 92 92 {{.OriginalAuthor}}
+1 -1
templates/repo/issue/view_content/reactions.tmpl
··· 1 1 {{range $key, $value := .Reactions}} 2 - <a class="ui label basic{{if $value.HasUser $.ctxData.SignedUserID}} primary{{end}}{{if not $.ctxData.IsSigned}} disabled{{end}}" data-title="{{$value.GetFirstUsers}}{{if gt ($value.GetMoreUserCount) 0}} {{$.ctxData.locale.Tr "repo.reactions_more" $value.GetMoreUserCount}}{{end}}" data-content="{{$key}}" data-action-url="{{$.ActionURL}}"> 2 + <a class="ui label basic{{if $value.HasUser $.ctxData.SignedUserID}} primary{{end}}{{if not $.ctxData.IsSigned}} disabled{{end}}" data-title="{{$value.GetFirstUsers}}{{if gt ($value.GetMoreUserCount) 0}} {{$.ctxData.locale.Tr "repo.reactions_more" $value.GetMoreUserCount}}{{end}}" data-reaction-content="{{$key}}" data-action-url="{{$.ActionURL}}"> 3 3 <span class="reaction">{{ReactionToEmoji $key}}</span> 4 4 <span class="reaction-count">{{len $value}}</span> 5 5 </a>
+18 -18
templates/repo/issue/view_content/sidebar.tmpl
··· 23 23 {{if .Reviewers}} 24 24 {{range .Reviewers}} 25 25 {{if .User}} 26 - <a class="{{if not .CanChange}}ui tooltip{{end}} item {{if .Checked}} checked {{end}} {{if not .CanChange}}ban-change{{end}}" href="#" data-id="{{.ItemID}}" data-id-selector="#review_request_{{.ItemID}}" {{if not .CanChange}} data-content="{{$.locale.Tr "repo.issues.remove_request_review_block"}}"{{end}}> 26 + <a class="{{if not .CanChange}}ui{{end}} item {{if .Checked}}checked{{end}} {{if not .CanChange}}ban-change{{end}}" href="#" data-id="{{.ItemID}}" data-id-selector="#review_request_{{.ItemID}}" {{if not .CanChange}} data-tooltip-content="{{$.locale.Tr "repo.issues.remove_request_review_block"}}"{{end}}> 27 27 <span class="octicon-check {{if not .Checked}}invisible{{end}}">{{svg "octicon-check"}}</span> 28 28 <span class="text"> 29 29 {{avatar $.Context .User 28 "gt-mr-3"}}{{template "repo/search_name" .User}} ··· 36 36 <div class="ui divider"></div> 37 37 {{range .TeamReviewers}} 38 38 {{if .Team}} 39 - <a class="{{if not .CanChange}}ui tooltip{{end}} item {{if .Checked}} checked {{end}} {{if not .CanChange}}ban-change{{end}}" href="#" data-id="{{.ItemID}}" data-id-selector="#review_request_team_{{.Team.ID}}" {{if not .CanChange}} data-content="{{$.locale.Tr "repo.issues.remove_request_review_block"}}"{{end}}> 39 + <a class="{{if not .CanChange}}ui{{end}} item {{if .Checked}}checked{{end}} {{if not .CanChange}}ban-change{{end}}" href="#" data-id="{{.ItemID}}" data-id-selector="#review_request_team_{{.Team.ID}}" {{if not .CanChange}} data-tooltip-content="{{$.locale.Tr "repo.issues.remove_request_review_block"}}"{{end}}> 40 40 <span class="octicon-check {{if not .Checked}}invisible{{end}}">{{svg "octicon-check" 16}}</span> 41 41 <span class="text"> 42 42 {{svg "octicon-people" 16 "gt-ml-4 gt-mr-2"}}{{$.Issue.Repo.OwnerName}}/{{.Team.Name}} ··· 68 68 {{- else}}grey{{end}} right "> 69 69 70 70 {{if .CanChange}} 71 - <a href="#" class="ui tooltip icon re-request-review {{if .Checked}}checked{{end}}" data-content="{{if .Checked}} {{$.locale.Tr "repo.issues.remove_request_review"}} {{else}} {{$.locale.Tr "repo.issues.re_request_review"}} {{end}}" data-issue-id="{{$.Issue.ID}}" data-id="{{.ItemID}}" data-update-url="{{$.RepoLink}}/issues/request_review"> 71 + <a href="#" class="ui icon re-request-review {{if .Checked}}checked{{end}}" data-tooltip-content="{{if .Checked}} {{$.locale.Tr "repo.issues.remove_request_review"}} {{else}} {{$.locale.Tr "repo.issues.re_request_review"}} {{end}}" data-issue-id="{{$.Issue.ID}}" data-id="{{.ItemID}}" data-update-url="{{$.RepoLink}}/issues/request_review"> 72 72 {{if .Checked}} {{svg "octicon-trash"}} {{else}} {{svg "octicon-sync"}} {{end}} 73 73 </a> 74 74 {{end}} ··· 78 78 {{end}} 79 79 {{range .OriginalReviews}} 80 80 <div class="item" style="margin-bottom: 10px;"> 81 - <a href="{{$.Repository.OriginalURL}}" class="ui tooltip" data-content="{{$.locale.Tr "repo.migrated_from_fake" ($.Repository.GetOriginalURLHostname|Escape) | Safe}}"> 81 + <a href="{{$.Repository.OriginalURL}}" data-tooltip-content="{{$.locale.Tr "repo.migrated_from_fake" ($.Repository.GetOriginalURLHostname|Escape) | Safe}}"> 82 82 <span class="text black"> 83 83 {{svg (MigrationIcon $.Repository.GetOriginalURLHostname)}} 84 84 {{.OriginalAuthor}} ··· 280 280 <span class="text"><strong>{{.locale.Tr "repo.issues.num_participants" .NumParticipants}}</strong></span> 281 281 <div class="ui list gt-df gt-fw"> 282 282 {{range .Participants}} 283 - <a class="ui tooltip" {{if gt .ID 0}}href="{{.HomeLink}}"{{end}} data-content="{{.GetDisplayName}}" data-position="top center"> 283 + <a {{if gt .ID 0}}href="{{.HomeLink}}"{{end}} data-tooltip-content="{{.GetDisplayName}}"> 284 284 {{avatar $.Context . 28 "gt-my-1 gt-mr-2"}} 285 285 </a> 286 286 {{end}} ··· 330 330 {{.locale.Tr "repo.issues.tracking_already_started" (.OtherStopwatchURL|Escape) | Safe}} 331 331 </div> 332 332 {{end}} 333 - <button class="ui fluid button tooltip issue-start-time" data-content='{{.locale.Tr "repo.issues.start_tracking"}}' data-position="top center">{{.locale.Tr "repo.issues.start_tracking_short"}}</button> 333 + <button class="ui fluid button issue-start-time" data-tooltip-content='{{.locale.Tr "repo.issues.start_tracking"}}'>{{.locale.Tr "repo.issues.start_tracking_short"}}</button> 334 334 <div class="ui mini modal issue-start-time-modal"> 335 335 <div class="header">{{.locale.Tr "repo.issues.add_time"}}</div> 336 336 <div class="content"> ··· 345 345 <button class="ui red cancel button">{{.locale.Tr "repo.issues.add_time_cancel"}}</button> 346 346 </div> 347 347 </div> 348 - <button class="ui fluid button green tooltip issue-add-time gt-mt-3" data-content='{{.locale.Tr "repo.issues.add_time"}}' data-position="top center">{{.locale.Tr "repo.issues.add_time_short"}}</button> 348 + <button class="ui fluid button green issue-add-time gt-mt-3" data-tooltip-content='{{.locale.Tr "repo.issues.add_time"}}'>{{.locale.Tr "repo.issues.add_time_short"}}</button> 349 349 {{end}} 350 350 </div> 351 351 </div> ··· 383 383 {{if ne .Issue.DeadlineUnix 0}} 384 384 <p> 385 385 <div class="gt-df gt-sb gt-ac"> 386 - <div class="due-date tooltip {{if .Issue.IsOverdue}}text red{{end}}" {{if .Issue.IsOverdue}}data-content="{{.locale.Tr "repo.issues.due_date_overdue"}}"{{end}}> 386 + <div class="due-date {{if .Issue.IsOverdue}}text red{{end}}" {{if .Issue.IsOverdue}}data-tooltip-content="{{.locale.Tr "repo.issues.due_date_overdue"}}"{{end}}> 387 387 {{svg "octicon-calendar" 16 "gt-mr-3"}} 388 388 <time data-format="date" datetime="{{.Issue.DeadlineUnix.FormatDate}}">{{.Issue.DeadlineUnix.FormatDate}}</time> 389 389 </div> 390 390 <div> 391 391 {{if and .HasIssuesOrPullsWritePermission (not .Repository.IsArchived)}} 392 - <a class="issue-due-edit tooltip muted" data-content="{{$.locale.Tr "repo.issues.due_date_form_edit"}}">{{svg "octicon-pencil" 16 "gt-mr-2"}}</a> 393 - <a class="issue-due-remove tooltip muted" data-content="{{$.locale.Tr "repo.issues.due_date_form_remove"}}">{{svg "octicon-trash"}}</a> 392 + <a class="issue-due-edit muted" data-tooltip-content="{{$.locale.Tr "repo.issues.due_date_form_edit"}}">{{svg "octicon-pencil" 16 "gt-mr-2"}}</a> 393 + <a class="issue-due-remove muted" data-tooltip-content="{{$.locale.Tr "repo.issues.due_date_form_remove"}}">{{svg "octicon-trash"}}</a> 394 394 {{end}} 395 395 </div> 396 396 </div> ··· 433 433 {{end}} 434 434 435 435 {{if .BlockingDependencies}} 436 - <span class="text tooltip" data-content="{{if .Issue.IsPull}}{{.locale.Tr "repo.issues.dependency.pr_close_blocks"}}{{else}}{{.locale.Tr "repo.issues.dependency.issue_close_blocks"}}{{end}}"> 436 + <span class="text" data-tooltip-content="{{if .Issue.IsPull}}{{.locale.Tr "repo.issues.dependency.pr_close_blocks"}}{{else}}{{.locale.Tr "repo.issues.dependency.issue_close_blocks"}}{{end}}"> 437 437 <strong>{{.locale.Tr "repo.issues.dependency.blocks_short"}}</strong> 438 438 </span> 439 439 <div class="ui relaxed divided list"> 440 440 {{range .BlockingDependencies}} 441 441 <div class="item dependency{{if .Issue.IsClosed}} is-closed{{end}} gt-df gt-ac gt-sb"> 442 442 <div class="item-left gt-df gt-jc gt-fc gt-f1"> 443 - <a class="title tooltip" href="{{.Issue.Link}}" data-content="#{{.Issue.Index}} {{.Issue.Title | RenderEmoji $.Context}}"> 443 + <a class="title" href="{{.Issue.Link}}" data-tooltip-content="#{{.Issue.Index}} {{.Issue.Title | RenderEmoji $.Context}}"> 444 444 #{{.Issue.Index}} {{.Issue.Title | RenderEmoji $.Context}} 445 445 </a> 446 446 <div class="text small"> ··· 449 449 </div> 450 450 <div class="item-right gt-df gt-ac"> 451 451 {{if and $.CanCreateIssueDependencies (not $.Repository.IsArchived)}} 452 - <a class="delete-dependency-button tooltip ci muted" data-id="{{.Issue.ID}}" data-type="blocking" data-content="{{$.locale.Tr "repo.issues.dependency.remove_info"}}" data-inverted=""> 452 + <a class="delete-dependency-button ci muted" data-id="{{.Issue.ID}}" data-type="blocking" data-tooltip-content="{{$.locale.Tr "repo.issues.dependency.remove_info"}}"> 453 453 {{svg "octicon-trash" 16}} 454 454 </a> 455 455 {{end}} ··· 460 460 {{end}} 461 461 462 462 {{if .BlockedByDependencies}} 463 - <span class="text tooltip" data-content="{{if .Issue.IsPull}}{{.locale.Tr "repo.issues.dependency.pr_closing_blockedby"}}{{else}}{{.locale.Tr "repo.issues.dependency.issue_closing_blockedby"}}{{end}}"> 463 + <span class="text" data-tooltip-content="{{if .Issue.IsPull}}{{.locale.Tr "repo.issues.dependency.pr_closing_blockedby"}}{{else}}{{.locale.Tr "repo.issues.dependency.issue_closing_blockedby"}}{{end}}"> 464 464 <strong>{{.locale.Tr "repo.issues.dependency.blocked_by_short"}}</strong> 465 465 </span> 466 466 <div class="ui relaxed divided list"> 467 467 {{range .BlockedByDependencies}} 468 468 <div class="item dependency{{if .Issue.IsClosed}} is-closed{{end}} gt-df gt-ac gt-sb"> 469 469 <div class="item-left gt-df gt-jc gt-fc gt-f1"> 470 - <a class="title tooltip" href="{{.Issue.Link}}" data-content="#{{.Issue.Index}} {{.Issue.Title | RenderEmoji $.Context}}"> 470 + <a class="title" href="{{.Issue.Link}}" data-tooltip-content="#{{.Issue.Index}} {{.Issue.Title | RenderEmoji $.Context}}"> 471 471 #{{.Issue.Index}} {{.Issue.Title | RenderEmoji $.Context}} 472 472 </a> 473 473 <div class="text small"> ··· 476 476 </div> 477 477 <div class="item-right gt-df gt-ac"> 478 478 {{if and $.CanCreateIssueDependencies (not $.Repository.IsArchived)}} 479 - <a class="delete-dependency-button tooltip ci muted" data-id="{{.Issue.ID}}" data-type="blockedBy" data-content="{{$.locale.Tr "repo.issues.dependency.remove_info"}}" data-inverted=""> 479 + <a class="delete-dependency-button ci muted" data-id="{{.Issue.ID}}" data-type="blockedBy" data-tooltip-content="{{$.locale.Tr "repo.issues.dependency.remove_info"}}"> 480 480 {{svg "octicon-trash" 16}} 481 481 </a> 482 482 {{end}} ··· 543 543 <div class="ui divider"></div> 544 544 <div class="ui equal width compact grid"> 545 545 {{$issueReferenceLink := printf "%s#%d" .Issue.Repo.FullName .Issue.Index}} 546 - <div class="row gt-ac tooltip" data-content="{{$issueReferenceLink}}"> 546 + <div class="row gt-ac" data-tooltip-content="{{$issueReferenceLink}}"> 547 547 <span class="text column truncate">{{.locale.Tr "repo.issues.reference_link" $issueReferenceLink}}</span> 548 548 <button class="ui two wide button column gt-p-3" data-clipboard-text="{{$issueReferenceLink}}">{{svg "octicon-copy" 14}}</button> 549 549 </div> ··· 661 661 {{if and (not (eq .Issue.PullRequest.HeadRepo.FullName .Issue.PullRequest.BaseRepo.FullName)) .CanWriteToHeadRepo}} 662 662 <div class="ui divider"></div> 663 663 <div class="inline field"> 664 - <div class="ui checkbox tooltip" id="allow-edits-from-maintainers" 664 + <div class="ui checkbox" id="allow-edits-from-maintainers" 665 665 data-url="{{.Issue.Link}}" 666 666 data-tooltip-content="{{.locale.Tr "repo.pulls.allow_edits_from_maintainers_desc"}}" 667 667 data-prompt-error="{{.locale.Tr "repo.pulls.allow_edits_from_maintainers_err"}}"
+1 -1
templates/repo/issue/view_title.tmpl
··· 36 36 {{if .HeadBranchLink}} 37 37 {{$headHref = printf "<a href=\"%s\">%s</a>" (.HeadBranchLink | Escape) $headHref}} 38 38 {{end}} 39 - {{$headHref = printf "%s <a class=\"tooltip\" data-content=\"%s\" data-clipboard-text=\"%s\">%s</a>" $headHref (.locale.Tr "copy_branch") (.HeadTarget | Escape) (svg "octicon-copy" 14)}} 39 + {{$headHref = printf "%s <a data-tooltip-content=\"%s\" data-clipboard-text=\"%s\">%s</a>" $headHref (.locale.Tr "copy_branch") (.HeadTarget | Escape) (svg "octicon-copy" 14)}} 40 40 {{$baseHref := .BaseTarget|Escape}} 41 41 {{if .BaseBranchLink}} 42 42 {{$baseHref = printf "<a href=\"%s\">%s</a>" (.BaseBranchLink | Escape) $baseHref}}
+2 -2
templates/repo/projects/view.tmpl
··· 89 89 {{.Title}} 90 90 </div> 91 91 {{if and $.CanWriteProjects (not $.Repository.IsArchived) (ne .ID 0)}} 92 - <div class="ui dropdown jump item tooltip"> 92 + <div class="ui dropdown jump item"> 93 93 <div class="not-mobile gt-px-3" tabindex="-1"> 94 94 {{svg "octicon-kebab-horizontal"}} 95 95 </div> ··· 249 249 {{end}} 250 250 <div class="right floated"> 251 251 {{range .Assignees}} 252 - <a class="tooltip" target="_blank" href="{{.HomeLink}}" data-content="{{$.locale.Tr "repo.projects.column.assigned_to"}} {{.Name}}">{{avatar $.Context . 28 "mini gt-mr-3"}}</a> 252 + <a target="_blank" href="{{.HomeLink}}" data-tooltip-content="{{$.locale.Tr "repo.projects.column.assigned_to"}} {{.Name}}">{{avatar $.Context . 28 "mini gt-mr-3"}}</a> 253 253 {{end}} 254 254 </div> 255 255 </div>
+1 -1
templates/repo/pulls/status.tmpl
··· 26 26 {{if $.is_context_required}} 27 27 {{if (call $.is_context_required .Context)}}<div class="ui label">{{$.locale.Tr "repo.pulls.status_checks_requested"}}</div>{{end}} 28 28 {{end}} 29 - <span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.locale.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span> 29 + <span>{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.locale.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span> 30 30 </div> 31 31 </div> 32 32 </div>
+3 -3
templates/repo/release/list.tmpl
··· 12 12 {{end}} 13 13 </h2> 14 14 {{if .EnableFeed}} 15 - <a href="{{.RepoLink}}/{{if .PageIsTagList}}tags{{else}}releases{{end}}.rss"><i class="ui grey icon tooltip gt-ml-3" data-content="{{.locale.Tr "rss_feed"}}" data-position="top center">{{svg "octicon-rss" 18}}</i></a> 15 + <a href="{{.RepoLink}}/{{if .PageIsTagList}}tags{{else}}releases{{end}}.rss"><i class="ui grey icon gt-ml-3" data-tooltip-content="{{.locale.Tr "rss_feed"}}">{{svg "octicon-rss" 18}}</i></a> 16 16 {{end}} 17 17 {{if (and .CanCreateRelease (not .PageIsTagList))}} 18 18 <a class="ui right small green button" href="{{$.RepoLink}}/releases/new"> ··· 127 127 </h4> 128 128 <div class="gt-df gt-ac"> 129 129 {{if $.CanCreateRelease}} 130 - <a class="muted tooltip gt-ml-3 gt-df gt-ac" data-content="{{$.locale.Tr "repo.release.edit"}}" href="{{$.RepoLink}}/releases/edit/{{.TagName | PathEscapeSegments}}" rel="nofollow"> 130 + <a class="muted gt-ml-3 gt-df gt-ac" data-tooltip-content="{{$.locale.Tr "repo.release.edit"}}" href="{{$.RepoLink}}/releases/edit/{{.TagName | PathEscapeSegments}}" rel="nofollow"> 131 131 {{svg "octicon-pencil"}} 132 132 </a> 133 133 {{end}} ··· 175 175 <li> 176 176 <span class="ui text middle aligned right"> 177 177 <span class="ui text grey">{{.Size | FileSize}}</span> 178 - <span class="tooltip" data-content="{{$.locale.Tr "repo.release.download_count" (.DownloadCount | PrettyNumber)}}"> 178 + <span data-tooltip-content="{{$.locale.Tr "repo.release.download_count" (.DownloadCount | PrettyNumber)}}"> 179 179 {{svg "octicon-info"}} 180 180 </span> 181 181 </span>
+1 -1
templates/repo/release/new.tmpl
··· 73 73 <input name="attachment-edit-{{.UUID}}" class="gt-mr-3 attachment_edit" required value="{{.Name}}"/> 74 74 <input name="attachment-del-{{.UUID}}" type="hidden" value="false"/> 75 75 <span class="ui text grey gt-mr-3">{{.Size | FileSize}}</span> 76 - <span class="tooltip" data-content="{{$.locale.Tr "repo.release.download_count" (.DownloadCount | PrettyNumber)}}"> 76 + <span data-tooltip-content="{{$.locale.Tr "repo.release.download_count" (.DownloadCount | PrettyNumber)}}"> 77 77 {{svg "octicon-info"}} 78 78 </span> 79 79 </div>
+3 -3
templates/repo/search.tmpl
··· 6 6 <form class="ui form ignore-dirty" method="get"> 7 7 <div class="ui fluid action input"> 8 8 <input name="q" value="{{.Keyword}}"{{if .CodeIndexerUnavailable}} disabled{{end}} placeholder="{{.locale.Tr "repo.search.search_repo"}}"> 9 - <div class="ui dropdown selection tooltip{{if .CodeIndexerUnavailable}} disabled{{end}}" data-content="{{.locale.Tr "repo.search.type.tooltip"}}"> 9 + <div class="ui dropdown selection {{if .CodeIndexerUnavailable}} disabled{{end}}" data-tooltip-content="{{.locale.Tr "repo.search.type.tooltip"}}"> 10 10 <input name="t" type="hidden"{{if .CodeIndexerUnavailable}} disabled{{end}} value="{{.queryType}}">{{svg "octicon-triangle-down" 14 "dropdown icon"}} 11 11 <div class="text">{{.locale.Tr (printf "repo.search.%s" (or .queryType "fuzzy"))}}</div> 12 12 <div class="menu"> 13 - <div class="item tooltip" data-value="" data-content="{{.locale.Tr "repo.search.fuzzy.tooltip"}}">{{.locale.Tr "repo.search.fuzzy"}}</div> 14 - <div class="item tooltip" data-value="match" data-content="{{.locale.Tr "repo.search.match.tooltip"}}">{{.locale.Tr "repo.search.match"}}</div> 13 + <div class="item" data-value="" data-tooltip-content="{{.locale.Tr "repo.search.fuzzy.tooltip"}}">{{.locale.Tr "repo.search.fuzzy"}}</div> 14 + <div class="item" data-value="match" data-tooltip-content="{{.locale.Tr "repo.search.match.tooltip"}}">{{.locale.Tr "repo.search.match"}}</div> 15 15 </div> 16 16 </div> 17 17 <button class="ui icon button"{{if .CodeIndexerUnavailable}} disabled{{end}} type="submit">{{svg "octicon-search" 16}}</button>
+2 -2
templates/repo/settings/collaboration.tmpl
··· 66 66 {{.Name}} 67 67 </a> 68 68 </div> 69 - <div class="ui eight wide column tooltip" data-content="{{$.locale.Tr "repo.settings.change_team_permission_tip"}}"> 69 + <div class="ui eight wide column" data-tooltip-content="{{$.locale.Tr "repo.settings.change_team_permission_tip"}}"> 70 70 {{svg "octicon-shield-lock"}} 71 71 <div class="ui inline dropdown"> 72 72 <div class="text">{{if eq .AccessMode 1}}{{$.locale.Tr "repo.settings.collaboration.read"}}{{else if eq .AccessMode 2}}{{$.locale.Tr "repo.settings.collaboration.write"}}{{else if eq .AccessMode 3}}{{$.locale.Tr "repo.settings.collaboration.admin"}}{{else if eq .AccessMode 4}}{{$.locale.Tr "repo.settings.collaboration.owner"}}{{else}}{{$.locale.Tr "repo.settings.collaboration.undefined"}}{{end}}</div> ··· 79 79 {{end}} 80 80 </div> 81 81 {{if $allowedToChangeTeams}} 82 - <div class="ui two wide column {{if .IncludesAllRepositories}}tooltip{{end}}" {{if .IncludesAllRepositories}} data-content="{{$.locale.Tr "repo.settings.delete_team_tip"}}"{{end}}> 82 + <div class="ui two wide column" {{if .IncludesAllRepositories}} data-tooltip-content="{{$.locale.Tr "repo.settings.delete_team_tip"}}"{{end}}> 83 83 <button class="ui red tiny button inline text-thin delete-button {{if .IncludesAllRepositories}}disabled{{end}}" data-url="{{$.Link}}/team/delete" data-id="{{.ID}}"> 84 84 {{$.locale.Tr "repo.settings.delete_collaborator"}} 85 85 </button>
+1 -1
templates/repo/settings/deploy_keys.tmpl
··· 56 56 </button> 57 57 </div> 58 58 <div class="left floated content"> 59 - <i class="tooltip{{if .HasRecentActivity}} green{{end}}" {{if .HasRecentActivity}}data-content="{{$.locale.Tr "settings.key_state_desc"}}"{{end}}>{{svg "octicon-key" 32}}</i> 59 + <i class="text {{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-tooltip-content="{{$.locale.Tr "settings.key_state_desc"}}"{{end}}>{{svg "octicon-key" 32}}</i> 60 60 </div> 61 61 <div class="content"> 62 62 <strong>{{.Name}}</strong>
+1 -1
templates/repo/settings/lfs.tmpl
··· 27 27 <td class="right aligned"> 28 28 <a class="ui primary button" href="{{$.Link}}/find?oid={{.Oid}}&size={{.Size}}">{{$.locale.Tr "repo.settings.lfs_findcommits"}}</a> 29 29 <button class="ui basic show-modal icon button" data-modal="#delete-{{.Oid}}"> 30 - <span class="btn-octicon btn-octicon-danger tooltip" data-content="{{$.locale.Tr "repo.editor.delete_this_file"}}" data-position="bottom center">{{svg "octicon-trash"}}</span> 30 + <span class="btn-octicon btn-octicon-danger" data-tooltip-content="{{$.locale.Tr "repo.editor.delete_this_file"}}">{{svg "octicon-trash"}}</span> 31 31 </button> 32 32 </td> 33 33 </tr>
+2 -2
templates/repo/settings/lfs_locks.tmpl
··· 27 27 <a href="{{$.RepoLink}}/src/branch/{{PathEscapeSegments $.Repository.DefaultBranch}}/{{PathEscapeSegments $lock.Path}}" title="{{$lock.Path}}">{{$lock.Path}}</a> 28 28 {{else}} 29 29 {{svg "octicon-diff"}} 30 - <span class="tooltip" title="{{$.locale.Tr "repo.settings.lfs_lock_file_no_exist"}}">{{$lock.Path}}</span> 30 + <span data-tooltip-content="{{$.locale.Tr "repo.settings.lfs_lock_file_no_exist"}}">{{$lock.Path}}</span> 31 31 {{end}} 32 32 {{if not (index $.Lockables $index)}} 33 - <span class="tooltip" title="{{$.locale.Tr "repo.settings.lfs_noattribute"}}">{{svg "octicon-alert"}}</span> 33 + <span data-tooltip-content="{{$.locale.Tr "repo.settings.lfs_noattribute"}}">{{svg "octicon-alert"}}</span> 34 34 {{end}} 35 35 </td> 36 36 <td>
+13 -13
templates/repo/settings/options.tmpl
··· 171 171 {{$address := MirrorRemoteAddress $.Context $.Repository .GetRemoteName true}} 172 172 <td>{{$address.Address}}</td> 173 173 <td>{{$.locale.Tr "repo.settings.mirror_settings.direction.push"}}</td> 174 - <td>{{if .LastUpdateUnix}}<time data-format="date-time" datetime="{{.LastUpdateUnix.FormatLong}}">{{.LastUpdateUnix.AsTime}}</time>{{else}}{{$.locale.Tr "never"}}{{end}} {{if .LastError}}<div class="ui red label tooltip" data-content="{{.LastError}}">{{$.locale.Tr "error"}}</div>{{end}}</td> 174 + <td>{{if .LastUpdateUnix}}<time data-format="date-time" datetime="{{.LastUpdateUnix.FormatLong}}">{{.LastUpdateUnix.AsTime}}</time>{{else}}{{$.locale.Tr "never"}}{{end}} {{if .LastError}}<div class="ui red label" data-tooltip-content="{{.LastError}}">{{$.locale.Tr "error"}}</div>{{end}}</td> 175 175 <td class="right aligned"> 176 176 <form method="post" style="display: inline-block"> 177 177 {{$.CsrfTokenHtml}} ··· 253 253 <div class="inline field"> 254 254 <label>{{.locale.Tr "repo.code"}}</label> 255 255 {{if .UnitTypeCode.UnitGlobalDisabled}} 256 - <div class="ui checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}"> 256 + <div class="ui checkbox disabled" data-tooltip-content="{{.locale.Tr "repo.unit_disabled"}}"> 257 257 {{else}} 258 258 <div class="ui checkbox"> 259 259 {{end}} ··· 266 266 <div class="inline field"> 267 267 <label>{{.locale.Tr "repo.wiki"}}</label> 268 268 {{if and (.UnitTypeWiki.UnitGlobalDisabled) (.UnitTypeExternalWiki.UnitGlobalDisabled)}} 269 - <div class="ui checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}"> 269 + <div class="ui checkbox disabled" data-tooltip-content="{{.locale.Tr "repo.unit_disabled"}}"> 270 270 {{else}} 271 271 <div class="ui checkbox"> 272 272 {{end}} ··· 277 277 <div class="field {{if not $isWikiEnabled}}disabled{{end}}" id="wiki_box"> 278 278 <div class="field"> 279 279 {{if .UnitTypeWiki.UnitGlobalDisabled}} 280 - <div class="ui radio checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}"> 280 + <div class="ui radio checkbox disabled" data-tooltip-content="{{.locale.Tr "repo.unit_disabled"}}"> 281 281 {{else}} 282 282 <div class="ui radio checkbox"> 283 283 {{end}} ··· 287 287 </div> 288 288 <div class="field"> 289 289 {{if .UnitTypeExternalWiki.UnitGlobalDisabled}} 290 - <div class="ui radio checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}"> 290 + <div class="ui radio checkbox disabled" data-tooltip-content="{{.locale.Tr "repo.unit_disabled"}}"> 291 291 {{else}} 292 292 <div class="ui radio checkbox"> 293 293 {{end}} ··· 308 308 <div class="inline field"> 309 309 <label>{{.locale.Tr "repo.issues"}}</label> 310 310 {{if and (.UnitTypeIssues.UnitGlobalDisabled) (.UnitTypeExternalTracker.UnitGlobalDisabled)}} 311 - <div class="ui checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}"> 311 + <div class="ui checkbox disabled" data-tooltip-content="{{.locale.Tr "repo.unit_disabled"}}"> 312 312 {{else}} 313 313 <div class="ui checkbox"> 314 314 {{end}} ··· 319 319 <div class="field {{if not $isIssuesEnabled}}disabled{{end}}" id="issue_box"> 320 320 <div class="field"> 321 321 {{if .UnitTypeIssues.UnitGlobalDisabled}} 322 - <div class="ui radio checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}"> 322 + <div class="ui radio checkbox disabled" data-tooltip-content="{{.locale.Tr "repo.unit_disabled"}}"> 323 323 {{else}} 324 324 <div class="ui radio checkbox"> 325 325 {{end}} ··· 355 355 </div> 356 356 <div class="field"> 357 357 {{if .UnitTypeExternalTracker.UnitGlobalDisabled}} 358 - <div class="ui radio checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}"> 358 + <div class="ui radio checkbox disabled" data-tooltip-content="{{.locale.Tr "repo.unit_disabled"}}"> 359 359 {{else}} 360 360 <div class="ui radio checkbox"> 361 361 {{end}} ··· 411 411 <div class="inline field"> 412 412 <label>{{.locale.Tr "repo.project_board"}}</label> 413 413 {{if .UnitTypeProjects.UnitGlobalDisabled}} 414 - <div class="ui checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}"> 414 + <div class="ui checkbox disabled" data-tooltip-content="{{.locale.Tr "repo.unit_disabled"}}"> 415 415 {{else}} 416 416 <div class="ui checkbox"> 417 417 {{end}} ··· 424 424 <div class="inline field"> 425 425 <label>{{.locale.Tr "repo.releases"}}</label> 426 426 {{if .UnitTypeReleases.UnitGlobalDisabled}} 427 - <div class="ui checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}"> 427 + <div class="ui checkbox disabled" data-tooltip-content="{{.locale.Tr "repo.unit_disabled"}}"> 428 428 {{else}} 429 429 <div class="ui checkbox"> 430 430 {{end}} ··· 437 437 <div class="inline field"> 438 438 <label>{{.locale.Tr "repo.packages"}}</label> 439 439 {{if .UnitTypePackages.UnitGlobalDisabled}} 440 - <div class="ui checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}"> 440 + <div class="ui checkbox disabled" data-tooltip-content="{{.locale.Tr "repo.unit_disabled"}}"> 441 441 {{else}} 442 442 <div class="ui checkbox"> 443 443 {{end}} ··· 451 451 <div class="inline field"> 452 452 <label>{{.locale.Tr "actions.actions"}}</label> 453 453 {{if .UnitTypeActions.UnitGlobalDisabled}} 454 - <div class="ui checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}"> 454 + <div class="ui checkbox disabled" data-tooltip-content="{{.locale.Tr "repo.unit_disabled"}}"> 455 455 {{else}} 456 456 <div class="ui checkbox"> 457 457 {{end}} ··· 468 468 <div class="inline field"> 469 469 <label>{{.locale.Tr "repo.pulls"}}</label> 470 470 {{if .UnitTypePullRequests.UnitGlobalDisabled}} 471 - <div class="ui checkbox tooltip disabled" data-content="{{.locale.Tr "repo.unit_disabled"}}"> 471 + <div class="ui checkbox disabled" data-tooltip-content="{{.locale.Tr "repo.unit_disabled"}}"> 472 472 {{else}} 473 473 <div class="ui checkbox"> 474 474 {{end}}
+2 -2
templates/repo/settings/webhook/history.tmpl
··· 3 3 {{.locale.Tr "repo.settings.recent_deliveries"}} 4 4 {{if .Permission.IsAdmin}} 5 5 <div class="ui right"> 6 - <button class="ui teal tiny button tooltip" id="test-delivery" data-content= 6 + <button class="ui teal tiny button" id="test-delivery" data-tooltip-content= 7 7 "{{.locale.Tr "repo.settings.webhook.test_delivery_desc"}}" data-link="{{.Link}}/test" data-redirect="{{.Link}}">{{.locale.Tr "repo.settings.webhook.test_delivery"}}</button> 8 8 </div> 9 9 {{end}} ··· 44 44 <div class="right menu"> 45 45 <form class="item" action="{{$.Link}}/replay/{{.UUID}}" method="post"> 46 46 {{$.CsrfTokenHtml}} 47 - <button class="ui tiny button tooltip" data-content="{{$.locale.Tr "repo.settings.webhook.replay.description"}}">{{svg "octicon-sync"}}</button> 47 + <button class="ui tiny button" data-tooltip-content="{{$.locale.Tr "repo.settings.webhook.replay.description"}}">{{svg "octicon-sync"}}</button> 48 48 </form> 49 49 </div> 50 50 {{end}}
+5 -5
templates/repo/sub_menu.tmpl
··· 4 4 <div class="ui two horizontal center link list"> 5 5 {{if and (.Permission.CanRead $.UnitTypeCode) (not .IsEmptyRepo)}} 6 6 <div class="item{{if .PageIsCommits}} active{{end}}"> 7 - <a class="ui" href="{{.RepoLink}}/commits/{{.BranchNameSubURL}}">{{svg "octicon-history"}} <b>{{JsPrettyNumber .CommitsCount}}</b> {{.locale.TrN .CommitsCount "repo.commit" "repo.commits"}}</a> 7 + <a href="{{.RepoLink}}/commits/{{.BranchNameSubURL}}">{{svg "octicon-history"}} <b>{{JsPrettyNumber .CommitsCount}}</b> {{.locale.TrN .CommitsCount "repo.commit" "repo.commits"}}</a> 8 8 </div> 9 9 <div class="item{{if .PageIsBranches}} active{{end}}"> 10 - <a class="ui" href="{{.RepoLink}}/branches">{{svg "octicon-git-branch"}} <b>{{.BranchesCount}}</b> {{.locale.TrN .BranchesCount "repo.branch" "repo.branches"}}</a> 10 + <a href="{{.RepoLink}}/branches">{{svg "octicon-git-branch"}} <b>{{.BranchesCount}}</b> {{.locale.TrN .BranchesCount "repo.branch" "repo.branches"}}</a> 11 11 </div> 12 12 {{if $.Permission.CanRead $.UnitTypeCode}} 13 13 <div class="item"> 14 - <a class="ui" href="{{.RepoLink}}/tags">{{svg "octicon-tag"}} <b>{{.NumTags}}</b> {{.locale.TrN .NumTags "repo.tag" "repo.tags"}}</a> 14 + <a href="{{.RepoLink}}/tags">{{svg "octicon-tag"}} <b>{{.NumTags}}</b> {{.locale.TrN .NumTags "repo.tag" "repo.tags"}}</a> 15 15 </div> 16 16 {{end}} 17 17 <div class="item"> 18 - <span class="ui">{{svg "octicon-database"}} <b>{{FileSize .Repository.Size}}</b></span> 18 + <span>{{svg "octicon-database"}} <b>{{FileSize .Repository.Size}}</b></span> 19 19 </div> 20 20 {{end}} 21 21 </div> ··· 40 40 </div> 41 41 <a class="ui segment language-stats"> 42 42 {{range .LanguageStats}} 43 - <div class="bar tooltip" style="width: {{.Percentage}}%; background-color: {{.Color}}" data-tooltip-placement="top" data-tooltip-content={{.Language}}>&nbsp;</div> 43 + <div class="bar" style="width: {{.Percentage}}%; background-color: {{.Color}}" data-tooltip-placement="top" data-tooltip-content={{.Language}}>&nbsp;</div> 44 44 {{end}} 45 45 </a> 46 46 {{end}}
+8 -8
templates/repo/view_file.tmpl
··· 18 18 <div class="file-header-right file-actions gt-df gt-ac gt-fw"> 19 19 {{if .HasSourceRenderedToggle}} 20 20 <div class="ui compact icon buttons two-toggle-buttons"> 21 - <a href="{{$.Link}}?display=source" class="ui mini basic button tooltip {{if .IsDisplayingSource}}active{{end}}" data-content="{{.locale.Tr "repo.file_view_source"}}" data-position="bottom center">{{svg "octicon-code" 15}}</a> 22 - <a href="{{$.Link}}" class="ui mini basic button tooltip {{if .IsDisplayingRendered}}active{{end}}" data-content="{{.locale.Tr "repo.file_view_rendered"}}" data-position="bottom center">{{svg "octicon-file" 15}}</a> 21 + <a href="{{$.Link}}?display=source" class="ui mini basic button {{if .IsDisplayingSource}}active{{end}}" data-tooltip-content="{{.locale.Tr "repo.file_view_source"}}">{{svg "octicon-code" 15}}</a> 22 + <a href="{{$.Link}}" class="ui mini basic button {{if .IsDisplayingRendered}}active{{end}}" data-tooltip-content="{{.locale.Tr "repo.file_view_rendered"}}">{{svg "octicon-file" 15}}</a> 23 23 </div> 24 24 {{end}} 25 25 {{if not .ReadmeInList}} ··· 37 37 <a class="ui mini basic button escape-button">{{.locale.Tr "repo.escape_control_characters"}}</a> 38 38 {{end}} 39 39 </div> 40 - <a download href="{{$.RawFileLink}}"><span class="btn-octicon tooltip" data-content="{{.locale.Tr "repo.download_file"}}" data-position="bottom center">{{svg "octicon-download"}}</span></a> 41 - <a id="copy-content" class="btn-octicon tooltip{{if not .CanCopyContent}} disabled{{end}}"{{if or .IsImageFile (and .HasSourceRenderedToggle (not .IsDisplayingSource))}} data-link="{{$.RawFileLink}}"{{end}} data-content="{{if .CanCopyContent}}{{.locale.Tr "copy_content"}}{{else}}{{.locale.Tr "copy_type_unsupported"}}{{end}}">{{svg "octicon-copy" 14}}</a> 40 + <a download href="{{$.RawFileLink}}"><span class="btn-octicon" data-tooltip-content="{{.locale.Tr "repo.download_file"}}">{{svg "octicon-download"}}</span></a> 41 + <a id="copy-content" class="btn-octicon {{if not .CanCopyContent}} disabled{{end}}"{{if or .IsImageFile (and .HasSourceRenderedToggle (not .IsDisplayingSource))}} data-link="{{$.RawFileLink}}"{{end}} data-tooltip-content="{{if .CanCopyContent}}{{.locale.Tr "copy_content"}}{{else}}{{.locale.Tr "copy_type_unsupported"}}{{end}}">{{svg "octicon-copy" 14}}</a> 42 42 {{if .Repository.CanEnableEditor}} 43 43 {{if .CanEditFile}} 44 - <a href="{{.RepoLink}}/_edit/{{PathEscapeSegments .BranchName}}/{{PathEscapeSegments .TreePath}}"><span class="btn-octicon tooltip" data-content="{{.EditFileTooltip}}" data-position="bottom center">{{svg "octicon-pencil"}}</span></a> 44 + <a href="{{.RepoLink}}/_edit/{{PathEscapeSegments .BranchName}}/{{PathEscapeSegments .TreePath}}"><span class="btn-octicon" data-tooltip-content="{{.EditFileTooltip}}">{{svg "octicon-pencil"}}</span></a> 45 45 {{else}} 46 - <span class="btn-octicon tooltip disabled" data-content="{{.EditFileTooltip}}" data-position="bottom center">{{svg "octicon-pencil"}}</span> 46 + <span class="btn-octicon disabled" data-tooltip-content="{{.EditFileTooltip}}">{{svg "octicon-pencil"}}</span> 47 47 {{end}} 48 48 {{if .CanDeleteFile}} 49 - <a href="{{.RepoLink}}/_delete/{{PathEscapeSegments .BranchName}}/{{PathEscapeSegments .TreePath}}"><span class="btn-octicon btn-octicon-danger tooltip" data-content="{{.DeleteFileTooltip}}" data-position="bottom center">{{svg "octicon-trash"}}</span></a> 49 + <a href="{{.RepoLink}}/_delete/{{PathEscapeSegments .BranchName}}/{{PathEscapeSegments .TreePath}}"><span class="btn-octicon btn-octicon-danger" data-tooltip-content="{{.DeleteFileTooltip}}">{{svg "octicon-trash"}}</span></a> 50 50 {{else}} 51 - <span class="btn-octicon tooltip disabled" data-content="{{.DeleteFileTooltip}}" data-position="bottom center">{{svg "octicon-trash"}}</span> 51 + <span class="btn-octicon disabled" data-tooltip-content="{{.DeleteFileTooltip}}">{{svg "octicon-trash"}}</span> 52 52 {{end}} 53 53 {{end}} 54 54 {{else if .EscapeStatus.Escaped}}
+1 -1
templates/repo/wiki/revision.tmpl
··· 20 20 </div> 21 21 </div> 22 22 <h2 class="ui top header">{{.locale.Tr "repo.wiki.wiki_page_revisions"}}</h2> 23 - <div class="ui" style="margin-top: 1rem;"> 23 + <div style="margin-top: 1rem;"> 24 24 <h4 class="ui top attached header"> 25 25 <div class="ui stackable grid"> 26 26 <div class="sixteen wide column">
+1 -1
templates/shared/actions/runner_edit.tmpl
··· 36 36 <label for="description">{{.locale.Tr "actions.runners.description"}}</label> 37 37 <input id="description" name="description" value="{{.Runner.Description}}"> 38 38 </div> 39 - <div class="field tooltip" data-content="Labels are comma-separated. Whitespace at the beginning, end, and around the commas are ignored."> 39 + <div class="field" data-tooltip-content="Labels are comma-separated. Whitespace at the beginning, end, and around the commas are ignored."> 40 40 <label for="custom_labels">{{.locale.Tr "actions.runners.custom_labels"}}</label> 41 41 <input id="custom_labels" name="custom_labels" value="{{Join .Runner.CustomLabels `,`}}"> 42 42 <p class="help">{{.locale.Tr "actions.runners.custom_labels_helper"}}</p>
+1 -1
templates/shared/actions/runner_list.tmpl
··· 64 64 <span class="runner-status-{{if .IsOnline}}online{{else}}offline{{end}}">{{.StatusLocaleName $.locale}}</span> 65 65 </td> 66 66 <td>{{.ID}}</td> 67 - <td><p class="tooltip" data-content="{{.Description}}">{{.Name}}</p></td> 67 + <td><p data-tooltip-content="{{.Description}}">{{.Name}}</p></td> 68 68 <td>{{.Version}}</td> 69 69 <td>{{.OwnType}}</td> 70 70 <td class="runner-tags">
+2 -2
templates/shared/issuelist.tmpl
··· 105 105 </span> 106 106 {{end}} 107 107 {{if ne .DeadlineUnix 0}} 108 - <span class="due-date tooltip" data-content="{{$.locale.Tr "repo.issues.due_date"}}" data-position="right center"> 108 + <span class="due-date" data-tooltip-content="{{$.locale.Tr "repo.issues.due_date"}}"> 109 109 <span{{if .IsOverdue}} class="overdue"{{end}}> 110 110 {{svg "octicon-calendar" 14 "gt-mr-2"}} 111 111 <time data-format="short-date" datetime="{{.DeadlineUnix.FormatDate}}">{{.DeadlineUnix.FormatShort}}</time> ··· 154 154 {{if .Assignees}} 155 155 <div class="issue-item-icon-right text grey"> 156 156 {{range .Assignees}} 157 - <a class="ui assignee tooltip gt-tdn" href="{{.HomeLink}}" data-content="{{.GetDisplayName}}" data-position="left center"> 157 + <a class="ui assignee gt-tdn" href="{{.HomeLink}}" data-tooltip-content="{{.GetDisplayName}}"> 158 158 {{avatar $.Context .}} 159 159 </a> 160 160 {{end}}
+2 -2
templates/user/dashboard/issues.tmpl
··· 34 34 <div class="ui divider"></div> 35 35 <a class="{{if not $.RepoIDs}}ui basic primary button{{end}} repo name item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&q={{$.Keyword}}"> 36 36 <span class="text truncate">All</span> 37 - <span class="ui">{{CountFmt .TotalIssueCount}}</span> 37 + <span>{{CountFmt .TotalIssueCount}}</span> 38 38 </a> 39 39 {{range .Repos}} 40 40 {{with $Repo := .}} ··· 53 53 {{- end -}} 54 54 ]&sort={{$.SortType}}&state={{$.State}}&q={{$.Keyword}}" title="{{.FullName}}"> 55 55 <span class="text truncate">{{$Repo.FullName}}</span> 56 - <span class="ui">{{CountFmt (index $.Counts $Repo.ID)}}</span> 56 + <span>{{CountFmt (index $.Counts $Repo.ID)}}</span> 57 57 </a> 58 58 {{end}} 59 59 {{end}}
+4 -4
templates/user/profile.tmpl
··· 6 6 <div class="ui card"> 7 7 <div id="profile-avatar" class="content gt-df"/> 8 8 {{if eq .SignedUserName .Owner.Name}} 9 - <a class="image tooltip" href="{{AppSubUrl}}/user/settings" data-content="{{.locale.Tr "user.change_avatar"}}" data-position="bottom center"> 9 + <a class="image" href="{{AppSubUrl}}/user/settings" data-tooltip-content="{{.locale.Tr "user.change_avatar"}}"> 10 10 {{avatar $.Context .Owner 290}} 11 11 </a> 12 12 {{else}} ··· 19 19 {{if .Owner.FullName}}<span class="header text center">{{.Owner.FullName}}</span>{{end}} 20 20 <span class="username text center">{{.Owner.Name}}</span> 21 21 {{if .EnableFeed}} 22 - <a href="{{.Owner.HomeLink}}.rss"><i class="ui grey icon tooltip gt-ml-3" data-content="{{.locale.Tr "rss_feed"}}" data-position="bottom center">{{svg "octicon-rss" 18}}</i></a> 22 + <a href="{{.Owner.HomeLink}}.rss"><i class="ui text grey gt-ml-3" data-tooltip-content="{{.locale.Tr "rss_feed"}}">{{svg "octicon-rss" 18}}</i></a> 23 23 {{end}} 24 24 <div class="gt-mt-3"> 25 25 <a class="muted" href="{{.Owner.HomeLink}}?tab=followers">{{svg "octicon-person" 18 "gt-mr-2"}}{{.Owner.NumFollowers}} {{.locale.Tr "user.followers"}}</a> · <a class="muted" href="{{.Owner.HomeLink}}?tab=following">{{.Owner.NumFollowing}} {{.locale.Tr "user.following"}}</a> ··· 62 62 {{range .Orgs}} 63 63 {{if (or .Visibility.IsPublic (and ($.SignedUser) (or .Visibility.IsLimited (and (.HasMemberWithUserID $.SignedUserID) .Visibility.IsPrivate) ($.IsAdmin))))}} 64 64 <li> 65 - <a class="tooltip" href="{{.HomeLink}}" data-content="{{.Name}}" data-position="top center"> 65 + <a href="{{.HomeLink}}" data-tooltip-content="{{.Name}}"> 66 66 {{avatar $.Context .}} 67 67 </a> 68 68 </li> ··· 76 76 <ul class="user-badges"> 77 77 {{range .Badges}} 78 78 <li> 79 - <img width="64" height="64" src="{{.ImageURL}}" alt="{{.Description}}" data-content="{{.Description}}" class="tooltip"/> 79 + <img width="64" height="64" src="{{.ImageURL}}" alt="{{.Description}}" data-tooltip-content="{{.Description}}"> 80 80 </li> 81 81 {{end}} 82 82 </ul>
+1 -1
templates/user/settings/applications.tmpl
··· 19 19 {{$.locale.Tr "settings.delete_token"}} 20 20 </button> 21 21 </div> 22 - <i class="icon tooltip{{if .HasRecentActivity}} green{{end}}" {{if .HasRecentActivity}}data-content="{{$.locale.Tr "settings.token_state_desc"}}"{{end}}>{{svg "fontawesome-send" 36}}</i> 22 + <i class="text {{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-tooltip-content="{{$.locale.Tr "settings.token_state_desc"}}"{{end}}>{{svg "fontawesome-send" 36}}</i> 23 23 <div class="content"> 24 24 <details><summary><strong>{{.Name}}</strong></summary> 25 25 <p class="gt-my-2">{{$.locale.Tr "settings.scopes_list"}}</p>
+2 -2
templates/user/settings/keys_gpg.tmpl
··· 58 58 </div> 59 59 <div class="content"> 60 60 {{if .Verified}} 61 - <span class="tooltip" data-content="{{$.locale.Tr "settings.gpg_key_verified_long"}}">{{svg "octicon-verified"}} <strong>{{$.locale.Tr "settings.gpg_key_verified"}}</strong></span> 61 + <span data-tooltip-content="{{$.locale.Tr "settings.gpg_key_verified_long"}}">{{svg "octicon-verified"}} <strong>{{$.locale.Tr "settings.gpg_key_verified"}}</strong></span> 62 62 {{end}} 63 63 {{if gt (len .Emails) 0}} 64 - <span class="tooltip" data-content="{{$.locale.Tr "settings.gpg_key_matched_identities_long"}}">{{svg "octicon-mail"}} {{$.locale.Tr "settings.gpg_key_matched_identities"}} {{range .Emails}}<strong>{{.Email}} </strong>{{end}}</span> 64 + <span data-tooltip-content="{{$.locale.Tr "settings.gpg_key_matched_identities_long"}}">{{svg "octicon-mail"}} {{$.locale.Tr "settings.gpg_key_matched_identities"}} {{range .Emails}}<strong>{{.Email}} </strong>{{end}}</span> 65 65 {{end}} 66 66 <div class="print meta"> 67 67 <b>{{$.locale.Tr "settings.key_id"}}:</b> {{.PaddedKeyID}}
+1 -1
templates/user/settings/keys_principal.tmpl
··· 21 21 {{$.locale.Tr "settings.delete_key"}} 22 22 </button> 23 23 </div> 24 - <i class="icon tooltip{{if .HasRecentActivity}} green{{end}}" {{if .HasRecentActivity}}data-content="{{$.locale.Tr "settings.principal_state_desc"}}"{{end}}>{{svg "octicon-key" 36}}</i> 24 + <i class="text {{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-tooltip-content="{{$.locale.Tr "settings.principal_state_desc"}}"{{end}}>{{svg "octicon-key" 36}}</i> 25 25 <div class="content"> 26 26 <strong>{{.Name}}</strong> 27 27 <div class="activity meta">
+2 -2
templates/user/settings/keys_ssh.tmpl
··· 47 47 48 48 </div> 49 49 <div class="left floated content"> 50 - <span class="tooltip text {{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-content="{{$.locale.Tr "settings.key_state_desc"}}"{{end}}>{{svg "octicon-key" 32}}</span> 50 + <span class="text {{if .HasRecentActivity}}green{{end}}" {{if .HasRecentActivity}}data-tooltip-content="{{$.locale.Tr "settings.key_state_desc"}}"{{end}}>{{svg "octicon-key" 32}}</span> 51 51 </div> 52 52 <div class="content"> 53 53 {{if .Verified}} 54 - <span class="tooltip" data-content="{{$.locale.Tr "settings.ssh_key_verified_long"}}">{{svg "octicon-verified"}} <strong>{{$.locale.Tr "settings.ssh_key_verified"}}</strong></span> 54 + <span data-tooltip-content="{{$.locale.Tr "settings.ssh_key_verified_long"}}">{{svg "octicon-verified"}} <strong>{{$.locale.Tr "settings.ssh_key_verified"}}</strong></span> 55 55 {{end}} 56 56 <strong>{{.Name}}</strong> 57 57 <div class="print meta">
+5 -5
templates/user/settings/profile.tmpl
··· 30 30 </div> 31 31 <div class="inline field"> 32 32 <div class="ui checkbox" id="keep-email-private"> 33 - <label class="tooltip" data-content="{{.locale.Tr "settings.keep_email_private_popup"}}"><strong>{{.locale.Tr "settings.keep_email_private"}}</strong></label> 33 + <label data-tooltip-content="{{.locale.Tr "settings.keep_email_private_popup"}}"><strong>{{.locale.Tr "settings.keep_email_private"}}</strong></label> 34 34 <input name="keep_email_private" type="checkbox" {{if .SignedUser.KeepEmailPrivate}}checked{{end}}> 35 35 </div> 36 36 </div> ··· 69 69 <div class="menu"> 70 70 {{range $mode := .AllowedUserVisibilityModes}} 71 71 {{if $mode.IsPublic}} 72 - <div class="item tooltip" data-content="{{$.locale.Tr "settings.visibility.public_tooltip"}}" data-value="0">{{$.locale.Tr "settings.visibility.public"}}</div> 72 + <div class="item" data-tooltip-content="{{$.locale.Tr "settings.visibility.public_tooltip"}}" data-value="0">{{$.locale.Tr "settings.visibility.public"}}</div> 73 73 {{else if $mode.IsLimited}} 74 - <div class="item tooltip" data-content="{{$.locale.Tr "settings.visibility.limited_tooltip"}}" data-value="1">{{$.locale.Tr "settings.visibility.limited"}}</div> 74 + <div class="item" data-tooltip-content="{{$.locale.Tr "settings.visibility.limited_tooltip"}}" data-value="1">{{$.locale.Tr "settings.visibility.limited"}}</div> 75 75 {{else if $mode.IsPrivate}} 76 - <div class="item tooltip" data-content="{{$.locale.Tr "settings.visibility.private_tooltip"}}" data-value="2">{{$.locale.Tr "settings.visibility.private"}}</div> 76 + <div class="item" data-tooltip-content="{{$.locale.Tr "settings.visibility.private_tooltip"}}" data-value="2">{{$.locale.Tr "settings.visibility.private"}}</div> 77 77 {{end}} 78 78 {{end}} 79 79 </div> ··· 82 82 83 83 <div class="field"> 84 84 <div class="ui checkbox" id="keep-activity-private"> 85 - <label class="tooltip" data-content="{{.locale.Tr "settings.keep_activity_private_popup"}}"><strong>{{.locale.Tr "settings.keep_activity_private"}}</strong></label> 85 + <label data-tooltip-content="{{.locale.Tr "settings.keep_activity_private_popup"}}"><strong>{{.locale.Tr "settings.keep_activity_private"}}</strong></label> 86 86 <input name="keep_activity_private" type="checkbox" {{if .SignedUser.KeepActivityPrivate}}checked{{end}}> 87 87 </div> 88 88 </div>
+1 -1
tests/e2e/utils_e2e.js
··· 53 53 timeout: 20000, 54 54 mask: [ 55 55 page.locator('.dashboard-navbar span>img.ui.avatar'), 56 - page.locator('.ui.dropdown.jump.item.tooltip span>img.ui.avatar'), 56 + page.locator('.ui.dropdown.jump.item span>img.ui.avatar'), 57 57 ], 58 58 }); 59 59 }
+1 -1
tests/integration/repo_test.go
··· 75 75 } 76 76 }) 77 77 78 - f.commitTime, _ = s.Find("span.time-since").Attr("data-content") 78 + f.commitTime, _ = s.Find("span.time-since").Attr("data-tooltip-content") 79 79 items = append(items, f) 80 80 }) 81 81
+2 -2
web_src/js/components/DashboardRepoList.vue
··· 10 10 {{ textMyRepos }} 11 11 <span class="ui grey label gt-ml-3">{{ reposTotalCount }}</span> 12 12 </div> 13 - <a class="tooltip" :href="subUrl + '/repo/create'" :data-content="textNewRepo" data-position="left center"> 13 + <a :href="subUrl + '/repo/create'" :data-tooltip-content="textNewRepo"> 14 14 <svg-icon name="octicon-plus"/> 15 15 <span class="sr-only">{{ textNewRepo }}</span> 16 16 </a> ··· 119 119 {{ textMyOrgs }} 120 120 <span class="ui grey label gt-ml-3">{{ organizationsTotalCount }}</span> 121 121 </div> 122 - <a v-if="canCreateOrganization" class="tooltip" :href="subUrl + '/org/create'" :data-content="textNewOrg" data-position="left center"> 122 + <a v-if="canCreateOrganization" :href="subUrl + '/org/create'" :data-tooltip-content="textNewOrg"> 123 123 <svg-icon name="octicon-plus"/> 124 124 <span class="sr-only">{{ textNewOrg }}</span> 125 125 </a>
+2 -2
web_src/js/components/DiffFileList.vue
··· 4 4 <div class="gt-bold gt-df gt-ac pull-right"> 5 5 <span v-if="file.IsBin" class="gt-ml-1 gt-mr-3">{{ binaryFileMessage }}</span> 6 6 {{ file.IsBin ? '' : file.Addition + file.Deletion }} 7 - <span v-if="!file.IsBin" class="diff-stats-bar tooltip gt-mx-3" :data-content="statisticsMessage.replace('%d', (file.Addition + file.Deletion)).replace('%d', file.Addition).replace('%d', file.Deletion)"> 7 + <span v-if="!file.IsBin" class="diff-stats-bar gt-mx-3" :data-tooltip-content="statisticsMessage.replace('%d', (file.Addition + file.Deletion)).replace('%d', file.Addition).replace('%d', file.Deletion)"> 8 8 <div class="diff-stats-add-bar" :style="{ 'width': diffStatsWidth(file.Addition, file.Deletion) }" /> 9 9 </span> 10 10 </div> 11 11 <!-- todo finish all file status, now modify, add, delete and rename --> 12 - <span :class="['status', diffTypeToString(file.Type), 'tooltip']" :data-content="diffTypeToString(file.Type)" data-position="right center">&nbsp;</span> 12 + <span :class="['status', diffTypeToString(file.Type)]" :data-tooltip-content="diffTypeToString(file.Type)">&nbsp;</span> 13 13 <a class="file gt-mono" :href="'#diff-' + file.NameHash">{{ file.Name }}</a> 14 14 </li> 15 15 <li v-if="isIncomplete" id="diff-too-many-files-stats" class="gt-pt-2">
-2
web_src/js/components/DiffFileTreeItem.vue
··· 5 5 <!-- Files --> 6 6 <SvgIcon 7 7 v-if="item.isFile" 8 - data-position="right center" 9 8 name="octicon-file" 10 9 class="svg-icon file" 11 10 /> ··· 16 15 >{{ item.name }}</a> 17 16 <SvgIcon 18 17 v-if="item.isFile" 19 - data-position="right center" 20 18 :name="getIconForDiffType(item.file.Type)" 21 19 :class="['svg-icon', getIconForDiffType(item.file.Type), 'status']" 22 20 />
+1 -1
web_src/js/features/comp/ReactionSelector.js
··· 26 26 url, 27 27 data: { 28 28 _csrf: csrfToken, 29 - content: $(this).data('content') 29 + content: $(this).attr('data-reaction-content'), 30 30 } 31 31 }).done((resp) => { 32 32 if (resp && (resp.html || resp.empty)) {
+3 -2
web_src/js/modules/aria/dropdown.js
··· 102 102 }); 103 103 104 104 // use tooltip's content as aria-label if there is no aria-label 105 - if ($dropdown.hasClass('tooltip') && $dropdown.attr('data-content') && !$dropdown.attr('aria-label')) { 106 - $dropdown.attr('aria-label', $dropdown.attr('data-content')); 105 + const tooltipContent = $dropdown.attr('data-tooltip-content'); 106 + if (tooltipContent && !$dropdown.attr('aria-label')) { 107 + $dropdown.attr('aria-label', tooltipContent); 107 108 } 108 109 } 109 110
+4 -16
web_src/js/modules/tippy.js
··· 36 36 * @returns {null|tippy} 37 37 */ 38 38 function attachTooltip(target, content = null) { 39 - content = content ?? getTooltipContent(target); 39 + content = content ?? target.getAttribute('data-tooltip-content'); 40 40 if (!content) return null; 41 41 42 42 const props = { ··· 67 67 attachTooltip(this); 68 68 } 69 69 70 - function getTooltipContent(target) { 71 - // prefer to always use the "[data-tooltip-content]" attribute 72 - // for backward compatibility, we also support the ".tooltip[data-content]" attribute 73 - // in next PR, refactor all the ".tooltip[data-content]" to "[data-tooltip-content]" 74 - let content = target.getAttribute('data-tooltip-content'); 75 - if (!content && target.classList.contains('tooltip')) { 76 - content = target.getAttribute('data-content'); 77 - } 78 - return content; 79 - } 80 - 81 70 /** 82 71 * Activate the tooltip for all children elements 83 72 * And if the element has no aria-label, use the tooltip content as aria-label 84 73 * @param target {HTMLElement} 85 74 */ 86 75 function attachChildrenLazyTooltip(target) { 87 - // the selector must match the logic in getTippyTooltipContent 88 - for (const el of target.querySelectorAll('[data-tooltip-content], .tooltip[data-content]')) { 76 + for (const el of target.querySelectorAll('[data-tooltip-content]')) { 89 77 el.addEventListener('mouseover', lazyTooltipOnMouseHover, true); 90 78 91 79 // meanwhile, if the element has no aria-label, use the tooltip content as aria-label 92 80 if (!el.hasAttribute('aria-label')) { 93 - const content = getTooltipContent(el); 81 + const content = target.getAttribute('data-tooltip-content'); 94 82 if (content) { 95 83 el.setAttribute('aria-label', content); 96 84 } ··· 119 107 observer.observe(document, { 120 108 subtree: true, 121 109 childList: true, 122 - attributeFilter: ['data-tooltip-content', 'data-content'], 110 + attributeFilter: ['data-tooltip-content'], 123 111 }); 124 112 125 113 attachChildrenLazyTooltip(document.documentElement);