diff --git a/ios/circolapp/circolapp/View/CircularList.swift b/ios/circolapp/circolapp/View/CircularList.swift index c921da1..7ccf63e 100644 --- a/ios/circolapp/circolapp/View/CircularList.swift +++ b/ios/circolapp/circolapp/View/CircularList.swift @@ -25,7 +25,7 @@ struct CircularList: View { var body: some View { List(circularViewModel.circulars, id: \.id) { circular in - CircularView(circular: circular) + CircularView(circular: circular, idIsHumanReadable: circularViewModel.idsAreHumanReadable) } .navigationBarTitle(Text("Circulars"), displayMode: .large) .pullToRefresh() { endRefreshing in circularViewModel.updateCirculars { diff --git a/ios/circolapp/circolapp/View/CircularView.swift b/ios/circolapp/circolapp/View/CircularView.swift index 054659b..531277e 100644 --- a/ios/circolapp/circolapp/View/CircularView.swift +++ b/ios/circolapp/circolapp/View/CircularView.swift @@ -27,16 +27,23 @@ struct CircularView: View { @State private var loadingRealUrl = false var circular: Circular + var idIsHumanReadable = true var body: some View { VStack(alignment: .leading) { HStack { - Text("Circular number \(String(circular.id))") - .font(.headline) - .fontWeight(circular.read ? .regular : .bold) - Text(circular.date) - .font(.subheadline) - .fontWeight(circular.read ? .regular : .bold) + if idIsHumanReadable { + Text("Circular number \(String(circular.id))") + .font(.headline) + .fontWeight(circular.read ? .regular : .bold) + Text(circular.date) + .font(.subheadline) + .fontWeight(circular.read ? .regular : .bold) + } else { + Text("Circular published on \(String(circular.date))") + .font(.headline) + .fontWeight(circular.read ? .regular : .bold) + } Spacer() Button(action: { self.showDetail.toggle() diff --git a/ios/circolapp/circolapp/View/FavouritesList.swift b/ios/circolapp/circolapp/View/FavouritesList.swift index 7de9be5..0c5acac 100644 --- a/ios/circolapp/circolapp/View/FavouritesList.swift +++ b/ios/circolapp/circolapp/View/FavouritesList.swift @@ -24,7 +24,7 @@ struct FavouritesList: View { var body: some View { List(favouritesViewModel.circulars, id: \.id) { circular in - CircularView(circular: circular) + CircularView(circular: circular, idIsHumanReadable: favouritesViewModel.idsAreHumanReadable) } .navigationBarTitle(Text("Bookmarks"), displayMode: .large) .addSearchBar(self.searchBar) diff --git a/ios/circolapp/circolapp/View/RemindersList.swift b/ios/circolapp/circolapp/View/RemindersList.swift index 5a08c89..f7186c6 100644 --- a/ios/circolapp/circolapp/View/RemindersList.swift +++ b/ios/circolapp/circolapp/View/RemindersList.swift @@ -24,7 +24,7 @@ struct RemindersList: View { var body: some View { List(remindersViewModel.circulars, id: \.id) { circular in - CircularView(circular: circular) + CircularView(circular: circular, idIsHumanReadable: remindersViewModel.idsAreHumanReadable) } .navigationBarTitle(Text("Reminders"), displayMode: .large) .addSearchBar(self.searchBar) diff --git a/ios/circolapp/circolapp/ViewModel/CircularViewModel.swift b/ios/circolapp/circolapp/ViewModel/CircularViewModel.swift index c1794af..d4f2cfa 100644 --- a/ios/circolapp/circolapp/ViewModel/CircularViewModel.swift +++ b/ios/circolapp/circolapp/ViewModel/CircularViewModel.swift @@ -21,6 +21,7 @@ import Shared class CircularViewModel: ObservableObject { @Published var circulars = Array() + public var idsAreHumanReadable = true private var circularWatcher: Ktor_ioCloseable? = nil private var userDefaultsObserver: NSKeyValueObservation? = nil @@ -55,6 +56,7 @@ class CircularViewModel: ObservableObject { func startObservingCirculars() { stopObserving() circularWatcher = repository.circularDao.getCFlowCirculars(school: Int32(schoolID)).watch { circulars in + self.idsAreHumanReadable = iOSServerApi.instance.serverAPI.idsAreHumanReadable() self.circulars = circulars as! Array; } } diff --git a/ios/circolapp/circolapp/ViewModel/FavouritesViewModel.swift b/ios/circolapp/circolapp/ViewModel/FavouritesViewModel.swift index 6b8d01e..9c7f95a 100644 --- a/ios/circolapp/circolapp/ViewModel/FavouritesViewModel.swift +++ b/ios/circolapp/circolapp/ViewModel/FavouritesViewModel.swift @@ -21,6 +21,7 @@ import Shared class FavouritesViewModel: ObservableObject { @Published var circulars = Array() + public var idsAreHumanReadable = true private var circularWatcher: Ktor_ioCloseable? = nil private var userDefaultsObserver: NSKeyValueObservation? = nil @@ -50,6 +51,7 @@ class FavouritesViewModel: ObservableObject { func startObservingFavourites() { stopObserving() circularWatcher = repository.circularDao.getFavouritesC(school: Int32(schoolID)).watch { circulars in + self.idsAreHumanReadable = iOSServerApi.instance.serverAPI.idsAreHumanReadable() self.circulars = circulars as! Array; } } diff --git a/ios/circolapp/circolapp/ViewModel/RemindersViewModel.swift b/ios/circolapp/circolapp/ViewModel/RemindersViewModel.swift index b888d9a..f89d1b2 100644 --- a/ios/circolapp/circolapp/ViewModel/RemindersViewModel.swift +++ b/ios/circolapp/circolapp/ViewModel/RemindersViewModel.swift @@ -21,6 +21,7 @@ import Shared class RemindersViewModel: ObservableObject { @Published var circulars = Array() + public var idsAreHumanReadable = true private var circularWatcher: Ktor_ioCloseable? = nil private var userDefaultsObserver: NSKeyValueObservation? = nil @@ -50,6 +51,7 @@ class RemindersViewModel: ObservableObject { func startObservingReminders() { stopObserving() circularWatcher = repository.circularDao.getCFlowReminders(school: Int32(schoolID)).watch { circulars in + self.idsAreHumanReadable = iOSServerApi.instance.serverAPI.idsAreHumanReadable() self.circulars = circulars as! Array; } } diff --git a/ios/circolapp/circolapp/en.lproj/Localizable.strings b/ios/circolapp/circolapp/en.lproj/Localizable.strings index 9164155..a37577e 100644 --- a/ios/circolapp/circolapp/en.lproj/Localizable.strings +++ b/ios/circolapp/circolapp/en.lproj/Localizable.strings @@ -46,3 +46,4 @@ "New reminder" = "New reminder"; "Circular number %@" = "Circular number %@"; +"Circular published on %@" = "Circular published on %@"; diff --git a/ios/circolapp/circolapp/it.lproj/Localizable.strings b/ios/circolapp/circolapp/it.lproj/Localizable.strings index c280add..ee6692d 100644 --- a/ios/circolapp/circolapp/it.lproj/Localizable.strings +++ b/ios/circolapp/circolapp/it.lproj/Localizable.strings @@ -46,3 +46,4 @@ "New reminder" = "Nuovo promemoria"; "Circular number %@" = "Circolare numero %@"; +"Circular published on %@" = "Circolare pubblicata il %@";