Mô đun:Status/config

Bách khoa toàn thư mở Wikipedia
Tài liệu mô đun[tạo]
--------------------------------------------------------------------------------
-- Configs for Status module
--------------------------------------------------------------------------------
local configs = {}

configs.DEFAULT_MIN = 14
configs.DEFAULT_MAX = 30
configs.DEFAULT_CONSIDER_EXTENSION = 27
configs.DEFAULT_EXTENDED = 37

configs.statuses = {
    -- Trạng thái 1
    VALID = {
        class = 'status-green',
        background = '#0C0',
        titles = {
            'Hạn là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn.',
            'Hạn tối thiểu là ${MINTIME}. Còn ${COUNTDOWNTOMINTIME} nữa đến hạn tối thiểu. Hạn tối đa là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn tối đa.',
            'Đã hết hạn tối thiểu. Hạn tối đa là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn tối đa.',
            'Hạn là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn. Không thỏa điều kiện xét gia hạn.',
        },
    },
    -- Trạng thái 2
    VALID_AND_MAY_CONSIDER_EXTENSION = {
        class = 'status-half-green-half-yellow',
        background = 'linear-gradient(90deg, #0C0 50%, #ffd966 50%)',
        titles = {
            'Hạn là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn. Có thể yêu cầu gia hạn (không đảm bảo).',
            'Đã hết hạn tối thiểu. Hạn tối đa là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn tối đa. Có thể yêu cầu gia hạn (không đảm bảo).',
        },
    },
    -- Trạng thái 3
    VALID_AND_HAS_BEEN_EXTENDED = {
        class = 'status-half-yellow-half-green',
        background = 'linear-gradient(180deg, #ffd966 50%, #0C0 50%)',
        titles = {
            'Hạn là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn. Đã yêu cầu gia hạn.',
            'Đã hết hạn tối thiểu. Hạn tối đa là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn tối đa. Đã yêu cầu gia hạn.',
        },
    },
    -- Trạng thái 4
    VALID_AND_IS_BEING_EXTENDED = {
    	class = 'status-yellow',
        background = '#ffd966',
    	titles = {
    		'Hạn được gia hạn là ${EXTENDEDTIME}. Còn ${COUNTDOWNTOEXTENDEDTIME} nữa đến hạn.',
      },
    },
    -- Trạng thái 5
    VALID_AND_MAY_BE_CONSIDERED_CLOSED = {
        class = 'status-half-green-half-red',
        background = 'linear-gradient(90deg, #0C0 50%, #C00 50%)',
        titles = {
            'Đã hết hạn tối thiểu. Hạn tối đa là ${MAXTIME}. Còn ${COUNTDOWNTOMAXTIME} nữa đến hạn tối đa. Có thể đóng biểu quyết (nếu chưa đóng).',
        },
    },
    -- Trạng thái 6
    INVALID = {
        class = 'status-red',
        background = '#C00',
        titles = {
            'Hạn là ${MAXTIME}. Đã hết hạn.',
            'Hạn tối đa là ${MAXTIME}. Đã hết hạn.',
            'Hạn được gia hạn là ${EXTENDEDTIME}. Đã hết hạn.',
        },
    },
}

local function DEFAULT_CHECK_SUCCESS_CONCLUSION_FUNC(positiveVotesNumber, negativeVotesNumber)
    if positiveVotesNumber + negativeVotesNumber >= 3
        and positiveVotesNumber > negativeVotesNumber then
            return true
    end
    return false
end

local function DEFAULT_CHECK_VALID_EXTENSION_FUNC(positiveVotesNumber, negativeVotesNumber)
    if positiveVotesNumber >= 3 and negativeVotesNumber >= 1 then
        return true
    end
    return false
end

configs.rootTitles = {
    ['Biểu quyết xoá bài'] = {
        group = 1,
        max = configs.DEFAULT_MAX,
        min = 7,
        checkSuccessConclusionFunc = function(positiveVotesNumber, negativeVotesNumber)
        	local sum = positiveVotesNumber + negativeVotesNumber
            if sum >= 5 and math.abs(positiveVotesNumber - negativeVotesNumber) / sum > 1/3 then
                return true
            end
            return false
        end,
    },
    ['Đề nghị giáng sao bài viết chọn lọc'] = {
        group = 1,
        max = configs.DEFAULT_MAX,
        min = configs.DEFAULT_MIN,
        checkSuccessConclusionFunc = DEFAULT_CHECK_SUCCESS_CONCLUSION_FUNC,
    },
    ['Đề nghị rút sao danh sách chọn lọc'] = {
        group = 1,
        max = configs.DEFAULT_MAX,
        min = configs.DEFAULT_MIN,
        checkSuccessConclusionFunc = DEFAULT_CHECK_SUCCESS_CONCLUSION_FUNC,
    },
    ['Đề nghị rút sao chủ điểm chọn lọc'] = {
        group = 1,
        max = configs.DEFAULT_MAX,
        min = configs.DEFAULT_MIN,
        checkSuccessConclusionFunc = DEFAULT_CHECK_SUCCESS_CONCLUSION_FUNC,
    },
    ['Đề nghị rút sao cổng thông tin chọn lọc'] = {
        group = 1,
        max = configs.DEFAULT_MAX,
        min = configs.DEFAULT_MIN,
        checkSuccessConclusionFunc = DEFAULT_CHECK_SUCCESS_CONCLUSION_FUNC,
    },
    ['Đề nghị rút sao chủ điểm tốt'] = {
        group = 1,
        max = configs.DEFAULT_MAX,
        min = configs.DEFAULT_MIN,
        checkSuccessConclusionFunc = DEFAULT_CHECK_SUCCESS_CONCLUSION_FUNC,
    },
    ['Ứng cử viên bài viết chọn lọc'] = {
        group = 2,
        max = configs.DEFAULT_MAX,
        considerExtension = configs.DEFAULT_CONSIDER_EXTENSION,
        extended = configs.DEFAULT_EXTENDED,
        checkValidExtensionFunc = DEFAULT_CHECK_VALID_EXTENSION_FUNC,
    },
    ['Ứng cử viên bài viết tốt'] = {
        group = 2,
        max = configs.DEFAULT_MAX,
        considerExtension = configs.DEFAULT_CONSIDER_EXTENSION,
        extended = configs.DEFAULT_EXTENDED,
        checkValidExtensionFunc = DEFAULT_CHECK_VALID_EXTENSION_FUNC,
    },
    ['Ứng cử viên danh sách chọn lọc'] = {
        group = 3,
        max = configs.DEFAULT_MAX,
        min = configs.DEFAULT_MIN,
        considerExtension = configs.DEFAULT_CONSIDER_EXTENSION,
        extended = configs.DEFAULT_EXTENDED,
        checkSuccessConclusionFunc = function(positiveVotesNumber, negativeVotesNumber)
            if positiveVotesNumber >= 3 and negativeVotesNumber == 0 then
                return true
            end
            return false
        end,
        checkValidExtensionFunc = DEFAULT_CHECK_VALID_EXTENSION_FUNC,
    },
}

return configs