Mercurial > public > lazybear
comparison LazyBear/Views/Company/Helpers/NewsHelper.swift @ 442:6eae10397501
Implementing NewsHelper in CompanyView
author | Dennis Concepción Martín <dennisconcepcionmartin@gmail.com> |
---|---|
date | Mon, 21 Jun 2021 13:28:45 +0200 |
parents | |
children | ffbb1dbab531 |
comparison
equal
deleted
inserted
replaced
441:417148200aaf | 442:6eae10397501 |
---|---|
1 // | |
2 // NewsHelper.swift | |
3 // LazyBear | |
4 // | |
5 // Created by Dennis Concepción Martín on 21/6/21. | |
6 // | |
7 | |
8 import SwiftUI | |
9 | |
10 struct NewsHelper: View { | |
11 var latestNews: [LatestNewsModel] | |
12 | |
13 @State private var showList = false | |
14 | |
15 var body: some View { | |
16 VStack(alignment: .leading) { | |
17 HStack { | |
18 Text("Latest news") | |
19 .font(.title) | |
20 .fontWeight(.semibold) | |
21 | |
22 Spacer() | |
23 Button("See all", action: { showList = true } ) | |
24 } | |
25 .padding(.bottom) | |
26 | |
27 ForEach(latestNews.prefix(4), id: \.self) { new in | |
28 if !new.headline.isEmpty { | |
29 NewsRow(new: new) | |
30 Divider() | |
31 .padding(.leading, 80) | |
32 | |
33 } | |
34 } | |
35 } | |
36 .padding() | |
37 .background( | |
38 CustomRectangleBox() | |
39 ) | |
40 .sheet(isPresented: $showList) { | |
41 NewsList(latestNews: latestNews) | |
42 } | |
43 } | |
44 } | |
45 | |
46 struct NewsHelper_Previews: PreviewProvider { | |
47 static var previews: some View { | |
48 NewsHelper( | |
49 latestNews: [ | |
50 LatestNewsModel( | |
51 datetime: 1621037430000, | |
52 headline: "Chaos Monkeys' author calls Apple's statement on his departure defamatory", | |
53 image: "https://cloud.iexapis.com/v1/news/image/99abeb99-6d9e-47c8-ae7b-53404eacccec", | |
54 source: "Investing.com", | |
55 summary: "https://www.investing.com/news/stock-market-news", | |
56 url: "https://cloud.iexapis.com/v1/news/article/99abeb99-6d9e-47c8-ae7b-53404eacccec") | |
57 ] | |
58 ) | |
59 } | |
60 } |