Add interactive cheek squishing (mochimochi) animation to avatars #16697
+34
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR implements the ほっぺもちもち機能 (Cheek Squishing Feature) - an interactive entertainment feature that adds a playful squishing animation to user avatars when clicked.
What it does
When you click on an avatar (that is not used as a navigation link), it triggers a bouncy "mochimochi" (squishing) animation that lasts 0.6 seconds. The animation creates a playful effect where the avatar squishes horizontally, then vertically, then bounces back to its normal state.
Demo
The animation creates a fun, squishy effect that users can trigger repeatedly by clicking.
Implementation Details
Changes Made
packages/frontend/src/components/global/MkAvatar.vue(+34 lines, -1 line)isMochimochireactive state variable to track animation stateonClickhandler to trigger animation with automatic reset after 600mstransform: scale()Animation Sequence
The animation follows this sequence:
Behavior
Technical Considerations
Compatibility
Performance
Security
Entertainment Value
This feature adds a fun, interactive element to the Misskey user experience that aligns with the platform's playful nature. Users can "play" with avatars by clicking them, creating a lighthearted interaction that enhances engagement without being intrusive.
Testing
Closes #(issue number)
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
download.cypress.ionode dist/index.js --exec install(dns block)iojs.orgcurl --fail --compressed -q -L -s REDACTED -o -(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
Fixes #16693
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.