Vibary.ai
← Vibe Coding

Sync Status Rotate

A sync glyph turns slowly while changes upload, then stops on a tick.

feedbacksubtlecalmautomatic · looping · starter · ~4.2s
Variant

The animated component in this preview is rendered from the canonical file shown here. The surrounding demo shell only provides context and is not part of the copied code.

239 lines · react + motion only
import { useEffect, useState } from "react";
import { AnimatePresence, motion, useReducedMotion } from "motion/react";

/**
 * Vibary · Sync Status Rotate
 *
 * The saving indicator in a document header: a two-arc glyph turns
 * slowly while changes upload, then stops on a tick as the label

About this pattern

The saving indicator that lives in a document header. While changes are in flight a two-arc glyph turns on a linear loop — no easing, because an eased turn implies a progress it does not know. When the upload lands the glyph leaves on a decelerating curve as the tick springs in, so the pair reads as one mark coming to rest rather than two icons swapping. The label crossfades inside a slot sized to its longest state, so the toolbar never shifts while someone is mid-sentence.

Document autosaveOffline queue uploadMailbox syncWorkspace settings sync

Where it shows up

Screens we drew to show where this motion usually sits. Illustrations, not captures of any product.

  • Ridgeline
    Docs
    Recent
    Shared
    Templates
    Trash
    DocsNew
    Q3 planning notesEdited 14 minutes agoScope
    Document page

    Header status swaps between saving and saved without moving the title.

Related patterns