@evefrontier/dapp-kit - v0.0.1
    Preparing search index...

    Function useSmartObject

    • Hook for accessing smart assembly data from the Sui GraphQL Indexer.

      Provides reactive access to the currently selected smart assembly (Smart Storage Unit, Smart Turret, Smart Gate, Network Node, etc.) with automatic polling for updates. The assembly ID is determined from environment variables (VITE_ITEM_ID) or URL query parameters (?itemId= and ?tenant=).

      Returns SmartObjectContextType

      Object containing assembly state and methods:

      • assembly - The transformed assembly data (or null if not loaded)
      • character - The owner character information (or null)
      • selectedObjectId - The current assembly's Sui object ID
      • loading - Boolean indicating if data is being fetched
      • error - Error message string (or null)
      • setSelectedObjectId - Function to change the selected assembly
      • refetch - Function to manually refresh assembly data

      If used outside of EveFrontierProvider

      import { useSmartObject } from '@evefrontier/dapp-kit';

      const AssemblyInfo = () => {
      const { assembly, loading, error, refetch } = useSmartObject();

      if (loading) return <div>Loading...</div>;
      if (error) return <div>Error: {error}</div>;
      if (!assembly) return <div>No assembly found</div>;

      return (
      <div>
      <h1>{assembly.name}</h1>
      <p>Type: {assembly.type}</p>
      <p>State: {assembly.state}</p>
      <p>ID: {assembly.id}</p>
      <button onClick={refetch}>Refresh</button>
      </div>
      );
      };
      const { assembly, character } = useSmartObject();

      return (
      <div>
      <p>Assembly: {assembly?.name}</p>
      <p>Owner: {character?.name || 'Unknown'}</p>
      </div>
      );
      const { setSelectedObjectId } = useSmartObject();

      const handleSelectAssembly = (newId: string) => {
      setSelectedObjectId(newId);
      };