resolve or remove todo comments
This commit is contained in:
@ -134,7 +134,8 @@ struct HighlightsListCard: View {
|
|||||||
.foregroundColor(.appGrayText)
|
.foregroundColor(.appGrayText)
|
||||||
.frame(width: 14, height: 14)
|
.frame(width: 14, height: 14)
|
||||||
}
|
}
|
||||||
Text("\(LocalText.highlightCardHighlightByOther)\(highlightParams.createdBy?.name ?? "you")") // TODO: fix translation...add other/you
|
// fix translation...add other/you
|
||||||
|
Text("\(LocalText.highlightCardHighlightByOther)\(highlightParams.createdBy?.name ?? "you")")
|
||||||
.font(.appFootnote)
|
.font(.appFootnote)
|
||||||
.foregroundColor(.appGrayText)
|
.foregroundColor(.appGrayText)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,41 @@
|
|||||||
|
import Foundation
|
||||||
|
import Models
|
||||||
|
import Views
|
||||||
|
|
||||||
|
extension LinkedItemFilter {
|
||||||
|
var displayName: String {
|
||||||
|
switch self {
|
||||||
|
case .inbox:
|
||||||
|
return LocalText.inboxGeneric
|
||||||
|
case .readlater:
|
||||||
|
return LocalText.readLaterGeneric
|
||||||
|
case .newsletters:
|
||||||
|
return LocalText.newslettersGeneric
|
||||||
|
case .recommended:
|
||||||
|
return "Recommended"
|
||||||
|
case .all:
|
||||||
|
return LocalText.allGeneric
|
||||||
|
case .archived:
|
||||||
|
return LocalText.archivedGeneric
|
||||||
|
case .hasHighlights:
|
||||||
|
return LocalText.highlightedGeneric
|
||||||
|
case .files:
|
||||||
|
return LocalText.filesGeneric
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public extension LinkedItemSort {
|
||||||
|
var displayName: String {
|
||||||
|
switch self {
|
||||||
|
case .newest:
|
||||||
|
return LocalText.newestGeneric
|
||||||
|
case .oldest:
|
||||||
|
return LocalText.oldestGeneric
|
||||||
|
case .recentlyRead:
|
||||||
|
return LocalText.recentlyReadGeneric
|
||||||
|
case .recentlyPublished:
|
||||||
|
return LocalText.recentlyPublishedGeneric
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -576,42 +576,3 @@ struct LinkDestination: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: move everything below this to another file
|
|
||||||
extension LinkedItemFilter {
|
|
||||||
var displayName: String {
|
|
||||||
switch self {
|
|
||||||
case .inbox:
|
|
||||||
return LocalText.inboxGeneric
|
|
||||||
case .readlater:
|
|
||||||
return LocalText.readLaterGeneric
|
|
||||||
case .newsletters:
|
|
||||||
return LocalText.newslettersGeneric
|
|
||||||
case .recommended:
|
|
||||||
return "Recommended"
|
|
||||||
case .all:
|
|
||||||
return LocalText.allGeneric
|
|
||||||
case .archived:
|
|
||||||
return LocalText.archivedGeneric
|
|
||||||
case .hasHighlights:
|
|
||||||
return LocalText.highlightedGeneric
|
|
||||||
case .files:
|
|
||||||
return LocalText.filesGeneric
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public extension LinkedItemSort {
|
|
||||||
var displayName: String {
|
|
||||||
switch self {
|
|
||||||
case .newest:
|
|
||||||
return LocalText.newestGeneric
|
|
||||||
case .oldest:
|
|
||||||
return LocalText.oldestGeneric
|
|
||||||
case .recentlyRead:
|
|
||||||
return LocalText.recentlyReadGeneric
|
|
||||||
case .recentlyPublished:
|
|
||||||
return LocalText.recentlyPublishedGeneric
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -43,7 +43,6 @@ import Views
|
|||||||
viewModel: viewModel
|
viewModel: viewModel
|
||||||
)
|
)
|
||||||
.contextMenu {
|
.contextMenu {
|
||||||
// TODO: add highlights view button
|
|
||||||
Button(
|
Button(
|
||||||
action: { viewModel.itemUnderTitleEdit = item },
|
action: { viewModel.itemUnderTitleEdit = item },
|
||||||
label: { Label("Edit Info", systemImage: "info.circle") }
|
label: { Label("Edit Info", systemImage: "info.circle") }
|
||||||
@ -145,7 +144,6 @@ import Views
|
|||||||
.sheet(item: $viewModel.itemUnderTitleEdit) { item in
|
.sheet(item: $viewModel.itemUnderTitleEdit) { item in
|
||||||
LinkedItemMetadataEditView(item: item)
|
LinkedItemMetadataEditView(item: item)
|
||||||
}
|
}
|
||||||
// TODO: add highlights view sheet
|
|
||||||
.task {
|
.task {
|
||||||
if viewModel.items.isEmpty {
|
if viewModel.items.isEmpty {
|
||||||
loadItems(isRefresh: true)
|
loadItems(isRefresh: true)
|
||||||
|
|||||||
@ -73,7 +73,7 @@ struct PushNotificationSettingsView: View {
|
|||||||
viewModel.tryUpdateToDesired(dataService: dataService)
|
viewModel.tryUpdateToDesired(dataService: dataService)
|
||||||
}
|
}
|
||||||
|
|
||||||
Section { // TODO: double check this text
|
Section {
|
||||||
Text("\(LocalText.notificationsExplainer)\n\(LocalText.notificationsTriggerExplainer)")
|
Text("\(LocalText.notificationsExplainer)\n\(LocalText.notificationsTriggerExplainer)")
|
||||||
.accentColor(.blue)
|
.accentColor(.blue)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -127,7 +127,7 @@ struct RecommendationGroupView: View {
|
|||||||
|
|
||||||
private var membersSection: some View {
|
private var membersSection: some View {
|
||||||
Section("Members") {
|
Section("Members") {
|
||||||
if !viewModel.recommendationGroup.canSeeMembers { // TODO: might need to fix text here
|
if !viewModel.recommendationGroup.canSeeMembers {
|
||||||
Text("""
|
Text("""
|
||||||
\(LocalText.clubsAdminDenyViewing)
|
\(LocalText.clubsAdminDenyViewing)
|
||||||
|
|
||||||
@ -142,7 +142,7 @@ struct RecommendationGroupView: View {
|
|||||||
imageURL: member.profileImageURL != nil ? URL(string: member.profileImageURL!) : nil
|
imageURL: member.profileImageURL != nil ? URL(string: member.profileImageURL!) : nil
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
} else { // TODO: fix link text to use translation
|
} else {
|
||||||
Text("""
|
Text("""
|
||||||
\(LocalText.clubsNoMembers)
|
\(LocalText.clubsNoMembers)
|
||||||
|
|
||||||
|
|||||||
@ -179,7 +179,7 @@ struct WebReaderContainerView: View {
|
|||||||
Image(systemName: "sparkles")
|
Image(systemName: "sparkles")
|
||||||
}).frame(width: 48, height: 48)
|
}).frame(width: 48, height: 48)
|
||||||
|
|
||||||
// TODO: We don't have a single note function yet
|
// We don't have a single note function yet
|
||||||
// Divider()
|
// Divider()
|
||||||
//
|
//
|
||||||
// Button(action: addNote, label: {
|
// Button(action: addNote, label: {
|
||||||
|
|||||||
@ -144,7 +144,7 @@ struct SpeechSynthesizer {
|
|||||||
text: utterance.text)
|
text: utterance.text)
|
||||||
result.append(item)
|
result.append(item)
|
||||||
} else {
|
} else {
|
||||||
// TODO: How do we want to handle completely skipped paragraphs?
|
// How do we want to handle completely skipped paragraphs?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -145,7 +145,7 @@ extension JSONArticle {
|
|||||||
originalHtml: nil,
|
originalHtml: nil,
|
||||||
language: language,
|
language: language,
|
||||||
wordsCount: wordsCount,
|
wordsCount: wordsCount,
|
||||||
recommendations: [], // TODO:
|
recommendations: [],
|
||||||
labels: []
|
labels: []
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -68,7 +68,6 @@ public extension Color {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: remove this?
|
|
||||||
var isDark: Bool {
|
var isDark: Bool {
|
||||||
guard let lum = luminance else { return false }
|
guard let lum = luminance else { return false }
|
||||||
return lum < 0.50
|
return lum < 0.50
|
||||||
|
|||||||
Reference in New Issue
Block a user