featherbit UI
    Preparing search index...

    Function default

    • Top-level application component and single owner of server state.

      On mount it loads routes, policies, plugin types, and script files in parallel via the api client and keeps them in local state; every mutation (create/delete route, save policy, reload config) round-trips through the Admin API and then re-fetches everything, so the UI never holds edits the gateway has not accepted.

      Data flow: route selection lives here as selectedRoute; the routes list and selection callbacks go down to Sidebar, while the policy resolved from the selected route (plus the plugin/script catalogs) goes down to GraphCanvas, which hands edited policies back via onSavePolicy. Dialog state for route creation/deletion and toast notifications are also owned here. If the initial load fails, the whole screen is replaced by a connection-error panel with a retry button.

      Creating a route also creates a matching <name>-policy seeded with a listener.out -> client.in edge; deleting a route keeps its policy.

      Returns Element

      The Admin API served from src/admin/ persists these changes into the gateway's shared state (src/state.rs) used by the data plane.