|
Метки: очистка ручная отмена |
| (не показано 17 промежуточных версий этого же участника) |
| Строка 1: |
Строка 1: |
| local p = {}
| |
|
| |
|
| local darkColors = {
| |
| border = "#338833",
| |
| bg = "#101910",
| |
| border2 = "#cc7744",
| |
| bg2 = "#1a110a",
| |
| border3 = "#2277cc",
| |
| bg3 = "#0d1117"
| |
| }
| |
|
| |
| local function renderIngredients(ingredients)
| |
| local list = mw.html.create("ul"):addClass("alchemy-ingredient-list")
| |
| for _, item in ipairs(ingredients) do
| |
| list:tag("li"):wikitext(item)
| |
| end
| |
| return tostring(list)
| |
| end
| |
|
| |
| function p.main(frame)
| |
| local args = frame.args
| |
| if not next(args) then
| |
| args = frame:getParent().args
| |
| end
| |
|
| |
|
| |
| local ingredients = {}
| |
| for k, v in pairs(args) do
| |
| if k:match("^ingredient%d*$") then
| |
| table.insert(ingredients, v)
| |
| end
| |
| end
| |
|
| |
| local result = args.result or "?"
| |
| local effect = args.effect or ""
| |
| local recipe = args.recipe or ""
| |
|
| |
| local card = mw.html.create("div")
| |
| :addClass("alchemy-card")
| |
| :css({
| |
| ["border"] = "1px solid " .. darkColors.border,
| |
| ["background-color"] = darkColors.bg,
| |
| ["padding"] = "12px",
| |
| ["margin"] = "8px",
| |
| ["border-radius"] = "10px",
| |
| ["width"] = "280px",
| |
| ["box-shadow"] = "0 0 6px rgba(0,0,0,0.6)",
| |
| ["display"] = "flex",
| |
| ["flex-direction"] = "column",
| |
| ["gap"] = "10px"
| |
| })
| |
|
| |
| card:tag("div")
| |
| :addClass("alchemy-result-name")
| |
| :css("color", darkColors.border)
| |
| :css("font-size", "18px")
| |
| :css("font-weight", "bold")
| |
| :wikitext(result)
| |
|
| |
| card:tag("div")
| |
| :addClass("alchemy-ingredients")
| |
| :wikitext(renderIngredients(ingredients))
| |
|
| |
| if recipe ~= "" then
| |
| card:tag("div")
| |
| :addClass("alchemy-recipe")
| |
| :css("color", darkColors.border2)
| |
| :wikitext("Способ: " .. recipe)
| |
| end
| |
|
| |
| if effect ~= "" then
| |
| card:tag("div")
| |
| :addClass("alchemy-effect")
| |
| :css("color", "#ccc")
| |
| :wikitext(effect)
| |
| end
| |
|
| |
| return tostring(card)
| |
| end
| |
|
| |
| return p
| |