Модуль:FetchData: відмінності між версіями

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


-- ================================================
-- ================================================
-- FETCHDATA5 (записи ігор) - ВИПРАВЛЕНО
-- FETCHDATA5 (записи ігор) - З РОЛЛЮ ГРАВЦЯ
-- ================================================
-- ================================================


Рядок 632: Рядок 632:
     end
     end
      
      
    -- Очищаємо full_name від [[ ]]
     if full_name then
     if full_name then
         full_name = clean_wikilinks(full_name)
         full_name = clean_wikilinks(full_name)
Рядок 647: Рядок 646:
     local rows = {}
     local rows = {}
      
      
    -- Шукаємо рядки після |- (inline формат: все в одному рядку)
     for row in mw.ustring.gmatch(table_content, "|-\n([^\n]+)") do
     for row in mw.ustring.gmatch(table_content, "|-\n([^\n]+)") do
        -- Пропускаємо заголовки (починаються з !)
         if not mw.ustring.match(row, "^%s*!") then
         if not mw.ustring.match(row, "^%s*!") then
             table.insert(rows, row)
             table.insert(rows, row)
Рядок 661: Рядок 658:
     local cells = {}
     local cells = {}
      
      
    -- Видаляємо початковий |
     row = mw.ustring.gsub(row, "^%s*|%s*", "")
     row = mw.ustring.gsub(row, "^%s*|%s*", "")
      
      
    -- Розділяємо по ||
     for cell in mw.ustring.gmatch(row .. "||", "(.-)%s*||%s*") do
     for cell in mw.ustring.gmatch(row .. "||", "(.-)%s*||%s*") do
         cell = mw.text.trim(cell)
         cell = mw.text.trim(cell)
Рядок 728: Рядок 723:
          
          
         if #cells >= 17 then
         if #cells >= 17 then
            -- Перевіряємо чи гравець у грі (колонки 6-15)
             local player_in_game = false
             local player_in_game = false
             for i = 6, 15 do
             for i = 6, 15 do
Рядок 745: Рядок 739:
                     tournament = cells[4] or "",
                     tournament = cells[4] or "",
                     time = cells[5] or "",
                     time = cells[5] or "",
                    role = role,
                     result = result,
                     result = result,
                     link = cells[17] or ""
                     link = cells[17] or ""
Рядок 777: Рядок 772:
     local headerRow = htmlTable:tag('tr')
     local headerRow = htmlTable:tag('tr')
     headerRow:tag('th'):wikitext('Турнір')
     headerRow:tag('th'):wikitext('Турнір')
    headerRow:tag('th'):wikitext('Роль')
     headerRow:tag('th'):wikitext('Час')
     headerRow:tag('th'):wikitext('Час')
     headerRow:tag('th'):wikitext('Результат')
     headerRow:tag('th'):wikitext('Результат')
     headerRow:tag('th'):wikitext('Запис')
     headerRow:tag('th'):wikitext('Запис')
   
    -- Кольори для ролей
    local role_colors = {
        ["Мирний"] = "#8bc34a",
        ["Шериф"] = "#2196f3",
        ["Мафія"] = "#9c27b0",
        ["Дон"] = "#e91e63"
    }
      
      
     for _, game in ipairs(games) do
     for _, game in ipairs(games) do
         local row = htmlTable:tag('tr')
         local row = htmlTable:tag('tr')
          
          
         -- Турнір (скорочення з посиланням)
         -- Турнір
         row:tag('td')
         row:tag('td')
             :css('text-align', 'center')
             :css('text-align', 'center')
             :css('padding', '8px')
             :css('padding', '8px')
             :wikitext(get_tournament_link_games(game.short, game.tournament))
             :wikitext(get_tournament_link_games(game.short, game.tournament))
       
        -- Роль (з кольором)
        local roleCell = row:tag('td')
            :css('text-align', 'center')
            :css('padding', '8px')
       
        local role_color = role_colors[game.role] or "#888"
        roleCell:tag('span')
            :css('color', role_color)
            :css('font-weight', '500')
            :wikitext(game.role)
          
          
         -- Час
         -- Час