Module:NewsLanding/Featured

From TwogPedia

Documentation for this module may be created at Module:NewsLanding/Featured/doc

local getArgs = require('Module:Arguments').getArgs
local cargo = mw.ext.cargo

local p = {}

function p.main(frame)
	local args = getArgs(frame)
	
	local tables = 'News'
	local fields = '_pageName, date, image'
	local cargoArgs = {
		orderBy = 'date DESC',
		where = '_pageName = "News/' .. string.gsub(args.first, '"', '""') .. '"'
	}
	local results = cargo.query(tables, fields, cargoArgs)

    local newsItemContainer = mw.html.create('div'):addClass('news-featured-items')
	local container = mw.html.create('div'):addClass('news-featured-container'):node(mw.html.create('h3'):wikitext('Featured')):node(newsItemContainer)
	
	if #results > 0 then
		local result = results[1]
		
		local title = mw.html.create('div'):wikitext(mw.ext.displaytitle.get(result._pageName))
		local newsItem = mw.html.create('div'):addClass('news-featured'):wikitext('[[File:'.. result.image .. '|link=' .. result._pageName .. ']]'):node(title)
		newsItemContainer:node(newsItem)
	end
	
	cargoArgs.where = '_pageName = "News/' .. string.gsub(args.second, '"', '""') .. '"'
	local results = cargo.query(tables, fields, cargoArgs)

	if #results > 0 then
			local result = results[1]
			
			local title = mw.html.create('div'):wikitext(mw.ext.displaytitle.get(result._pageName))
			local newsItem = mw.html.create('div'):addClass('news-featured'):wikitext('[[File:'.. result.image .. '|link=' .. result._pageName .. ']]'):node(title)
			newsItemContainer:node(newsItem)
	end
	return container
end

return p