module Pagy::TrimExtra

def pagy_anchor(pagy, **_)

Call the pagy_trim method for page 1 if the trim_extra is enabled
Override the original pagy_anchor.
def pagy_anchor(pagy, **_)
  a_proc = super
  return a_proc unless pagy.vars[:trim_extra]
  lambda do |page, text = pagy.label_for(page), **opts|
    a = +a_proc.(page, text, **opts)
    return a unless page.to_s == '1'
    pagy_trim(pagy, a) # in method for isolated testing
  end
end

def pagy_trim(pagy, a)

Remove the :page_param param from the first page anchor
def pagy_trim(pagy, a)
  a.sub!(/[?&]#{pagy.vars[:page_param]}=1\b(?!&)|\b#{pagy.vars[:page_param]}=1&/, '')
end