generated from ttipo/project-base
feat(flutter): 펫 명함 만들기·상세·관리·공유 구현
홈에서 아이를 등록한 뒤 이어지는 흐름이라 먼저 만든다. 명함은 기기에 저장하고(아이별 대표 명함 지정), 공유는 명함을 이미지로 그려 기기 공유 창과 QR 로 보낸다. 명함 받기는 서버가 필요해 안내만 둔다. - 아이를 삭제하면 그 아이의 명함도 함께 지운다 - 수정 화면은 아이 목록을 다 불러온 뒤 연다 (새 등록으로 오인 방지) - 의존성: share_plus, qr_flutter Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 5.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 8.2 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="360" height="140" viewBox="0 0 360 140"><defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#FFECE2"></stop><stop offset="1" stop-color="#FFD9C6"></stop></linearGradient></defs><rect width="360" height="140" fill="url(#g)"></rect><g fill="#FFB492" opacity="0.45"><circle cx="177" cy="77" r="4.2"></circle><circle cx="162" cy="71" r="4.0"></circle><circle cx="209" cy="60" r="5.0"></circle><circle cx="230" cy="24" r="6.0"></circle><circle cx="235" cy="33" r="6.3"></circle><circle cx="76" cy="21" r="8.1"></circle><circle cx="59" cy="64" r="8.2"></circle><circle cx="154" cy="75" r="6.8"></circle><circle cx="75" cy="122" r="5.7"></circle><circle cx="195" cy="52" r="4.3"></circle><circle cx="133" cy="54" r="4.0"></circle><circle cx="96" cy="111" r="5.9"></circle><circle cx="213" cy="59" r="7.2"></circle><circle cx="64" cy="40" r="5.8"></circle><circle cx="35" cy="61" r="6.9"></circle><circle cx="326" cy="51" r="5.7"></circle><circle cx="160" cy="107" r="5.8"></circle><circle cx="104" cy="42" r="7.2"></circle><circle cx="107" cy="99" r="7.7"></circle><circle cx="317" cy="109" r="7.2"></circle><circle cx="197" cy="19" r="5.2"></circle><circle cx="89" cy="59" r="6.9"></circle><circle cx="105" cy="119" r="3.6"></circle><circle cx="207" cy="64" r="4.0"></circle><circle cx="166" cy="110" r="6.4"></circle><circle cx="60" cy="102" r="7.9"></circle></g></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="360" height="140" viewBox="0 0 360 140"><defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#FFEDF2"></stop><stop offset="1" stop-color="#FFD6E2"></stop></linearGradient></defs><rect width="360" height="140" fill="url(#g)"></rect><g fill="#FF9BBA" opacity="0.5"><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(253,78) scale(1.97) rotate(19)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(59,112) scale(1.20) rotate(2)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(151,49) scale(1.84) rotate(31)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(52,96) scale(1.74) rotate(2)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(126,48) scale(1.63) rotate(35)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(48,32) scale(1.01) rotate(18)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(52,26) scale(2.00) rotate(32)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(146,100) scale(2.00) rotate(15)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(183,83) scale(1.59) rotate(18)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(147,47) scale(1.15) rotate(24)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(332,17) scale(1.94) rotate(2)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(127,58) scale(2.00) rotate(22)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(230,17) scale(1.18) rotate(3)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(257,85) scale(1.03) rotate(19)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(96,29) scale(1.83) rotate(16)"></path><path d="M0,-3 C-3,-7 -9,-3 0,4 C9,-3 3,-7 0,-3 Z" transform="translate(195,115) scale(1.71) rotate(29)"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="360" height="140" viewBox="0 0 360 140"><defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#F4EEFC"></stop><stop offset="1" stop-color="#E5D6F8"></stop></linearGradient></defs><rect width="360" height="140" fill="url(#g)"></rect><g fill="#B794EC" opacity="0.5"><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(138,119) scale(1.20) rotate(18)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(103,113) scale(1.29) rotate(15)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(103,18) scale(0.77) rotate(2)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(110,71) scale(1.45) rotate(17)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(155,16) scale(1.00) rotate(5)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(293,23) scale(1.09) rotate(16)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(142,67) scale(1.07) rotate(13)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(230,23) scale(1.17) rotate(8)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(44,49) scale(0.89) rotate(17)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(126,72) scale(0.67) rotate(1)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(222,98) scale(1.50) rotate(0)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(210,59) scale(0.75) rotate(17)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(276,48) scale(0.81) rotate(11)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(25,97) scale(0.83) rotate(12)"></path><path d="M0,-7 L1.8,-2.2 L7,-2.2 L2.6,1 L4.2,6 L0,3 L-4.2,6 L-2.6,1 L-7,-2.2 L-1.8,-2.2 Z" transform="translate(45,16) scale(1.27) rotate(10)"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="360" height="140" viewBox="0 0 360 140"><defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#EAF7F1"></stop><stop offset="1" stop-color="#D2EFE1"></stop></linearGradient></defs><rect width="360" height="140" fill="url(#g)"></rect><g fill="#5BC79E" opacity="0.5"><g transform="translate(291,122) scale(0.88)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g><g transform="translate(217,87) scale(0.78)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g><g transform="translate(308,102) scale(0.84)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g><g transform="translate(74,106) scale(1.00)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g><g transform="translate(257,46) scale(1.18)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g><g transform="translate(237,44) scale(1.48)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g><g transform="translate(129,99) scale(1.09)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g><g transform="translate(213,73) scale(0.80)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g><g transform="translate(261,78) scale(1.22)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g><g transform="translate(30,63) scale(0.82)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g><g transform="translate(300,24) scale(1.23)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g><g transform="translate(273,59) scale(1.68)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g><g transform="translate(311,72) scale(0.84)"><ellipse cx="0" cy="2.5" rx="5" ry="4.2"></ellipse><circle cx="-4.6" cy="-3.2" r="2"></circle><circle cx="-1.4" cy="-5.4" r="2.1"></circle><circle cx="1.9" cy="-5.4" r="2.1"></circle><circle cx="5" cy="-3.2" r="2"></circle></g></g></svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
Reference in New Issue
Block a user