Модуль:TournamentNav: відмінності між версіями
Admin (обговорення | внесок) Немає опису редагування Мітка: Ручний відкіт |
Admin (обговорення | внесок) Немає опису редагування |
||
| (Не показано 6 проміжних версій цього користувача) | |||
| Рядок 11: | Рядок 11: | ||
"Восьмий сезон", | "Восьмий сезон", | ||
"Дев'ятий сезон", | "Дев'ятий сезон", | ||
"Фінал Року" | "Фінал Року" -- ЗМІНЕНО: без '23-24 | ||
} | } | ||
local name_mapping = { | |||
["I сезон"] = "Перший сезон", | |||
["II сезон"] = "Другий сезон", | |||
["III сезон"] = "Третій сезон", | |||
["IV сезон"] = "Четвертий сезон", | |||
["V сезон"] = "П'ятий сезон", | |||
["VI сезон"] = "Шостий сезон", | |||
["VII сезон"] = "Сьомий сезон", | |||
["VIII сезон"] = "Восьмий сезон", | |||
["IX сезон"] = "Дев'ятий сезон", | |||
["Фінал Року'23-24"] = "Фінал Року" -- ЗМІНЕНО: мапінг в зворотний бік | |||
} | |||
local function normalize_name(name) | |||
return name_mapping[name] or name | |||
end | |||
local function find_tournament_index(tournament_name) | local function find_tournament_index(tournament_name) | ||
local normalized = normalize_name(tournament_name) | |||
for i, name in ipairs(tournament_order) do | for i, name in ipairs(tournament_order) do | ||
if name == | if name == normalized then | ||
return i | return i | ||
end | end | ||
Поточна версія на 16:23, 30 листопада 2025
Документацію для цього модуля можна створити у Модуль:TournamentNav/документація
local p = {}
local tournament_order = {
"Перший сезон",
"Другий сезон",
"Третій сезон",
"Четвертий сезон",
"П'ятий сезон",
"Шостий сезон",
"Сьомий сезон",
"Восьмий сезон",
"Дев'ятий сезон",
"Фінал Року" -- ЗМІНЕНО: без '23-24
}
local name_mapping = {
["I сезон"] = "Перший сезон",
["II сезон"] = "Другий сезон",
["III сезон"] = "Третій сезон",
["IV сезон"] = "Четвертий сезон",
["V сезон"] = "П'ятий сезон",
["VI сезон"] = "Шостий сезон",
["VII сезон"] = "Сьомий сезон",
["VIII сезон"] = "Восьмий сезон",
["IX сезон"] = "Дев'ятий сезон",
["Фінал Року'23-24"] = "Фінал Року" -- ЗМІНЕНО: мапінг в зворотний бік
}
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