summaryrefslogtreecommitdiffstats
path: root/modules/html/html.go
blob: dafdb503b676d4a1d36816b1bd2a52cfa8d6cb7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Copyright 2022 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.

package html

// ParseSizeAndClass get size and class from string with default values
// If present, "others" expects the new size first and then the classes to use
func ParseSizeAndClass(defaultSize int, defaultClass string, others ...interface{}) (int, string) {
	if len(others) == 0 {
		return defaultSize, defaultClass
	}

	size := defaultSize
	_size, ok := others[0].(int)
	if ok && _size != 0 {
		size = _size
	}

	if len(others) == 1 {
		return size, defaultClass
	}

	class := defaultClass
	if _class, ok := others[1].(string); ok && _class != "" {
		if defaultClass == "" {
			class = _class
		} else {
			class = defaultClass + " " + _class
		}
	}

	return size, class
}