% my $page_param = stash( 'page_param' ) || 'page';
% my $current_page = stash( 'current_page' ) || param( $page_param ) || 1;
<ul class="pagination" id="<%= stash( 'id' ) %>">
    % if ( $current_page > 1 ) {
        <li class="page-item">
            <a class="page-link" href="<%= url_with->query( $page_param => $current_page - 1 ) %>">
                Previous
            </a>
        </li>
    % } else {
        <li class="page-item disabled">
            <span class="page-link">Previous</span>
        </li>
    % }

    % for my $page ( 1..$total_pages ) {
        % if ( $page == $current_page ) {
            <li class="page-item active" aria-current="page">
                <span class="page-link">
                    <%= $page %>
                    <span class="sr-only">(current)</span>
                </span>
            </li>
        % } else {
            <li class="page-item">
                <a class="page-link" href="<%= url_with->query( $page_param => $page ) %>">
                    <%= $page %>
                </a>
            </li>
        % }
    % }

    % if ( $current_page < $total_pages ) {
        <li class="page-item">
            <a class="page-link" href="<%= url_with->query( $page_param => $current_page + 1 ) %>">
                Next
            </a>
        </li>
    % } else {
        <li class="page-item disabled">
            <span class="page-link">Next</span>
        </li>
    % }
</ul>