Модуль:TournamentNav: відмінності між версіями
Admin (обговорення | внесок) Немає опису редагування |
Admin (обговорення | внесок) Немає опису редагування |
||
| Рядок 25: | Рядок 25: | ||
["VIII сезон"] = "Восьмий сезон", | ["VIII сезон"] = "Восьмий сезон", | ||
["IX сезон"] = "Дев'ятий сезон", | ["IX сезон"] = "Дев'ятий сезон", | ||
["Фінал Року"] = "Фінал Року | ["Фінал Року"] = "Фінал Року" | ||
} | } | ||
Версія за 16:16, 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