From bb7f671ec90226245c5b97b7a90ab8924878ea56 Mon Sep 17 00:00:00 2001 From: Nicolas Date: Wed, 1 Apr 2026 12:00:39 +0200 Subject: [PATCH] remove avatar --- routers/web/devtest/devtest.go | 15 ------ templates/devtest/avatar.tmpl | 83 ---------------------------------- 2 files changed, 98 deletions(-) delete mode 100644 templates/devtest/avatar.tmpl diff --git a/routers/web/devtest/devtest.go b/routers/web/devtest/devtest.go index 7b1d2d1271..c9964eac45 100644 --- a/routers/web/devtest/devtest.go +++ b/routers/web/devtest/devtest.go @@ -181,19 +181,6 @@ func prepareMockDataRelativeTime(ctx *context.Context) { ctx.Data["TimeFuture1y"] = now.Add(366 * 24 * time.Hour) } -func prepareMockDataAvatar(ctx *context.Context) { - mockUsers, _ := db.Find[user_model.User](ctx, user_model.SearchUserOptions{ListOptions: db.ListOptions{PageSize: 1}}) - ctx.Data["MockUser"] = mockUsers[0] - ctx.Data["AvatarSizes"] = []int{16, 20, 24, 28, 32, 40, 48, 64, 100, 128} - ctx.Data["SampleEmails"] = []string{ - "alice@example.com", - "bob@example.org", - "charlie@test.io", - "devtest@gitea.io", - "noreply@example.com", - } -} - func prepareMockDataIconGallery(ctx *context.Context) { allNames := svg.DiscoveredIconNames() grouped := map[string][]string{} @@ -219,8 +206,6 @@ func prepareMockData(ctx *context.Context) { prepareMockDataBadgeActionsSvg(ctx) case "/devtest/relative-time": prepareMockDataRelativeTime(ctx) - case "/devtest/avatar": - prepareMockDataAvatar(ctx) case "/devtest/icon-gallery": prepareMockDataIconGallery(ctx) } diff --git a/templates/devtest/avatar.tmpl b/templates/devtest/avatar.tmpl deleted file mode 100644 index 3c48675f63..0000000000 --- a/templates/devtest/avatar.tmpl +++ /dev/null @@ -1,83 +0,0 @@ -{{template "devtest/devtest-header"}} -
-

Avatar

- -

Sizes (via AvatarByEmail)

-

Using ctx.AvatarUtils.AvatarByEmail at various pixel sizes:

-
- {{range $size := .AvatarSizes}} -
- {{ctx.AvatarUtils.AvatarByEmail "devtest@example.com" "Dev Test" $size}} - {{$size}}px -
- {{end}} -
- -

User Avatars

-

Using ctx.AvatarUtils.Avatar with a real user and with nil (fallback):

-
-
- {{ctx.AvatarUtils.Avatar .MockUser 28}} - User (28px) -
-
- {{ctx.AvatarUtils.Avatar .MockUser 40}} - User (40px) -
-
- {{ctx.AvatarUtils.Avatar .MockUser 100}} - User (100px) -
-
- {{ctx.AvatarUtils.Avatar nil 28}} - nil fallback (28px) -
-
- {{ctx.AvatarUtils.Avatar nil 40}} - nil fallback (40px) -
-
- -

Custom CSS Classes

-
-
- {{ctx.AvatarUtils.Avatar .MockUser 28 "ui avatar tw-align-middle"}} - default class -
-
- {{ctx.AvatarUtils.Avatar .MockUser 28 "ui avatar tw-align-middle tw-rounded-full"}} - tw-rounded-full -
-
- -

Inline with Text

-
- {{ctx.AvatarUtils.Avatar .MockUser 20 "ui avatar tw-align-middle"}} {{.MockUser.Name}} opened this issue -
-
- {{ctx.AvatarUtils.AvatarByEmail "user1@example.com" "User One" 16}} User One and {{ctx.AvatarUtils.AvatarByEmail "user2@example.com" "User Two" 16}} User Two -
- -

Avatar with Link (typical pattern)

- - -

Avatar Upload Cropper

-

The cropper requires index.js (global init). The HTML structure is shown below for reference:

-
- {{template "shared/avatar_upload_crop" dict "LabelText" "Choose an avatar"}} -
- -

Multiple Email Avatars (gravatar hashing)

-

Different emails produce different fallback avatars:

-
- {{range $email := .SampleEmails}} -
- {{ctx.AvatarUtils.AvatarByEmail $email $email 28}} - {{$email}} -
- {{end}} -
-
-{{template "devtest/devtest-footer"}}