module Pagy::FrontendHelpers::Frontend

def pagy_data(pagy, *args)

Base64 encoded JSON is smaller than HTML escaped JSON
Return a data tag with the base64 encoded JSON-serialized args generated with the faster oj gem
def pagy_data(pagy, *args)
  args << pagy.vars[:page_param] if pagy.vars[:trim_extra]
  %(data-pagy="#{Base64.strict_encode64(Oj.dump(args, mode: :strict))}")
end

def pagy_data(pagy, *args)

Base64 encoded JSON is smaller than HTML escaped JSON
Return a data tag with the base64 encoded JSON-serialized args generated with the slower to_json
def pagy_data(pagy, *args)
  args << pagy.vars[:page_param] if pagy.vars[:trim_extra]
  %(data-pagy="#{Base64.strict_encode64(args.to_json)}")
end

def pagy_marked_link(link)

Return the marked link to used by pagy.js
def pagy_marked_link(link)
  link.call PAGE_PLACEHOLDER, '', 'style="display: none;"'
end