Skip to content

Commit

Permalink
search fin
Browse files Browse the repository at this point in the history
  • Loading branch information
이현서 authored and 이현서 committed Dec 10, 2024
1 parent 7268322 commit 2f35eba
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 12 deletions.
2 changes: 0 additions & 2 deletions NameStack/NameStack/FriendNameCard_edit.swift
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,6 @@ struct FriendNameCard_edit: View {
ZStack {
Color.black.edgesIgnoringSafeArea(.all)



Button(action: {
path.removeLast()
}) {
Expand Down
38 changes: 35 additions & 3 deletions NameStack/NameStack/FriendNameCard_list.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ struct FriendNameCard_list: View {
@Query private var allCards: [Card]

var cards: [Card] {
allCards.filter { $0.id != cardID }
allCards.filter { $0.id != cardID && isSearchedCard(card: $0)}
}

@State private var searchText: String = "Search.."
@State private var searchText: String = ""

var body: some View {
ZStack() {
Expand Down Expand Up @@ -86,7 +86,7 @@ struct FriendNameCard_list: View {
}
Spacer() .frame(width: 11)
Button(action: {
//검색 기능
//getSearchCard()
}) {
Image("search")
.foregroundColor(.gray)
Expand Down Expand Up @@ -170,6 +170,38 @@ struct FriendNameCard_list: View {
private func dismissKeyboard() {
UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
}
func getSearchCard(){
// cards = allCards.filter { $0.id != cardID && isSearchedCard(card: $0)}
}
func isSearchedCard(card: Card) -> Bool {
var retText = false
if(card.name.lowercased().contains(searchText.lowercased())){
retText = true
}
else if(card.phoneNumber.lowercased().contains(searchText.lowercased())){
retText = true
}
else if(card.mail.lowercased().contains(searchText.lowercased())){
retText = true
}
else if(card.organization.lowercased().contains(searchText.lowercased())){
retText = true
}
else if(card.school.lowercased().contains(searchText.lowercased())){
retText = true
}
else if(card.URL.lowercased().contains(searchText.lowercased())){
retText = true
}
else if(card.memo.lowercased().contains(searchText.lowercased())){
retText = true
}

if(!searchText.isEmpty){
return retText
}
return true
}
}
#Preview {
ContentView()
Expand Down
53 changes: 48 additions & 5 deletions NameStack/NameStack/LoopingScrollView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ struct LoopingScrollView: View {
var searchText: String
var searchTag: Dictionary<UUID,Bool>

@Binding var path: NavigationPath



@Environment(\.modelContext) private var modelContext
private let cardID = UUID(uuidString: "00000000-0000-0000-0000-000000000000")!
Expand All @@ -36,14 +39,54 @@ struct LoopingScrollView: View {
.fill(.white)
.stroke(Color.black, lineWidth: 2)
.shadow(radius: 10)
.overlay(Text("\(card.name)").bold().font(.system(size:100)))
.overlay(
ZStack{
HStack{
Spacer()
.frame(width:10)
VStack(alignment: .leading, spacing: 10) {
Text(card.name)
.font(.title)
.fontWeight(.bold)
.foregroundColor(.black)

Spacer()
.frame(height:40)

Text(card.school)
.font(.subheadline)
.foregroundColor(.black)

Text(card.phoneNumber)
.font(.subheadline)
.foregroundColor(.black)


Text(card.mail)
.font(.subheadline)
.foregroundColor(.black)

Spacer()
.frame(height:100)


}
.padding()
Spacer()
}


Text(card.organization)
.font(.footnote)
.foregroundColor(.black)
.padding(.top,300)})
//.offset( y: -200*(1-getPercentage(geo: geometry)))
.frame(width : 240, height : 377)
//.opacity(getPercentage(geo: geometry)*getPercentage(geo: geometry))
//.blur(radius: (1-getPercentage(geo: geometry))*10)
.scaleEffect(getPercentage(geo: geometry))
.onTapGesture{
print(index)
withAnimation{path.append(MainDestination.edit(card.id))}
}
.zIndex(Double(getY(geo: geometry)))

Expand Down Expand Up @@ -81,7 +124,7 @@ struct LoopingScrollView: View {

func isSearchedCard(card: Card) -> Bool {
var retText = false
var retTag = false
var retTag = true
var isSearchTag = false
if(card.name.lowercased().contains(searchText.lowercased())){
retText = true
Expand All @@ -107,8 +150,8 @@ struct LoopingScrollView: View {
for tag in tags {
if(searchTag[tag.id] ?? false){
isSearchTag = true
if(card.tags.contains(tag)){
retTag = true
if(!card.tags.contains(tag)){
retTag = false
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions NameStack/NameStack/MainScreen.swift
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ struct MainScreen: View {
ZStack() {
Color.black.ignoresSafeArea(.all)
if(showLooping){
LoopingScrollView(searchText: mainSearchText, searchTag: checkArray)
LoopingScrollView(searchText: mainSearchText, searchTag: checkArray, path: $path)
.padding(.bottom, 30)
}
ZStack(){
Expand Down Expand Up @@ -125,7 +125,7 @@ struct MainScreen: View {
showLooping = true
isTabBarVisible=true
dismissKeyboard()
LoopingScrollView(searchText: mainSearchText, searchTag: checkArray)
LoopingScrollView(searchText: mainSearchText, searchTag: checkArray, path: $path)
.padding(.bottom, 30)
}) {
Image("search")
Expand Down

0 comments on commit 2f35eba

Please sign in to comment.