1
0
Fork 0

style(intelligence): replace dashes with ASCII in mission and campaign views

This commit is contained in:
Jason Fraley 2026-09-07 05:19:48 -04:00
parent 47d338c868
commit a4ea3ea387
7 changed files with 13 additions and 13 deletions

View file

@ -166,7 +166,7 @@ export default async function CampaignDetailPage({ params }: CampaignDetailPageP
/> />
</span> </span>
)} )}
{campaign.startDate && campaign.endDate && <span>—</span>} {campaign.startDate && campaign.endDate && <span>-</span>}
{campaign.endDate ? ( {campaign.endDate ? (
<span> <span>
<ClientDate <ClientDate
@ -267,14 +267,14 @@ export default async function CampaignDetailPage({ params }: CampaignDetailPageP
)} )}
{campaign.endDate ? ( {campaign.endDate ? (
<> <>
{" — "} {" - "}
<ClientDate <ClientDate
date={campaign.endDate} date={campaign.endDate}
options={{ year: "numeric", month: "short", day: "numeric" }} options={{ year: "numeric", month: "short", day: "numeric" }}
/> />
</> </>
) : ( ) : (
" — Present" " - Present"
)} )}
</span> </span>
</div> </div>

View file

@ -386,7 +386,7 @@ export default async function MissionDetailPage({ params }: MissionDetailPagePro
</div> </div>
<div> <div>
<span className="text-muted-foreground">Max Players</span> <span className="text-muted-foreground">Max Players</span>
<p className="font-medium">{mission.missionRoles?.maxPlayers ?? "—"}</p> <p className="font-medium">{mission.missionRoles?.maxPlayers ?? "-"}</p>
</div> </div>
</div> </div>
</ItemContent> </ItemContent>

View file

@ -787,7 +787,7 @@ export async function markSideOpReady(
await emitGameEvent(payload, { await emitGameEvent(payload, {
type: EventTypes.MissionReady, type: EventTypes.MissionReady,
message: `${user.displayName || user.username} marked side operation "${updated.name}" (${updated.codeName}) as Ready — details are locked in and the roll-call can be posted.`, message: `${user.displayName || user.username} marked side operation "${updated.name}" (${updated.codeName}) as Ready. Details are locked in and the roll-call can be posted.`,
actor: userId, actor: userId,
targetCollection: "missions", targetCollection: "missions",
targetId: updated.id, targetId: updated.id,

View file

@ -97,7 +97,7 @@ export function MissionComms({ commsAndDocs }: MissionCommsProps) {
{frequencies!.map((freq, index) => ( {frequencies!.map((freq, index) => (
<tr key={index} className="border-b border-border/50"> <tr key={index} className="border-b border-border/50">
<td className="px-4 py-2 font-mono font-medium">{freq.frequency}</td> <td className="px-4 py-2 font-mono font-medium">{freq.frequency}</td>
<td className="px-4 py-2 text-muted-foreground">{freq.channel ?? "—"}</td> <td className="px-4 py-2 text-muted-foreground">{freq.channel ?? "-"}</td>
<td className="px-4 py-2 font-medium">{freq.netName}</td> <td className="px-4 py-2 font-medium">{freq.netName}</td>
<td className="px-4 py-2 text-muted-foreground">{freq.freqUsage}</td> <td className="px-4 py-2 text-muted-foreground">{freq.freqUsage}</td>
</tr> </tr>

View file

@ -112,7 +112,7 @@ export function MissionLogistics({ logisticsAndSupport }: MissionLogisticsProps)
<tr key={index} className="border-b border-border/50"> <tr key={index} className="border-b border-border/50">
<td className="px-4 py-2 font-medium">{asset.assetType}</td> <td className="px-4 py-2 font-medium">{asset.assetType}</td>
<td className="px-4 py-2 text-muted-foreground"> <td className="px-4 py-2 text-muted-foreground">
{asset.assetCount ?? "—"} {asset.assetCount ?? "-"}
</td> </td>
<td className="px-4 py-2 text-center"> <td className="px-4 py-2 text-center">
{asset.doesRespawn ? ( {asset.doesRespawn ? (
@ -122,7 +122,7 @@ export function MissionLogistics({ logisticsAndSupport }: MissionLogisticsProps)
)} )}
</td> </td>
<td className="px-4 py-2 text-muted-foreground font-mono text-xs"> <td className="px-4 py-2 text-muted-foreground font-mono text-xs">
{asset.assetCallsign ?? "—"} {asset.assetCallsign ?? "-"}
</td> </td>
</tr> </tr>
))} ))}

View file

@ -41,10 +41,10 @@ function ObjectiveText({
className?: string; className?: string;
}) { }) {
if (!redacted) { if (!redacted) {
return <span className={className}>{text ?? "—"}</span>; return <span className={className}>{text ?? "-"}</span>;
} }
const display = redactText(text) ?? "—"; const display = redactText(text) ?? "-";
if (!canReveal) { if (!canReveal) {
return <span className={`${className ?? ""} select-none break-all`}>{display}</span>; return <span className={`${className ?? ""} select-none break-all`}>{display}</span>;
@ -57,7 +57,7 @@ function ObjectiveText({
<span className={`${className ?? ""} cursor-help select-none break-all`}>{display}</span> <span className={`${className ?? ""} cursor-help select-none break-all`}>{display}</span>
</TooltipTrigger> </TooltipTrigger>
<TooltipContent className="max-w-sm whitespace-pre-wrap break-words"> <TooltipContent className="max-w-sm whitespace-pre-wrap break-words">
{text ?? "—"} {text ?? "-"}
</TooltipContent> </TooltipContent>
</Tooltip> </Tooltip>
</TooltipProvider> </TooltipProvider>

View file

@ -84,14 +84,14 @@ export function MissionRoles({ roles, notes, maxPlayers }: MissionRolesProps) {
<td className="px-4 py-2 text-muted-foreground"> <td className="px-4 py-2 text-muted-foreground">
{role.requiredMos && role.requiredMos.length > 0 {role.requiredMos && role.requiredMos.length > 0
? resolveNames(role.requiredMos) ? resolveNames(role.requiredMos)
: "—"} : "-"}
</td> </td>
<td className="px-4 py-2 text-muted-foreground"> <td className="px-4 py-2 text-muted-foreground">
{typeof role.minimumRank === "object" && role.minimumRank !== null {typeof role.minimumRank === "object" && role.minimumRank !== null
? role.minimumRank.name ? role.minimumRank.name
: typeof role.minimumRank === "number" : typeof role.minimumRank === "number"
? `#${role.minimumRank}` ? `#${role.minimumRank}`
: "—"} : "-"}
</td> </td>
</tr> </tr>
))} ))}