Skip to content

Commit d99e9e4

Browse files
committed
fix
1 parent e15156d commit d99e9e4

File tree

4 files changed

+112
-71
lines changed

4 files changed

+112
-71
lines changed

modules/setting/config.go

Lines changed: 51 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -97,56 +97,60 @@ func (u *UIStruct) ToStruct(ctx context.Context) UIForm {
9797
}
9898
customEmojis = strings.TrimSuffix(customEmojis, ",")
9999
return UIForm{
100-
ExplorePagingNum: u.ExplorePagingNum.Value(ctx),
101-
SitemapPagingNum: u.SitemapPagingNum.Value(ctx),
102-
IssuePagingNum: u.IssuePagingNum.Value(ctx),
103-
RepoSearchPagingNum: u.RepoSearchPagingNum.Value(ctx),
104-
MembersPagingNum: u.MembersPagingNum.Value(ctx),
105-
FeedMaxCommitNum: u.FeedMaxCommitNum.Value(ctx),
106-
FeedPagingNum: u.FeedPagingNum.Value(ctx),
107-
PackagesPagingNum: u.PackagesPagingNum.Value(ctx),
108-
GraphMaxCommitNum: u.GraphMaxCommitNum.Value(ctx),
109-
CodeCommentLines: u.CodeCommentLines.Value(ctx),
110-
ReactionMaxUserNum: u.ReactionMaxUserNum.Value(ctx),
111-
MaxDisplayFileSize: u.MaxDisplayFileSize.Value(ctx),
112-
ShowUserEmail: u.ShowUserEmail.Value(ctx),
113-
DefaultShowFullName: u.DefaultShowFullName.Value(ctx),
114-
DefaultTheme: u.DefaultTheme.Value(ctx),
115-
Themes: themes,
116-
Reactions: reactions,
117-
CustomEmojis: customEmojis,
118-
SearchRepoDescription: u.SearchRepoDescription.Value(ctx),
119-
OnlyShowRelevantRepos: u.OnlyShowRelevantRepos.Value(ctx),
120-
ExplorePagingDefaultSort: u.ExploreDefaultSort.Value(ctx),
121-
PreferredTimestampTense: u.PreferredTimestampTense.Value(ctx),
122-
AmbiguousUnicodeDetection: u.AmbiguousUnicodeDetection.Value(ctx),
100+
ExplorePagingNum: u.ExplorePagingNum.Value(ctx),
101+
SitemapPagingNum: u.SitemapPagingNum.Value(ctx),
102+
IssuePagingNum: u.IssuePagingNum.Value(ctx),
103+
RepoSearchPagingNum: u.RepoSearchPagingNum.Value(ctx),
104+
MembersPagingNum: u.MembersPagingNum.Value(ctx),
105+
FeedMaxCommitNum: u.FeedMaxCommitNum.Value(ctx),
106+
FeedPagingNum: u.FeedPagingNum.Value(ctx),
107+
PackagesPagingNum: u.PackagesPagingNum.Value(ctx),
108+
GraphMaxCommitNum: u.GraphMaxCommitNum.Value(ctx),
109+
CodeCommentLines: u.CodeCommentLines.Value(ctx),
110+
ReactionMaxUserNum: u.ReactionMaxUserNum.Value(ctx),
111+
MaxDisplayFileSize: u.MaxDisplayFileSize.Value(ctx),
112+
ShowUserEmail: u.ShowUserEmail.Value(ctx),
113+
DefaultShowFullName: u.DefaultShowFullName.Value(ctx),
114+
DefaultTheme: u.DefaultTheme.Value(ctx),
115+
Themes: themes,
116+
Reactions: reactions,
117+
CustomEmojis: customEmojis,
118+
SearchRepoDescription: u.SearchRepoDescription.Value(ctx),
119+
OnlyShowRelevantRepos: u.OnlyShowRelevantRepos.Value(ctx),
120+
ExplorePagingDefaultSort: u.ExploreDefaultSort.Value(ctx),
121+
ExplorePagingSortOption: []string{"recentupdate", "alphabetically", "reverselastlogin", "newest", "oldest"},
122+
PreferredTimestampTense: u.PreferredTimestampTense.Value(ctx),
123+
PreferredTimestampTenseOption: []string{"mixed", "absolute"},
124+
AmbiguousUnicodeDetection: u.AmbiguousUnicodeDetection.Value(ctx),
123125
}
124126
}
125127

126128
type UIForm struct {
127-
ExplorePagingNum int
128-
SitemapPagingNum int
129-
IssuePagingNum int
130-
RepoSearchPagingNum int
131-
MembersPagingNum int
132-
FeedMaxCommitNum int
133-
FeedPagingNum int
134-
PackagesPagingNum int
135-
GraphMaxCommitNum int
136-
CodeCommentLines int
137-
ReactionMaxUserNum int
138-
MaxDisplayFileSize int64
139-
ShowUserEmail bool
140-
DefaultShowFullName bool
141-
DefaultTheme string
142-
Themes string
143-
Reactions string
144-
CustomEmojis string
145-
SearchRepoDescription bool
146-
OnlyShowRelevantRepos bool
147-
ExplorePagingDefaultSort string
148-
PreferredTimestampTense string
149-
AmbiguousUnicodeDetection bool
129+
ExplorePagingNum int
130+
SitemapPagingNum int
131+
IssuePagingNum int
132+
RepoSearchPagingNum int
133+
MembersPagingNum int
134+
FeedMaxCommitNum int
135+
FeedPagingNum int
136+
PackagesPagingNum int
137+
GraphMaxCommitNum int
138+
CodeCommentLines int
139+
ReactionMaxUserNum int
140+
MaxDisplayFileSize int64
141+
ShowUserEmail bool
142+
DefaultShowFullName bool
143+
DefaultTheme string
144+
Themes string
145+
Reactions string
146+
CustomEmojis string
147+
SearchRepoDescription bool
148+
OnlyShowRelevantRepos bool
149+
ExplorePagingDefaultSort string
150+
ExplorePagingSortOption []string
151+
PreferredTimestampTense string
152+
PreferredTimestampTenseOption []string
153+
AmbiguousUnicodeDetection bool
150154
}
151155

152156
type ConfigStruct struct {
@@ -178,7 +182,7 @@ func initDefaultConfig() {
178182
MembersPagingNum: config.ValueJSON[int]("ui.members_paging_num").WithFileConfig(config.CfgSecKey{Sec: "ui", Key: "MEMBERS_PAGING_NUM"}),
179183
FeedMaxCommitNum: config.ValueJSON[int]("ui.feed_max_commit_num").WithFileConfig(config.CfgSecKey{Sec: "ui", Key: "FEED_MAX_COMMIT_NUM"}),
180184
FeedPagingNum: config.ValueJSON[int]("ui.feed_paging_num").WithFileConfig(config.CfgSecKey{Sec: "ui", Key: "FEED_PAGE_NUM"}),
181-
PackagesPagingNum: config.ValueJSON[int]("ui.package_paging_num").WithFileConfig(config.CfgSecKey{Sec: "ui", Key: "PACKAGE_PAGING_NUM"}),
185+
PackagesPagingNum: config.ValueJSON[int]("ui.packages_paging_num").WithFileConfig(config.CfgSecKey{Sec: "ui", Key: "PACKAGES_PAGING_NUM"}),
182186
GraphMaxCommitNum: config.ValueJSON[int]("ui.graph_max_commit_num").WithFileConfig(config.CfgSecKey{Sec: "ui", Key: "GRAPH_MAX_COMMIT_NUM"}),
183187
CodeCommentLines: config.ValueJSON[int]("ui.code_comment_lines").WithFileConfig(config.CfgSecKey{Sec: "ui", Key: "CODE_COMMENT_LINES"}),
184188
ReactionMaxUserNum: config.ValueJSON[int]("ui.reaction_max_user_num").WithFileConfig(config.CfgSecKey{Sec: "ui", Key: "REACTION_MAX_USER_NUM"}),

options/locale/locale_en-US.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3365,6 +3365,7 @@ config.ui.explore_paging_num = Explore Paging Number
33653365
config.ui.issue_paging_num = Issue Paging Number
33663366
config.ui.feed_max_commit_numb = Feed Max Commit Number
33673367
config.ui.feed_paging_num = Feed Paging Number
3368+
config.ui.packages_paging_num = Packages Paging Number
33683369
config.ui.members_paging_num = Member Paging Number
33693370
config.ui.sitemap_paging_num = Sitemap Paging Number
33703371
config.ui.graph_max_commit_num = Graph Max Commit Number

routers/web/admin/config.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,21 @@ func ChangeConfig(ctx *context.Context) {
259259

260260
func ChangeUIConfig(ctx *context.Context) {
261261
form := web.GetForm(ctx).(*forms.UIForm)
262+
if len(form.Themes) == 1 {
263+
form.Themes = strings.Split(form.Themes[0], ",")
264+
} else {
265+
form.Themes = nil
266+
}
267+
if len(form.Reactions) == 1 {
268+
form.Reactions = strings.Split(form.Reactions[0], ",")
269+
} else {
270+
form.Reactions = nil
271+
}
272+
if len(form.CustomEmojis) == 1 {
273+
form.CustomEmojis = strings.Split(form.CustomEmojis[0], ",")
274+
} else {
275+
form.CustomEmojis = nil
276+
}
262277
log.Debug("ChangeUIConfig form: %+v", form)
263278
formMap, err := util.ConfigSectionToMap(form, "ui")
264279
if err != nil {

templates/admin/config_settings.tmpl

Lines changed: 45 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,128 +8,149 @@
88
<dl class="admin-dl-horizontal">
99
<dt>{{ctx.Locale.Tr "admin.config.ui.explore_paging_num"}}</dt>
1010
<dd>
11-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
11+
<div class="inline field" >
1212
<input id="explore_paging_num" name="explore_paging_num" type="number" min="0" value="{{.UI.ExplorePagingNum}}">
1313
</div>
1414
</dd>
1515
<dt>{{ctx.Locale.Tr "admin.config.ui.issue_paging_num"}}</dt>
1616
<dd>
17-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
17+
<div class="inline field" >
1818
<input id="issue_paging_num" name="issue_paging_num" type="number" min="0" value="{{.UI.IssuePagingNum}}">
1919
</div>
2020
</dd>
2121
<dt>{{ctx.Locale.Tr "admin.config.ui.feed_max_commit_numb"}}</dt>
2222
<dd>
23-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
23+
<div class="inline field" >
2424
<input id="feed_max_commit_numb" name="feed_max_commit_num" type="number" min="0" value="{{.UI.FeedMaxCommitNum}}">
2525
</div>
2626
</dd>
2727
<dt>{{ctx.Locale.Tr "admin.config.ui.feed_paging_num"}}</dt>
2828
<dd>
29-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
29+
<div class="inline field" >
3030
<input id="feed_paging_num" name="feed_paging_num" type="number" min="0" value="{{.UI.FeedPagingNum}}">
3131
</div>
3232
</dd>
33+
<dt>{{ctx.Locale.Tr "admin.config.ui.packages_paging_num"}}</dt>
34+
<dd>
35+
<div class="inline field" >
36+
<input id="packages_paging_num" name="packages_paging_num" type="number" min="0" value="{{.UI.PackagesPagingNum}}">
37+
</div>
38+
</dd>
3339
<dt>{{ctx.Locale.Tr "admin.config.ui.members_paging_num"}}</dt>
3440
<dd>
35-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
41+
<div class="inline field" >
3642
<input id="members_paging_num" name="members_paging_num" type="number" min="0" value="{{.UI.MembersPagingNum}}">
3743
</div>
3844
</dd>
3945
<dt>{{ctx.Locale.Tr "admin.config.ui.sitemap_paging_num"}}</dt>
4046
<dd>
41-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
47+
<div class="inline field" >
4248
<input id="sitemap_paging_num" name="sitemap_paging_num" type="number" min="0" value="{{.UI.SitemapPagingNum}}">
4349
</div>
4450
</dd>
4551
<dt>{{ctx.Locale.Tr "admin.config.ui.graph_max_commit_num"}}</dt>
4652
<dd>
47-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
53+
<div class="inline field" >
4854
<input id="graph_max_commit_num" name="graph_max_commit_num" type="number" min="0" value="{{.UI.GraphMaxCommitNum}}">
4955
</div>
5056
</dd>
5157
<dt>{{ctx.Locale.Tr "admin.config.ui.code_comment_lines"}}</dt>
5258
<dd>
53-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
59+
<div class="inline field" >
5460
<input id="code_comment_lines" name="code_comment_lines" type="number" min="0" value="{{.UI.CodeCommentLines}}">
5561
</div>
5662
</dd>
5763
<dt>{{ctx.Locale.Tr "admin.config.ui.max_display_file_size"}}</dt>
5864
<dd>
59-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
65+
<div class="inline field" >
6066
<input id="max_display_file_size" name="max_display_file_size" type="number" min="0" value="{{.UI.MaxDisplayFileSize}}">
6167
</div>
6268
</dd>
6369
<dt>{{ctx.Locale.Tr "admin.config.ui.default_theme"}}</dt>
6470
<dd>
65-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
66-
<input id="default_theme" name="default_theme" value="{{.UI.DefaultTheme}}">
71+
<div class="inline field" >
72+
<select name="default_theme" class="ui dropdown">
73+
{{$defaultTheme := .UI.DefaultTheme}}
74+
{{range $theme := StringUtils.Split .UI.Themes ","}}
75+
<option value="{{$theme}}" {{Iif (eq $defaultTheme $theme) "selected"}}>{{$theme}}</option>
76+
{{end}}
77+
</select>
6778
</div>
6879
</dd>
6980
<dt>{{ctx.Locale.Tr "admin.config.ui.themes"}}</dt>
7081
<dd>
71-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
82+
<div class="inline field" >
7283
<input id="themes" name="themes" value="{{.UI.Themes}}">
7384
</div>
7485
</dd>
7586
<dt>{{ctx.Locale.Tr "admin.config.ui.reactions"}}</dt>
7687
<dd>
77-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
88+
<div class="inline field" >
7889
<input id="reactions" name="reactions" value="{{.UI.Reactions}}">
7990
</div>
8091
</dd>
8192
<dt>{{ctx.Locale.Tr "admin.config.ui.reaction_max_user_num"}}</dt>
8293
<dd>
83-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
94+
<div class="inline field" >
8495
<input id="reaction_max_user_num" name="reaction_max_user_num" type="number" min="0" value="{{.UI.ReactionMaxUserNum}}">
8596
</div>
8697
</dd>
8798
<dt>{{ctx.Locale.Tr "admin.config.ui.custom_emojis"}}</dt>
8899
<dd>
89-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
100+
<div class="inline field" >
90101
<input id="custom_emojis" name="custom_emojis" value="{{.UI.CustomEmojis}}">
91102
</div>
92103
</dd>
93104
<dt>{{ctx.Locale.Tr "admin.config.ui.explore_paging_default_sort"}}</dt>
94105
<dd>
95-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
96-
<input id="explore_paging_default_sort" name="explore_paging_default_sort" value="{{.UI.ExplorePagingDefaultSort}}">
106+
<div class="inline field" >
107+
<select name="explore_paging_default_sort" class="ui dropdown">
108+
{{$explorePagingDefaultSort := .UI.ExplorePagingDefaultSort}}
109+
{{range $value := .UI.ExplorePagingSortOption}}
110+
<option value="{{$value}}" {{Iif (eq $explorePagingDefaultSort $value) "selected"}}>{{$value}}</option>
111+
{{end}}
112+
</select>
97113
</div>
98114
</dd>
99115
<dt>{{ctx.Locale.Tr "admin.config.ui.preferred_timestamp_tense"}}</dt>
100116
<dd>
101-
<div class="inline field" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
102-
<input id="preferred_timestamp_tense" name="preferred_timestamp_tense" value="{{.UI.PreferredTimestampTense}}">
117+
<div class="inline field" >
118+
<select name="preferred_timestamp_tense" class="ui dropdown">
119+
{{$preferredTimestampTense := .UI.PreferredTimestampTense}}
120+
{{range $value := .UI.PreferredTimestampTenseOption}}
121+
<option value="{{$value}}" {{Iif (eq $preferredTimestampTense $value) "selected"}}>{{$value}}</option>
122+
{{end}}
123+
</select>
103124
</div>
104125
</dd>
105126
<div class="divider"></div>
106127
<dt>{{ctx.Locale.Tr "admin.config.ui.ambiguous_unicode_detection"}}</dt>
107128
<dd>
108-
<div class="ui toggle checkbox" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
129+
<div class="ui toggle checkbox" >
109130
<input name="ambiguous_unicode_detection" type="checkbox" {{if .UI.AmbiguousUnicodeDetection}}checked{{end}}><label></label>
110131
</div>
111132
</dd>
112133
<dt>{{ctx.Locale.Tr "admin.config.ui.show_user_email"}}</dt>
113134
<dd>
114-
<div class="ui toggle checkbox" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
135+
<div class="ui toggle checkbox" >
115136
<input name="show_user_email" type="checkbox" {{if .UI.ShowUserEmail}}checked{{end}}><label></label>
116137
</div>
117138
</dd>
118139
<dt>{{ctx.Locale.Tr "admin.config.ui.default_show_full_name"}}</dt>
119140
<dd>
120-
<div class="ui toggle checkbox" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
141+
<div class="ui toggle checkbox" >
121142
<input name="default_show_full_name" type="checkbox" {{if .UI.DefaultShowFullName}}checked{{end}}><label></label>
122143
</div>
123144
</dd>
124145
<dt>{{ctx.Locale.Tr "admin.config.ui.search_repo_description"}}</dt>
125146
<dd>
126-
<div class="ui toggle checkbox" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
147+
<div class="ui toggle checkbox" >
127148
<input name="search_repo_description" type="checkbox" {{if .UI.SearchRepoDescription}}checked{{end}}><label></label>
128149
</div>
129150
</dd>
130151
<dt>{{ctx.Locale.Tr "admin.config.ui.only_show_relevant_repos"}}</dt>
131152
<dd>
132-
<div class="ui toggle checkbox" data-tooltip-content="{{ctx.Locale.Tr "admin.config.disable_gravatar"}}">
153+
<div class="ui toggle checkbox" >
133154
<input name="only_show_relevant_repos" type="checkbox" {{if .UI.OnlyShowRelevantRepos}}checked{{end}}><label></label>
134155
</div>
135156
</dd>

0 commit comments

Comments
 (0)