comparison LazyBear/Views/Company/Helpers/NewsHelper.swift @ 447:8621ba6fd457

Fixes #48
author Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
date Wed, 23 Jun 2021 10:54:47 +0200
parents 7d1c4dc8d1d8
children c6913f0ce46e
comparison
equal deleted inserted replaced
446:9cc0455bc46f 447:8621ba6fd457
8 import SwiftUI 8 import SwiftUI
9 9
10 struct NewsHelper: View { 10 struct NewsHelper: View {
11 var latestNews: [LatestNewsModel] 11 var latestNews: [LatestNewsModel]
12 12
13 @State private var showList = false
14
15 var body: some View { 13 var body: some View {
16 VStack(alignment: .leading) { 14 VStack(alignment: .leading) {
17 HStack { 15 HStack {
18 Text("Latest news") 16 Text("Latest news")
19 .font(.title) 17 .font(.title)
20 .fontWeight(.semibold) 18 .fontWeight(.semibold)
21 19
22 Spacer() 20 Spacer()
23 Button("See all", action: { showList = true } ) 21
22 NavigationLink(destination: NewsList(latestNews: latestNews)
23 .navigationTitle("Latest news")
24 ) {
25 Text("See all")
26 .accentColor(Color(.systemBlue))
27 }
24 } 28 }
25 .padding(.bottom) 29 .padding(.bottom)
26 30
27 let latestNewsPrefixed = latestNews.prefix(4) 31 let latestNewsPrefixed = latestNews.prefix(4)
28 ForEach(latestNewsPrefixed, id: \.self) { new in 32 ForEach(latestNewsPrefixed, id: \.self) { new in
34 } 38 }
35 .padding() 39 .padding()
36 .background( 40 .background(
37 CustomRectangleBox() 41 CustomRectangleBox()
38 ) 42 )
39 .sheet(isPresented: $showList) {
40 NewsList(latestNews: latestNews, isPresented: $showList)
41 }
42 } 43 }
43 } 44 }
44 45
45 struct NewsHelper_Previews: PreviewProvider { 46 struct NewsHelper_Previews: PreviewProvider {
46 static var previews: some View { 47 static var previews: some View {