Немає опису редагування
Немає опису редагування
Рядок 14: Рядок 14:
}
}


-- Мапінг альтернативних назв
local name_mapping = {
local name_mapping = {
     ["I сезон"] = "Перший сезон",
     ["I сезон"] = "Перший сезон",

Версія за 16:21, 30 листопада 2025

Документацію для цього модуля можна створити у Модуль:TournamentNav/документація

local p = {}

local tournament_order = {
    "Перший сезон",
    "Другий сезон",
    "Третій сезон",
    "Четвертий сезон",
    "П'ятий сезон",
    "Шостий сезон",
    "Сьомий сезон",
    "Восьмий сезон",
    "Дев'ятий сезон",
    "Фінал Року"
}

local name_mapping = {
    ["I сезон"] = "Перший сезон",
    ["II сезон"] = "Другий сезон",
    ["III сезон"] = "Третій сезон",
    ["IV сезон"] = "Четвертий сезон",
    ["V сезон"] = "П'ятий сезон",
    ["VI сезон"] = "Шостий сезон",
    ["VII сезон"] = "Сьомий сезон",
    ["VIII сезон"] = "Восьмий сезон",
    ["IX сезон"] = "Дев'ятий сезон",
    ["Фінал Року"] = "Фінал Року"
}

local function normalize_name(name)
    return name_mapping[name] or name
end

local function find_tournament_index(tournament_name)
    local normalized = normalize_name(tournament_name)
    for i, name in ipairs(tournament_order) do
        if name == normalized then
            return i
        end
    end
    return nil
end

function p.prevLink(frame)
    local current_tournament = frame.args[1] or mw.title.getCurrentTitle().text
    local index = find_tournament_index(current_tournament)
    
    if not index then
        return '<span style="color:#666;">←</span>'
    end
    
    local prev_index = index == 1 and #tournament_order or index - 1
    local prev_tournament = tournament_order[prev_index]
    
    return '[[' .. prev_tournament .. '|←]]'
end

function p.nextLink(frame)
    local current_tournament = frame.args[1] or mw.title.getCurrentTitle().text
    local index = find_tournament_index(current_tournament)
    
    if not index then
        return '<span style="color:#666;">→</span>'
    end
    
    local next_index = index == #tournament_order and 1 or index + 1
    local next_tournament = tournament_order[next_index]
    
    return '[[' .. next_tournament .. '|→]]'
end

return p