prevPageHref function

String prevPageHref(
  1. String path,
  2. Map<String, String> currentQuery
)

Builds a previous page URL restoring the cursor from the back-stack query.

Implementation

String prevPageHref(String path, Map<String, String> currentQuery) {
  final qp = Map<String, String>.from(currentQuery);
  final backRaw = qp['back'];
  if (backRaw == null || backRaw.isEmpty) return _buildUrlWithQuery(path, qp);
  final backList = backRaw.split(',');
  final prevCur = backList.removeLast();
  if (prevCur == _firstPageMarker) {
    qp.remove('cursor');
  } else {
    qp['cursor'] = prevCur;
  }
  if (backList.isEmpty) {
    qp.remove('back');
  } else {
    qp['back'] = backList.join(',');
  }
  return _buildUrlWithQuery(path, qp);
}