Module:T-CountryHub: Difference between revisions

// via Wikitext Extension for VSCode
Tag: Reverted
// via Wikitext Extension for VSCode
Tag: Manual revert
Line 84: Line 84:
end
end


-- generateProcessedBrowseLink: Constructs and preprocesses a MediaWiki link for browsing data.
-- -- generateProcessedBrowseLink: Constructs and preprocesses a MediaWiki link for browsing data, with {{fullurl:...}} correctly expanded by MediaWiki before the link is rendered.
local function generateProcessedBrowseLink(template, browseType, browseQueryParam, linkTextPattern, country)
-- local function generateProcessedBrowseLink(template, browseType, browseQueryParam, linkTextPattern, country)
     -- Use the centralized LinkParser function to create the fullurl wikitext
--     -- Explicitly URL-encode the country name for use in the URL query parameter
     local browseLinkWikitext = LinkParser.createFullUrlWikitext('Special:BrowseData/' .. browseType, {
--     local encodedCountry = mw.uri.encode(country, 'QUERY') -- 'QUERY' mode is for query string values
        [browseQueryParam] = country
    })


    -- Create the full link with display text
--    local browseLinkString = string.format(
     local browseLinkString = string.format(
--         '[{{fullurl:Special:BrowseData/%s|%s=%s}} %s →]',
         '[%s %s →]',
--         browseType,
         browseLinkWikitext,
--        browseQueryParam,
         string.format(linkTextPattern, country) -- Use original country name for display
--        encodedCountry,  -- Use the encoded country name for the URL part
     )
--         string.format(linkTextPattern, country) -- Use the original country name for the display text
--     )
      
      
     if template.current_frame and template.current_frame.preprocess then
--     if template.current_frame and template.current_frame.preprocess then
         local ok, result = pcall(function() return template.current_frame:preprocess(browseLinkString) end)
--         local ok, result = pcall(function() return template.current_frame:preprocess(browseLinkString) end)
         if ok then
--         if ok then
             return result
--             return result
         else
--         else
             return browseLinkString -- Fallback on preprocess error
--             return browseLinkString -- Fallback on preprocess error
         end
--         end
     end
--     end
     return browseLinkString -- Fallback if no frame or preprocess
--     return browseLinkString -- Fallback if no frame or preprocess
end
-- end


local errorContext = ErrorHandling.createContext("T-CountryHub")
local errorContext = ErrorHandling.createContext("T-CountryHub")