-

本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~ 编辑帮助:目录BWIKI反馈留言板


请选择语言:

版本250722.2
全站通知:

模块:精灵头像切换

来自赛尔号WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

此模块的文档可以在模块:精灵头像切换/doc创建

local p = {}

-- 封装 #ask,强制去掉 MediaWiki 自动加的 <p>
local function ask(t)
    -- 把表拼成一串参数,末尾加上空 intro/outro 抑制 <p>
    local args = {}
    for _, v in ipairs(t) do table.insert(args, v) end
    table.insert(args, 'intro=<nowiki />')
    table.insert(args, 'outro=<nowiki />')
    return mw.getCurrentFrame():callParserFunction{name='#ask', args=args}
end

function p.main(frame)
    local id = string.format("%04d", tonumber(frame.args.ID) or 0)
    if id == "0000" then return '' end

    local html = {}

    -- 左边:下一个(ID 更大)箭头 ←
    local nxt = ask{
        '[[分类:精灵]][[ID::>'..id..']][[ID::!'..id..']]',
        '?ID', '?名称',
        'limit=1', 'sort=ID', 'order=asc',
        'format=template', 'template=精灵头像切换', 'link=none'
    }
    if nxt ~= '' then
        html[#html+1] = '<span class="sprite-next"><span class="jt-next">◀</span>' .. nxt .. '</span>'
    end

    -- 右边:上一个(ID 更小)箭头 →
    local prev = ask{
        '[[分类:精灵]][[ID::<'..id..']][[ID::!'..id..']]',
        '?ID', '?名称',
        'limit=1', 'sort=ID', 'order=desc',
        'format=template', 'template=精灵头像切换', 'link=none'
    }
    if prev ~= '' then
        html[#html+1] = '<span class="sprite-prev">' .. prev .. '<span class="jt-prev">▶</span></span>'
    end

    -- 用 flex 把左右撑开,中间留白
    return '<div style="display:flex; justify-content:space-between;">'
           .. table.concat(html) .. '</div>'
end

return p