good progress on highlighting verses
							parent
							
								
									fb7dd47a96
								
							
						
					
					
						commit
						f107e746b8
					
				| 
						 | 
					@ -201,6 +201,7 @@ func makeVerseView(seg: SegDenorm) -> some View {
 | 
				
			||||||
private struct SegRow: View {
 | 
					private struct SegRow: View {
 | 
				
			||||||
    var seg: SegDenorm
 | 
					    var seg: SegDenorm
 | 
				
			||||||
    var ribbonId: Int64
 | 
					    var ribbonId: Int64
 | 
				
			||||||
 | 
					    @State var highlights = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    var body: some View  {
 | 
					    var body: some View  {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -247,7 +248,8 @@ private struct SegRow: View {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        var segSplit = seg.body.components(separatedBy: ";;")
 | 
					        var segSplit = seg.body.components(separatedBy: ";;")
 | 
				
			||||||
        let decoder = JSONDecoder()
 | 
					        let decoder = JSONDecoder()
 | 
				
			||||||
        var retView = WrappingHStack(alignment: .leading, horizontalSpacing: 3.5) {
 | 
					        // var retView = WrappingHStack(alignment: .leading, horizontalSpacing: 3.5) {
 | 
				
			||||||
 | 
					        var retView = WrappingHStack(alignment: .leading, horizontalSpacing: 0) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // segSplit.enumerated().forEach { _, item in
 | 
					            // segSplit.enumerated().forEach { _, item in
 | 
				
			||||||
            ForEach(0..<segSplit.count, id: \.self)  { segIndex in
 | 
					            ForEach(0..<segSplit.count, id: \.self)  { segIndex in
 | 
				
			||||||
| 
						 | 
					@ -259,30 +261,66 @@ private struct SegRow: View {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                let lineHeight = CGFloat(30)
 | 
				
			||||||
 | 
					                let fontSize = CGFloat(20)
 | 
				
			||||||
                ForEach(0..<arrayOfText.count, id: \.self)  { index in
 | 
					                ForEach(0..<arrayOfText.count, id: \.self)  { index in
 | 
				
			||||||
                    HStack (spacing: 2) {
 | 
					                    HStack (spacing: 0) {
 | 
				
			||||||
                        if index == 0 {
 | 
					                        if index == 0 {
 | 
				
			||||||
                            Text(String(verse.verse))
 | 
					 | 
				
			||||||
                                .contentShape(Rectangle())
 | 
					 | 
				
			||||||
                                .font(Font.custom("AveriaSerifLibre-Regular", size: 10))
 | 
					 | 
				
			||||||
                                .baselineOffset(6.0)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            Text("")
 | 
				
			||||||
                                .foregroundColor(Color(UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.00)))
 | 
					                                .foregroundColor(Color(UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.00)))
 | 
				
			||||||
 | 
					                                .font(Font.custom("AveriaSerifLibre-Regular", size: fontSize))
 | 
				
			||||||
 | 
					                                .if( self.highlights == verse.verse ) { $0.background(Color.blue) }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            // Rectangle()
 | 
				
			||||||
 | 
					                            //     .if( self.highlights == verse.verse ) { $0.fill(.blue) }
 | 
				
			||||||
 | 
					                            //     .frame(width: 2)
 | 
				
			||||||
 | 
					                            //     .frame(height:lineHeight)
 | 
				
			||||||
 | 
					                            //     .if( self.highlights != verse.verse ) { $0.opacity(0) }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            VStack (spacing: 0) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                // Rectangle()
 | 
				
			||||||
 | 
					                                //     .fill(.blue)
 | 
				
			||||||
 | 
					                                //     .frame(width: 6, height: 1)
 | 
				
			||||||
 | 
					                                //     // .if( self.highlights == verse.verse ) { $0.opacity(1.0) }
 | 
				
			||||||
 | 
					                                //     // .if( self.highlights != verse.verse ) { $0.opacity(0.0) }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                ZStack {
 | 
				
			||||||
 | 
					                                    Text(" ")
 | 
				
			||||||
 | 
					                                        .foregroundColor(Color(UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.00)))
 | 
				
			||||||
 | 
					                                        .font(Font.custom("AveriaSerifLibre-Regular", size: fontSize))
 | 
				
			||||||
 | 
					                                        .if( self.highlights == verse.verse ) { $0.background(Color.blue) }
 | 
				
			||||||
 | 
					                                    Text(String(verse.verse))
 | 
				
			||||||
 | 
					                                        .contentShape(Rectangle())
 | 
				
			||||||
 | 
					                                        .font(Font.custom("AveriaSerifLibre-Regular", size: 10))
 | 
				
			||||||
 | 
					                                        .padding(.horizontal, 0)
 | 
				
			||||||
 | 
					                                        .foregroundColor(Color(UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.00)))
 | 
				
			||||||
 | 
					                                        .if( self.highlights == verse.verse ) { $0.background(Color.blue) }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                                    .if( self.highlights == verse.verse ) { $0.background(Color.blue) }
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        Text(arrayOfText[index])
 | 
					                        Text(arrayOfText[index])
 | 
				
			||||||
                            .foregroundColor(Color(UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.00)))
 | 
					                            .foregroundColor(Color(UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.00)))
 | 
				
			||||||
                            .font(Font.custom("AveriaSerifLibre-Regular", size: 20))
 | 
					                            .font(Font.custom("AveriaSerifLibre-Regular", size: fontSize))
 | 
				
			||||||
 | 
					                            .padding(.horizontal, 1.5) // intra word spacing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            .if( self.highlights == verse.verse ) { $0.background(Color.blue) }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            .foregroundColor(Color.white)
 | 
					                            .foregroundColor(Color.white)
 | 
				
			||||||
                            .padding(.horizontal, 0)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            .onTapGesture {
 | 
					                            .onTapGesture {
 | 
				
			||||||
                                Print(arrayOfText[index])
 | 
					                                Print(arrayOfText[index])
 | 
				
			||||||
                                Print(index)
 | 
					                                Print(verse.verse)
 | 
				
			||||||
 | 
					                                self.highlights = verse.verse
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					                        .frame(height:16) // intra line spacing
 | 
				
			||||||
 | 
					                        .padding(.vertical, 0)
 | 
				
			||||||
                    // .if( index == 0 ) { $0.offset(x: -6) }
 | 
					                    // .if( index == 0 ) { $0.offset(x: -6) }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue