diff --git a/src/app/(search-app)/open-shifts/shift/[serviceId]/[openShiftId]/page.tsx b/src/app/(search-app)/open-shifts/shift/[serviceId]/[openShiftId]/page.tsx
index 402559aa61..d87b16a453 100644
--- a/src/app/(search-app)/open-shifts/shift/[serviceId]/[openShiftId]/page.tsx
+++ b/src/app/(search-app)/open-shifts/shift/[serviceId]/[openShiftId]/page.tsx
@@ -10,9 +10,10 @@ export const metadata: Metadata = {
type OpenShiftsAdvertRouteProps = {
params: Promise<{ serviceId: string; openShiftId: string }>;
+ searchParams: Promise<{ request?: string | string[] }>;
};
-export default async function OpenShiftsAdvertRoute({ params }: OpenShiftsAdvertRouteProps) {
- const { serviceId, openShiftId } = await params;
- return
- {!partial && summary.total === 0 - ? "Nothing is posted for the next 14 days. New shifts appear here when a roster manager posts them." - : partial - ? `Some of your teams couldn't be read, so there may be more.${next ? ` The next day with a match is ${formatDayLong(next)}.` : ""}` - : day.hidden.length === 0 - ? `None are hidden by your filters either.${next ? ` The next day with a match is ${formatDayLong(next)}.` : ""}` - : `${day.hidden.length} ${day.hidden.length === 1 ? "is" : "are"} hidden by your filters.`} -
- {next ? ( -+ {!partial && summary.total === 0 + ? `Nothing is posted for the next ${WINDOW_DAYS} days. New shifts appear here when a roster manager posts them.` + : partial + ? `Some of your teams couldn't be read, so there may be more.${next ? ` The next day with a match is ${formatDayLong(next)}.` : ""}` + : day.hidden.length === 0 + ? `None are hidden by your filters either.${next ? ` The next day with a match is ${formatDayLong(next)}.` : ""}` + : `${day.hidden.length} ${day.hidden.length === 1 ? "is" : "are"} hidden by your filters.`} +
+ {next ? ( ++ {partial + ? "None found in the teams read. Some of your teams couldn't be read, so there may be more." + : summary.total === 0 + ? `Nothing is posted for the next ${WINDOW_DAYS} days. New shifts appear here when a roster manager posts them.` + : `None match. ${summary.total} ${summary.total === 1 ? "is" : "are"} hidden by ${filtered ? "your filters" : "the clash and level settings"}; open Filters, or show ${summary.total === 1 ? "it" : "them"} below.`} +
+ ) : null; + return ( + <> + {noneShown} + {allDays.map((date, index) => { + const { shown, hidden } = dayRows(summary, date); + return ( ++ {copiedTeamMissing + ? `Copied from a posted shift in a team you no longer post for, so this will post for ${team?.name}. Choose the date, then check the rest.` + : "Copied from a posted shift. Choose the date, then check the rest."} +
+ ) : null} + {report && !confirming ? ( ++ {`${report} Posting again sends only the dates not posted.`} +
+ ) : null} + {state.teams.length > 1 ? (