Hiyve Components - v1.0.0
    Preparing search index...
    • Hook for polls persistence with auto-save.

      Parameters

      Returns UsePollPersistenceResult

      Persistence state and controls

      This hook provides automatic saving of polls to file storage. It uses the Hiyve client's file upload/modify APIs to persist data to S3.

      Features:

      • Auto-save after a configurable interval (default: 3 seconds)
      • Saves on unmount to prevent data loss
      • Handles first save vs subsequent saves automatically
      • Only saves when there are changes
      function PollsWithPersistence() {
      const [polls, setPolls] = useState<Poll[]>([]);
      const pollsRef = useRef(polls);

      const {
      fileId,
      isSaving,
      hasUnsavedChanges,
      save,
      markUnsaved,
      } = usePollPersistence({
      client,
      enabled: true,
      userId: localUserId,
      roomName: room?.name,
      pollsRef,
      onSave: (id) => console.log('Saved to:', id),
      });

      useEffect(() => {
      markUnsaved();
      }, [polls, markUnsaved]);
      }