repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
stars
latest
clone command
git clone gitlawb://did:key:z6MkvfHn...poLu/gitcatgit clone gitlawb://did:key:z6MkvfHn.../gitcata815108csync from playground1d ago| #1 | interface PopCatProps { |
| #2 | isOpen: boolean; |
| #3 | } |
| #4 | |
| #5 | export default function PopCat({ isOpen }: PopCatProps) { |
| #6 | return ( |
| #7 | <svg |
| #8 | viewBox="0 0 512 512" |
| #9 | fill="none" |
| #10 | xmlns="http://www.w3.org/2000/svg" |
| #11 | style={{ width: '100%', height: 'auto', display: 'block' }} |
| #12 | > |
| #13 | {/* Left ear */} |
| #14 | <path d="M60 220 L150 30 L240 200" fill="white" /> |
| #15 | <path d="M85 208 L150 55 L215 195" fill="#FFB5C5" /> |
| #16 | |
| #17 | {/* Right ear */} |
| #18 | <path d="M272 200 L362 30 L452 220" fill="white" /> |
| #19 | <path d="M297 195 L362 55 L427 208" fill="#FFB5C5" /> |
| #20 | |
| #21 | {/* Head */} |
| #22 | <ellipse cx="256" cy="300" rx="220" ry="200" fill="white" /> |
| #23 | |
| #24 | {/* Git branch icon on forehead */} |
| #25 | <circle cx="256" cy="170" r="10" fill="#F05032" /> |
| #26 | <path d="M256 180 L256 210" stroke="#F05032" strokeWidth="4" strokeLinecap="round" /> |
| #27 | <circle cx="240" cy="200" r="7" fill="none" stroke="#F05032" strokeWidth="3" /> |
| #28 | <path d="M240 207 L240 210 Q240 220 256 220" stroke="#F05032" strokeWidth="3" fill="none" strokeLinecap="round" /> |
| #29 | <circle cx="276" cy="200" r="7" fill="none" stroke="#F05032" strokeWidth="3" /> |
| #30 | <path d="M276 207 L276 210 Q276 220 256 220" stroke="#F05032" strokeWidth="3" fill="none" strokeLinecap="round" /> |
| #31 | |
| #32 | {/* Left eye */} |
| #33 | <ellipse cx="180" cy="270" rx="52" ry={isOpen ? 55 : 62} fill="#111" /> |
| #34 | <ellipse |
| #35 | cx="165" |
| #36 | cy={isOpen ? 255 : 250} |
| #37 | rx="18" |
| #38 | ry={isOpen ? 17 : 20} |
| #39 | fill="white" |
| #40 | /> |
| #41 | <ellipse cx="195" cy="285" rx="8" ry="8" fill="white" opacity="0.35" /> |
| #42 | |
| #43 | {/* Right eye */} |
| #44 | <ellipse cx="332" cy="270" rx="52" ry={isOpen ? 55 : 62} fill="#111" /> |
| #45 | <ellipse |
| #46 | cx="317" |
| #47 | cy={isOpen ? 255 : 250} |
| #48 | rx="18" |
| #49 | ry={isOpen ? 17 : 20} |
| #50 | fill="white" |
| #51 | /> |
| #52 | <ellipse cx="347" cy="285" rx="8" ry="8" fill="white" opacity="0.35" /> |
| #53 | |
| #54 | {/* Nose */} |
| #55 | <ellipse cx="256" cy="338" rx="14" ry="10" fill="#FFB5C5" /> |
| #56 | |
| #57 | {/* Mouth */} |
| #58 | {isOpen ? ( |
| #59 | <ellipse cx="256" cy="378" rx="58" ry="50" fill="#FF1493" /> |
| #60 | ) : ( |
| #61 | <path |
| #62 | d="M210 360 Q233 378 256 360 Q279 378 302 360" |
| #63 | fill="none" |
| #64 | stroke="#666" |
| #65 | strokeWidth="4" |
| #66 | strokeLinecap="round" |
| #67 | /> |
| #68 | )} |
| #69 | |
| #70 | {/* Whiskers */} |
| #71 | <line |
| #72 | x1="30" |
| #73 | y1="300" |
| #74 | x2="120" |
| #75 | y2="315" |
| #76 | stroke="#ddd" |
| #77 | strokeWidth="2.5" |
| #78 | strokeLinecap="round" |
| #79 | /> |
| #80 | <line |
| #81 | x1="25" |
| #82 | y1="325" |
| #83 | x2="120" |
| #84 | y2="325" |
| #85 | stroke="#ddd" |
| #86 | strokeWidth="2.5" |
| #87 | strokeLinecap="round" |
| #88 | /> |
| #89 | <line |
| #90 | x1="30" |
| #91 | y1="350" |
| #92 | x2="120" |
| #93 | y2="335" |
| #94 | stroke="#ddd" |
| #95 | strokeWidth="2.5" |
| #96 | strokeLinecap="round" |
| #97 | /> |
| #98 | <line |
| #99 | x1="482" |
| #100 | y1="300" |
| #101 | x2="392" |
| #102 | y2="315" |
| #103 | stroke="#ddd" |
| #104 | strokeWidth="2.5" |
| #105 | strokeLinecap="round" |
| #106 | /> |
| #107 | <line |
| #108 | x1="487" |
| #109 | y1="325" |
| #110 | x2="392" |
| #111 | y2="325" |
| #112 | stroke="#ddd" |
| #113 | strokeWidth="2.5" |
| #114 | strokeLinecap="round" |
| #115 | /> |
| #116 | <line |
| #117 | x1="482" |
| #118 | y1="350" |
| #119 | x2="392" |
| #120 | y2="335" |
| #121 | stroke="#ddd" |
| #122 | strokeWidth="2.5" |
| #123 | strokeLinecap="round" |
| #124 | /> |
| #125 | </svg> |
| #126 | ); |
| #127 | } |
| #128 |