iOS client for Grain grain.social
ios photography atproto
7
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: restore CopiedCheckmarkToast in ProfileView after settings cleanup

The settings cleanup PR removed the shared toast component. Move it
into ProfileView where it's actually used.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

+24
+24
Grain/Views/Profile/ProfileView.swift
··· 1179 1179 } 1180 1180 } 1181 1181 1182 + private struct CopiedCheckmarkToast: View { 1183 + @State private var checkScale = 0.3 1184 + 1185 + var body: some View { 1186 + HStack(spacing: 6) { 1187 + Image(systemName: "checkmark.circle.fill") 1188 + .font(.subheadline) 1189 + .scaleEffect(checkScale) 1190 + .onAppear { 1191 + withAnimation(.spring(response: 0.3, dampingFraction: 0.5)) { 1192 + checkScale = 1.0 1193 + } 1194 + } 1195 + Text("Copied") 1196 + .font(.subheadline.weight(.medium)) 1197 + } 1198 + .padding(.horizontal, 16) 1199 + .padding(.vertical, 10) 1200 + .background(.ultraThinMaterial, in: Capsule()) 1201 + .shadow(color: .black.opacity(0.15), radius: 8, y: 4) 1202 + .transition(.scale.combined(with: .opacity)) 1203 + } 1204 + } 1205 + 1182 1206 #Preview { 1183 1207 ProfileView(client: .preview, did: "did:plc:preview") 1184 1208 .previewEnvironments()