diff --git a/site/src/components/AnalyticsMock.astro b/site/src/components/AnalyticsMock.astro index c7f5be90..e0fff977 100644 --- a/site/src/components/AnalyticsMock.astro +++ b/site/src/components/AnalyticsMock.astro @@ -101,14 +101,14 @@ const activity = [ Deliverability across the workspace
-
- - - +
+ + +
- + ))}
@@ -248,10 +248,10 @@ const activity = [
Aspect -
- - - +
+ + +
@@ -331,12 +331,12 @@ const activity = [
- - + + Copy -
@@ -355,16 +355,17 @@ const activity = [ .an-ripple{position:absolute;left:-6px;top:-6px;width:32px;height:32px;border-radius:9999px;background:rgba(2,132,199,.5);transform:scale(0);opacity:0;animation:an-rip 11s ease-out infinite;} .an-react{position:absolute;z-index:40;opacity:0;animation:an-react 11s ease-out infinite;} .an-modal{transform-origin:center;} - /* press #1 (~28%) flashes the topbar "Share image" button */ + /* press #1 (~28%) flashes the topbar "Share image" button (its computed center) */ .an-share{animation:an-share-press 11s ease-out infinite;} - /* press #2 (~64%) darkens the modal "Download PNG" button */ - .an-dl{animation:an-dl-press 11s ease-out infinite;} - @keyframes an-move{0%{left:30%;top:80%}22%{left:88%;top:9%}32%{left:88%;top:9%}58%{left:74%;top:71%}68%{left:74%;top:71%}88%{left:74%;top:71%}100%{left:30%;top:80%}} + /* press #1 lands on the Share image button center (x 92%, y 4% of the mock); + press #2 lands on the dark scrim in the upper-left corner (x 8%, y 16%) and + dismisses the modal via the click-outside timeline. */ + @keyframes an-move{0%{left:30%;top:80%}22%{left:92%;top:4%}32%{left:92%;top:4%}58%{left:8%;top:16%}68%{left:8%;top:16%}88%{left:8%;top:16%}100%{left:30%;top:80%}} @keyframes an-press{0%,26%{transform:scale(1)}28%{transform:scale(.82)}31%,62%{transform:scale(1)}64%{transform:scale(.82)}67%,100%{transform:scale(1)}} @keyframes an-rip{0%,26%{transform:scale(0);opacity:0}29%{transform:scale(.25);opacity:.7}41%{transform:scale(1.9);opacity:0}60%{transform:scale(0);opacity:0}63%{transform:scale(.25);opacity:.7}75%{transform:scale(1.9);opacity:0}100%{transform:scale(0);opacity:0}} - @keyframes an-react{0%,29%{opacity:0;transform:scale(.94)}33%{opacity:1;transform:scale(1)}88%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(.94)}100%{opacity:0;transform:scale(.94)}} + /* dismissable popup timeline: opens after press #1, closes after press #2 */ + @keyframes an-react{0%,29%{opacity:0;transform:scale(.94)}33%{opacity:1;transform:scale(1)}60%{opacity:1;transform:scale(1)}66%{opacity:0;transform:scale(.94)}100%{opacity:0;transform:scale(.94)}} @keyframes an-share-press{0%,26%{box-shadow:none;border-color:rgb(226,232,240)}28%{box-shadow:0 0 0 2px rgb(186,230,253);border-color:rgb(125,211,252)}33%,100%{box-shadow:none;border-color:rgb(226,232,240)}} - @keyframes an-dl-press{0%,62%{background-color:rgb(15,23,42)}64%{background-color:rgb(2,132,199);box-shadow:0 0 0 2px rgb(186,230,253)}69%,100%{background-color:rgb(15,23,42)}} - @media (prefers-reduced-motion: reduce){.an-cursor{display:none}.an-react{display:none}.an-share{animation:none}.an-dl{animation:none}} + @media (prefers-reduced-motion: reduce){.an-cursor{display:none}.an-react{display:none}.an-share{animation:none}}