plan/react-rewrite #1

Merged
gnezim merged 138 commits from plan/react-rewrite into main 2026-04-15 12:21:16 +03:00
5 changed files with 77 additions and 0 deletions
Showing only changes of commit 2bdfde43f6 - Show all commits
+17
View File
@@ -0,0 +1,17 @@
import type { HostContract } from "@/host-contract";
/**
* MF expose wrapper for the Flights Map feature.
* Phase 4 (flights-map port) replaces the body with the real root.
*/
export interface FlightsMapRemoteProps {
hostContract: HostContract;
}
export default function FlightsMapRemote(_props: FlightsMapRemoteProps): JSX.Element {
return (
<div data-mf-expose="FlightsMap">
<p>Flights Map remote stub. Populated in Phase 4.</p>
</div>
);
}
+19
View File
@@ -0,0 +1,19 @@
import type { HostContract } from "@/host-contract";
/**
* MF expose wrapper for the Online Board feature.
* Phase 2 (online-board port) replaces the body with:
* `return <OnlineBoardRoot hostContract={hostContract} />;`
* where `OnlineBoardRoot` comes from `@/features/online-board`.
*/
export interface OnlineBoardRemoteProps {
hostContract: HostContract;
}
export default function OnlineBoardRemote(_props: OnlineBoardRemoteProps): JSX.Element {
return (
<div data-mf-expose="OnlineBoard">
<p>Online Board remote stub. Populated in Phase 2.</p>
</div>
);
}
+17
View File
@@ -0,0 +1,17 @@
import type { HostContract } from "@/host-contract";
/**
* MF expose wrapper for the Popular Requests feature.
* Phase 5 (popular-requests port) replaces the body with the real root.
*/
export interface PopularRequestsRemoteProps {
hostContract: HostContract;
}
export default function PopularRequestsRemote(_props: PopularRequestsRemoteProps): JSX.Element {
return (
<div data-mf-expose="PopularRequests">
<p>Popular Requests remote stub. Populated in Phase 5.</p>
</div>
);
}
+17
View File
@@ -0,0 +1,17 @@
import type { HostContract } from "@/host-contract";
/**
* MF expose wrapper for the Schedule feature.
* Phase 3 (schedule port) replaces the body with the real root.
*/
export interface ScheduleRemoteProps {
hostContract: HostContract;
}
export default function ScheduleRemote(_props: ScheduleRemoteProps): JSX.Element {
return (
<div data-mf-expose="Schedule">
<p>Schedule remote stub. Populated in Phase 3.</p>
</div>
);
}
+7
View File
@@ -0,0 +1,7 @@
// Remote-mode bundle entry. Does not render — hosts import individual
// /expose/<name> modules directly via the MF manifest. This file exists
// to give the remote bundle a single module root and a clear place for
// one-time runtime bootstrap hooks (e.g., telemetry init) that must run
// before any expose is loaded. Phase 2+ adds those hooks.
export const REMOTE_BUILD_MARKER = "aeroflot_flights_remote_v1" as const;