prevPageHref function
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);
}