Module:NavboxUpgraded: Difference between revisions

No edit summary
No edit summary
Line 44: Line 44:
     navbox
     navbox
         :addClass('navbox')
         :addClass('navbox')
         :css('width', '100%')
         -- [Rest of your styling code]
        :css('margin', 'auto')
        :css('clear', 'both')
        :css('border', '1px solid #a2a9b1')
        :css('padding', '1px')
        :css('font-size', '88%')
        :css('text-align', 'center')


     -- Handle title
     -- Handle title
     if args.title then
     -- [Existing code for title]
        local titleRow = navbox:tag('tr')
        local titleCell = titleRow:tag('th')
        titleCell
            :attr('colspan', '2')
            :addClass('navbox-title')
            :css('background-color', '#ccf')
            :css('padding', '0.25em 1em')
            :wikitext(args.title)
    end


     -- Handle above
     -- Handle above
     if args.above then
     -- [Existing code for above]
        local aboveRow = navbox:tag('tr')
        local aboveCell = aboveRow:tag('td')
        aboveCell
            :attr('colspan', '2')
            :addClass('navbox-abovebelow')
            :css('background-color', '#ddf')
            :css('padding', '0.25em 1em')
            :wikitext(args.above)
    end


     -- Handle groups and lists
     -- Handle groups and lists
Line 85: Line 61:
             -- Group heading
             -- Group heading
             if group then
             if group then
                 local groupCell = row:tag('th')
                 -- [Existing code for groupCell]
                groupCell
                    :addClass('navbox-group')
                    :css('text-align', 'right')
                    :css('background-color', '#ddf') -- Parent shade
                    :css('padding', '0.25em 1em')
                    :wikitext(group)
             end
             end


Line 99: Line 69:
                 listCell
                 listCell
                     :addClass('navbox-list')
                     :addClass('navbox-list')
                     :css('text-align', 'left')
                     -- [Rest of your styling code]
                    :css('background-color', '#f7f7f7') -- Neutral list background
                    :css('padding', '0.25em 1em')


                 -- Render subgroups if present
                 if list == 'subgroup' then
                local subgroups = renderSubgroups(args, 'list' .. i)
                    -- Process subgroup
                if subgroups ~= '' then
                    local childArgs = {}
                     listCell:wikitext(subgroups)
                    for k, v in pairs(args) do
                        local prefix = 'list' .. i .. '_'
                        if k:sub(1, #prefix) == prefix then
                            childArgs[k:sub(#prefix + 1)] = v
                        end
                    end
                    local subgroupContent = p._navboxDesktop(childArgs)
                     listCell:wikitext(subgroupContent)
                 else
                 else
                     listCell:tag('ul')
                     listCell:tag('ul')
                         :addClass('navbox-list')
                         :addClass('navbox-list')
                         :css('list-style', 'disc') -- Bullet points
                         -- [Rest of your styling code]
                        :css('padding-left', '1.5em')
                         :wikitext(list)
                         :wikitext(list)
                 end
                 end
Line 119: Line 93:


     -- Handle below
     -- Handle below
     if args.below then
     -- [Existing code for below]
        local belowRow = navbox:tag('tr')
        local belowCell = belowRow:tag('td')
        belowCell
            :attr('colspan', '2')
            :addClass('navbox-abovebelow')
            :css('background-color', '#ddf')
            :css('padding', '0.25em 1em')
            :wikitext(args.below)
    end


     return tostring(navbox)
     return tostring(navbox)
end
end


-- Function to generate the mobile navbox
-- Function to generate the mobile navbox