From 6b22193b2a51bad911835046339791f80b16bcd3 Mon Sep 17 00:00:00 2001 From: rinsuki <428rinsuki+git@gmail.com> Date: Thu, 4 Apr 2024 01:12:44 +0900 Subject: [PATCH 1/7] =?UTF-8?q?fix:=20=E6=8A=95=E7=A8=BF=E7=B7=A8=E9=9B=86?= =?UTF-8?q?=E6=99=82=E3=81=AB=E5=89=8D=E3=81=AE=E3=83=86=E3=82=AD=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=81=8C=E5=BC=95=E3=81=8D=E7=B6=99=E3=81=8C=E3=82=8C?= =?UTF-8?q?=E3=81=AA=E3=81=84=E4=B8=8D=E5=85=B7=E5=90=88=E3=82=92=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/iOS/App/Screens/NewPost/NewPostViewController.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Sources/iOS/App/Screens/NewPost/NewPostViewController.swift b/Sources/iOS/App/Screens/NewPost/NewPostViewController.swift index ba3e2b06..e9571d35 100644 --- a/Sources/iOS/App/Screens/NewPost/NewPostViewController.swift +++ b/Sources/iOS/App/Screens/NewPost/NewPostViewController.swift @@ -137,7 +137,9 @@ class NewPostViewController: UIViewController, UITextViewDelegate, ObservableObj contentView.textInput.becomeFirstResponder() if let userActivity { - contentView.textInput.text = userActivity.newPostCurrentText ?? "" + if let newPostCurrentText = userActivity.newPostCurrentText { + contentView.textInput.text = newPostCurrentText + } // メンションとかの後を選択する let nowCount = contentView.textInput.text.nsLength DispatchQueue.main.async { From 9867120f136205efa242359cdafd6cac5cb6780a Mon Sep 17 00:00:00 2001 From: rinsuki <428rinsuki+git@gmail.com> Date: Sun, 12 May 2024 04:43:50 +0900 Subject: [PATCH 2/7] :rocket: 8.1b290 --- Sources/Mac/App/Info.plist | 2 +- Sources/Mac/Core/Info.plist | 2 +- .../Mac/Extensions/iMastMacShare/Info.plist | 2 +- Sources/iOS/App/Info.plist | 2 +- Sources/iOS/Core/Info.plist | 2 +- .../iOS/Extensions/iMastIntents/Info.plist | 2 +- .../Extensions/iMastNotifyService/Info.plist | 2 +- Sources/iOS/Extensions/iMastShare/Info.plist | 2 +- Sources/iOS/Tests/iMastTests/Info.plist | 2 +- Sources/iOS/Tests/iMastUITests/Info.plist | 2 +- .../iOS/Tests/iMastiOSCoreTests/Info.plist | 2 +- iMast.xcodeproj/project.pbxproj | 32 +++++++++---------- 12 files changed, 27 insertions(+), 27 deletions(-) diff --git a/Sources/Mac/App/Info.plist b/Sources/Mac/App/Info.plist index 45ec376f..cdbc9342 100644 --- a/Sources/Mac/App/Info.plist +++ b/Sources/Mac/App/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 8.1 CFBundleVersion - 289 + 290 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright diff --git a/Sources/Mac/Core/Info.plist b/Sources/Mac/Core/Info.plist index 5e3c6fc4..21558c6f 100644 --- a/Sources/Mac/Core/Info.plist +++ b/Sources/Mac/Core/Info.plist @@ -17,7 +17,7 @@ CFBundleShortVersionString 8.1 CFBundleVersion - 289 + 290 NSHumanReadableCopyright Copyright © 2019 rinsuki. All rights reserved. diff --git a/Sources/Mac/Extensions/iMastMacShare/Info.plist b/Sources/Mac/Extensions/iMastMacShare/Info.plist index 54f96ce9..d936fd7e 100644 --- a/Sources/Mac/Extensions/iMastMacShare/Info.plist +++ b/Sources/Mac/Extensions/iMastMacShare/Info.plist @@ -21,7 +21,7 @@ CFBundleShortVersionString 8.1 CFBundleVersion - 289 + 290 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSExtension diff --git a/Sources/iOS/App/Info.plist b/Sources/iOS/App/Info.plist index 4143c579..16b88317 100644 --- a/Sources/iOS/App/Info.plist +++ b/Sources/iOS/App/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 289 + 290 LSApplicationCategoryType public.app-category.social-networking LSApplicationQueriesSchemes diff --git a/Sources/iOS/Core/Info.plist b/Sources/iOS/Core/Info.plist index b997f5d2..aac0cdb4 100644 --- a/Sources/iOS/Core/Info.plist +++ b/Sources/iOS/Core/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 8.1 CFBundleVersion - 289 + 290 diff --git a/Sources/iOS/Extensions/iMastIntents/Info.plist b/Sources/iOS/Extensions/iMastIntents/Info.plist index 1d3037ac..93691732 100644 --- a/Sources/iOS/Extensions/iMastIntents/Info.plist +++ b/Sources/iOS/Extensions/iMastIntents/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 8.1 CFBundleVersion - 289 + 290 NSExtension NSExtensionAttributes diff --git a/Sources/iOS/Extensions/iMastNotifyService/Info.plist b/Sources/iOS/Extensions/iMastNotifyService/Info.plist index d09c8231..c5dc1ba9 100644 --- a/Sources/iOS/Extensions/iMastNotifyService/Info.plist +++ b/Sources/iOS/Extensions/iMastNotifyService/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 8.1 CFBundleVersion - 289 + 290 NSExtension NSExtensionPointIdentifier diff --git a/Sources/iOS/Extensions/iMastShare/Info.plist b/Sources/iOS/Extensions/iMastShare/Info.plist index 6edc00c7..12d61157 100644 --- a/Sources/iOS/Extensions/iMastShare/Info.plist +++ b/Sources/iOS/Extensions/iMastShare/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 8.1 CFBundleVersion - 289 + 290 NSExtension NSExtensionAttributes diff --git a/Sources/iOS/Tests/iMastTests/Info.plist b/Sources/iOS/Tests/iMastTests/Info.plist index 1362f225..d825a2df 100644 --- a/Sources/iOS/Tests/iMastTests/Info.plist +++ b/Sources/iOS/Tests/iMastTests/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 8.1 CFBundleVersion - 289 + 290 diff --git a/Sources/iOS/Tests/iMastUITests/Info.plist b/Sources/iOS/Tests/iMastUITests/Info.plist index 1362f225..d825a2df 100644 --- a/Sources/iOS/Tests/iMastUITests/Info.plist +++ b/Sources/iOS/Tests/iMastUITests/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 8.1 CFBundleVersion - 289 + 290 diff --git a/Sources/iOS/Tests/iMastiOSCoreTests/Info.plist b/Sources/iOS/Tests/iMastiOSCoreTests/Info.plist index b997f5d2..aac0cdb4 100644 --- a/Sources/iOS/Tests/iMastiOSCoreTests/Info.plist +++ b/Sources/iOS/Tests/iMastiOSCoreTests/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 8.1 CFBundleVersion - 289 + 290 diff --git a/iMast.xcodeproj/project.pbxproj b/iMast.xcodeproj/project.pbxproj index 04328eb0..95816ae6 100644 --- a/iMast.xcodeproj/project.pbxproj +++ b/iMast.xcodeproj/project.pbxproj @@ -4159,7 +4159,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = Sources/iOS/App/iMast.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 289; + CURRENT_PROJECT_VERSION = 290; DEVELOPMENT_TEAM = 4XKKKM86RN; HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2"; INFOPLIST_FILE = Sources/iOS/App/Info.plist; @@ -4188,7 +4188,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = Sources/iOS/App/iMast.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 289; + CURRENT_PROJECT_VERSION = 290; DEVELOPMENT_TEAM = 4XKKKM86RN; HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2"; INFOPLIST_FILE = Sources/iOS/App/Info.plist; @@ -4215,7 +4215,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 289; + CURRENT_PROJECT_VERSION = 290; INFOPLIST_FILE = Sources/iOS/Tests/iMastTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -4236,7 +4236,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 289; + CURRENT_PROJECT_VERSION = 290; INFOPLIST_FILE = Sources/iOS/Tests/iMastTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -4256,7 +4256,7 @@ baseConfigurationReference = B653907D1C9AB5BB71C94DDA /* Pods-iMastShared-iOS-iMast iOS-iMastUITests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CURRENT_PROJECT_VERSION = 289; + CURRENT_PROJECT_VERSION = 290; INFOPLIST_FILE = Sources/iOS/Tests/iMastUITests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -4276,7 +4276,7 @@ baseConfigurationReference = 599E62B81E7F4F5E82780FF1 /* Pods-iMastShared-iOS-iMast iOS-iMastUITests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CURRENT_PROJECT_VERSION = 289; + CURRENT_PROJECT_VERSION = 290; INFOPLIST_FILE = Sources/iOS/Tests/iMastUITests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -4301,11 +4301,11 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 289; + CURRENT_PROJECT_VERSION = 290; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 4XKKKM86RN; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 289; + DYLIB_CURRENT_VERSION = 290; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = Sources/iOS/Core/Info.plist; @@ -4339,11 +4339,11 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 289; + CURRENT_PROJECT_VERSION = 290; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 4XKKKM86RN; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 289; + DYLIB_CURRENT_VERSION = 290; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = Sources/iOS/Core/Info.plist; @@ -4429,7 +4429,7 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_ENTITLEMENTS = Sources/iOS/Extensions/iMastShare/iMastShare.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 289; + CURRENT_PROJECT_VERSION = 290; DEVELOPMENT_TEAM = 4XKKKM86RN; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = Sources/iOS/Extensions/iMastShare/Info.plist; @@ -4462,7 +4462,7 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_ENTITLEMENTS = Sources/iOS/Extensions/iMastShare/iMastShare.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 289; + CURRENT_PROJECT_VERSION = 290; DEVELOPMENT_TEAM = 4XKKKM86RN; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = Sources/iOS/Extensions/iMastShare/Info.plist; @@ -4902,11 +4902,11 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 289; + CURRENT_PROJECT_VERSION = 290; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 4XKKKM86RN; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 289; + DYLIB_CURRENT_VERSION = 290; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = Sources/Mac/Core/Info.plist; @@ -4937,11 +4937,11 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 289; + CURRENT_PROJECT_VERSION = 290; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 4XKKKM86RN; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 289; + DYLIB_CURRENT_VERSION = 290; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = Sources/Mac/Core/Info.plist; From 9bee7d13f8067b40e4cbc093d69dfea3a9aa350f Mon Sep 17 00:00:00 2001 From: rinsuki <428rinsuki+git@gmail.com> Date: Tue, 16 Jul 2024 07:17:01 +0900 Subject: [PATCH 3/7] =?UTF-8?q?fix:=20=E3=82=A2=E3=82=AB=E3=82=A6=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=81=8C=E3=81=AA=E3=81=84=E6=99=82=E3=81=AB=E3=83=AD?= =?UTF-8?q?=E3=82=B0=E3=82=A4=E3=83=B3=E7=94=BB=E9=9D=A2=E3=81=A7=E3=82=AD?= =?UTF-8?q?=E3=83=A3=E3=83=B3=E3=82=BB=E3=83=AB=E3=81=8C=E8=A1=A8=E7=A4=BA?= =?UTF-8?q?=E3=81=95=E3=82=8C=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../App/Screens/Login/AddAccountIndexView.swift | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Sources/iOS/App/Screens/Login/AddAccountIndexView.swift b/Sources/iOS/App/Screens/Login/AddAccountIndexView.swift index 7d977d00..d43ab48d 100644 --- a/Sources/iOS/App/Screens/Login/AddAccountIndexView.swift +++ b/Sources/iOS/App/Screens/Login/AddAccountIndexView.swift @@ -128,12 +128,14 @@ struct _AddAccountIndexView: View { }) .navigationTitle(L10n.Login.title) .toolbar { - ToolbarItem(placement: .topBarLeading) { - Button(action: { - viewModel.cancel() - }, label: { - Text(L10n.Localizable.cancel) - }) + if viewModel.latestToken != nil { + ToolbarItem(placement: .topBarLeading) { + Button(action: { + viewModel.cancel() + }, label: { + Text(L10n.Localizable.cancel) + }) + } } } .background { From 02c77246d914867b8f1c3a5012d119c3cab3f138 Mon Sep 17 00:00:00 2001 From: rinsuki <428rinsuki+git@gmail.com> Date: Thu, 18 Jul 2024 10:55:08 +0900 Subject: [PATCH 4/7] feat: boosted/favorited users list --- Sources/Core/Mastodon/API/MastodonPost.swift | 30 +++++ ...PostDetailReactedUsersViewController.swift | 116 ++++++++++++++++++ ...donPostDetailReactionsViewController.swift | 6 - .../MastodonPostDetailViewController.swift | 57 +++++++-- Sources/iOS/Core/Generated/strings_ios.swift | 14 +++ .../Strings/en.lproj/Localizable.stringsdict | 5 + .../Core/Strings/ja.lproj/Localizable.strings | 2 + .../Strings/ja.lproj/Localizable.stringsdict | 34 +++++ .../Strings/ko.lproj/Localizable.stringsdict | 5 + .../zh-Hans.lproj/Localizable.stringsdict | 5 + .../zh-Hant.lproj/Localizable.stringsdict | 5 + Sources/iOS/Core/swiftgen.yml | 2 +- iMast.xcodeproj/project.pbxproj | 24 ++++ 13 files changed, 288 insertions(+), 17 deletions(-) create mode 100644 Sources/iOS/App/CustomViews/Post/PostDetail/MastodonPostDetailReactedUsersViewController.swift create mode 100644 Sources/iOS/Core/Strings/en.lproj/Localizable.stringsdict create mode 100644 Sources/iOS/Core/Strings/ja.lproj/Localizable.stringsdict create mode 100644 Sources/iOS/Core/Strings/ko.lproj/Localizable.stringsdict create mode 100644 Sources/iOS/Core/Strings/zh-Hans.lproj/Localizable.stringsdict create mode 100644 Sources/iOS/Core/Strings/zh-Hant.lproj/Localizable.stringsdict diff --git a/Sources/Core/Mastodon/API/MastodonPost.swift b/Sources/Core/Mastodon/API/MastodonPost.swift index 9fa3762a..5e9d1906 100644 --- a/Sources/Core/Mastodon/API/MastodonPost.swift +++ b/Sources/Core/Mastodon/API/MastodonPost.swift @@ -113,6 +113,11 @@ public struct MastodonPost: Codable, EmojifyProtocol, Hashable, MastodonIDAvaila } +public enum MastodonReactionType { + case boost + case favorite +} + public struct MastodonCustomEmoji: Codable, Sendable { public let shortcode: String public let url: String @@ -486,4 +491,29 @@ extension MastodonEndpoint { self.postId = post.id } } + + public struct GetPostReactedUsers: MastodonEndpointWithPagingProtocol { + public typealias Response = MastodonEndpointResponseWithPaging<[MastodonAccount]> + + public var endpoint: String { "/api/v1/statuses/\(postId.string)/\(type == .boost ? "reblogged" : "favourited")_by" } + public let method = "GET" + + public var query: [URLQueryItem] { + var q = [URLQueryItem]() + paging?.addToQuery(&q) + return q + } + + public var type: MastodonReactionType + public var postId: MastodonID + public var limit: Int? + public var paging: MastodonPagingOption? + + public init(post: MastodonPost, type: MastodonReactionType, limit: Int? = nil, paging: MastodonPagingOption? = nil) { + self.limit = limit + self.paging = paging + self.postId = post.id + self.type = type + } + } } diff --git a/Sources/iOS/App/CustomViews/Post/PostDetail/MastodonPostDetailReactedUsersViewController.swift b/Sources/iOS/App/CustomViews/Post/PostDetail/MastodonPostDetailReactedUsersViewController.swift new file mode 100644 index 00000000..77e5eec3 --- /dev/null +++ b/Sources/iOS/App/CustomViews/Post/PostDetail/MastodonPostDetailReactedUsersViewController.swift @@ -0,0 +1,116 @@ +// +// MastodonPostDetailReactedUsersViewController.swift +// +// iMast https://github.com/cinderella-project/iMast +// +// Created by user on 2024/07/18. +// +// ------------------------------------------------------------------------ +// +// Copyright 2017-2021 rinsuki and other contributors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import UIKit +import Mew +import iMastiOSCore + +class MastodonPostDetailReactedUsersViewController: UITableViewController, Instantiatable { + typealias Input = (type: MastodonReactionType, post: MastodonPost) + typealias Environment = MastodonUserToken + + private var input: Input + internal let environment: Environment + + let readmoreView = ReadmoreView() + + var users: [MastodonAccount] = [] + var paging: MastodonPagingOption? { + didSet { + readmoreView.state = paging == nil ? .allLoaded : .moreLoadable + } + } + + required init(with input: Input, environment: Environment) { + self.input = input + self.environment = environment + super.init(style: .plain) + } + + required init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + override func viewDidLoad() { + super.viewDidLoad() + + title = input.type == .boost ? L10n.Localizable.PostDetail.boost : L10n.Localizable.PostDetail.favorite + readmoreView.target = self + readmoreView.action = #selector(readMore) + readmoreView.setTableView(tableView) + tableView.tableFooterView = readmoreView + Task { + await load() + } + } + + @MainActor func load(paging: MastodonPagingOption? = nil) async { + self.readmoreView.state = .loading + do { + let res = try await MastodonEndpoint.GetPostReactedUsers( + post: input.post, + type: input.type, + paging: paging + ).request(with: environment) + users.append(contentsOf: res.content) + self.paging = res.paging.next + readmoreView.state = res.paging.next == nil ? .allLoaded : .moreLoadable + tableView.reloadData() + } catch { + readmoreView.state = .withError + readmoreView.lastError = error + } + } + + @objc func readMore() { + guard readmoreView.state == .moreLoadable else { + return + } + Task { + await load(paging: paging) + } + } + + // MARK: - Table view data source + + override func numberOfSections(in tableView: UITableView) -> Int { + return 1 + } + + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return users.count + } + + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let user = self.users[indexPath.row] + let cell = MastodonUserCell.getInstance() + cell.load(user: user) + return cell + } + + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + self.tableView.deselectRow(at: indexPath, animated: true) + let newVC = UserProfileTopViewController.instantiate(self.users[indexPath.row], environment: self.environment) + navigationController?.pushViewController(newVC, animated: true) + } +} diff --git a/Sources/iOS/App/CustomViews/Post/PostDetail/MastodonPostDetailReactionsViewController.swift b/Sources/iOS/App/CustomViews/Post/PostDetail/MastodonPostDetailReactionsViewController.swift index 3818872e..99878b20 100644 --- a/Sources/iOS/App/CustomViews/Post/PostDetail/MastodonPostDetailReactionsViewController.swift +++ b/Sources/iOS/App/CustomViews/Post/PostDetail/MastodonPostDetailReactionsViewController.swift @@ -57,12 +57,6 @@ class MastodonPostDetailReactionsViewController: UIViewController, Instantiatabl func input(_ input: Input) { var sections: [String] = [] - if input.repostCount > 0 { - sections.append("\(input.repostCount)件のブースト") - } - if input.favouritesCount > 0 { - sections.append("\(input.favouritesCount)件のふぁぼ") - } if let app = input.application { sections.append("via \(app.name)") } diff --git a/Sources/iOS/App/CustomViews/Post/PostDetail/MastodonPostDetailViewController.swift b/Sources/iOS/App/CustomViews/Post/PostDetail/MastodonPostDetailViewController.swift index dec601cb..0aa70598 100644 --- a/Sources/iOS/App/CustomViews/Post/PostDetail/MastodonPostDetailViewController.swift +++ b/Sources/iOS/App/CustomViews/Post/PostDetail/MastodonPostDetailViewController.swift @@ -38,7 +38,9 @@ class MastodonPostDetailViewController: UITableViewController, Instantiatable, I case boostedUser case content case poll - case reactions + case via + case boostsCount + case favouritesCount case reactionBar } @@ -67,10 +69,16 @@ class MastodonPostDetailViewController: UITableViewController, Instantiatable, I if input.originalPost.poll != nil { dataSource.append(.poll) } - if input.originalPost.repostCount > 0 || input.originalPost.favouritesCount > 0 || input.application != nil { - dataSource.append(.reactions) + if input.application != nil { + dataSource.append(.via) } dataSource.append(.reactionBar) + if input.originalPost.repostCount > 0 { + dataSource.append(.boostsCount) + } + if input.originalPost.favouritesCount > 0 { + dataSource.append(.favouritesCount) + } self.dataSource = dataSource } @@ -80,6 +88,7 @@ class MastodonPostDetailViewController: UITableViewController, Instantiatable, I // Do any additional setup after loading the view. self.tableView.tableHeaderView = UIView(frame: .init(x: 0, y: 0, width: 0, height: 0.01)) // remove header space self.tableView.cellLayoutMarginsFollowReadableWidth = true + self.tableView.separatorInset = .zero TableViewCell.register(to: tableView) TableViewCell.register(to: tableView) TableViewCell.register(to: tableView) @@ -167,13 +176,25 @@ class MastodonPostDetailViewController: UITableViewController, Instantiatable, I input: self.input.originalPost, parentViewController: self ) - case .reactions: - cell = TableViewCell.dequeued( - from: tableView, - for: indexPath, - input: self.input.originalPost, - parentViewController: self - ) + case .via: + cell = .init(style: .subtitle, reuseIdentifier: nil) + cell.contentConfiguration = UIListContentConfiguration.cell() ※ { + if let app = input.originalPost.application { + $0.text = "via \(app.name)" + } + } + case .boostsCount: + cell = .init(style: .subtitle, reuseIdentifier: nil) + cell.accessoryType = .disclosureIndicator + cell.contentConfiguration = UIListContentConfiguration.cell() ※ { + $0.text = L10n.Localizable.Count.boost(input.originalPost.repostCount) + } + case .favouritesCount: + cell = .init(style: .default, reuseIdentifier: nil) + cell.accessoryType = .disclosureIndicator + cell.contentConfiguration = UIListContentConfiguration.cell() ※ { + $0.text = L10n.Localizable.Count.favorites(input.originalPost.favouritesCount) + } case .reactionBar: cell = TableViewCell.dequeued( from: tableView, @@ -185,6 +206,16 @@ class MastodonPostDetailViewController: UITableViewController, Instantiatable, I return cell } + override func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath) -> IndexPath? { + let source = self.dataSource[indexPath.row] + switch source { + case .editedWarning, .boostedUser, .boostsCount, .favouritesCount: + return indexPath + default: + return nil + } + } + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let source = self.dataSource[indexPath.row] switch source { @@ -194,6 +225,12 @@ class MastodonPostDetailViewController: UITableViewController, Instantiatable, I case .boostedUser: let vc = UserProfileTopViewController.instantiate(input.account, environment: environment) self.navigationController?.pushViewController(vc, animated: true) + case .boostsCount: + let vc = MastodonPostDetailReactedUsersViewController.instantiate((type: .boost, post: input.originalPost), environment: environment) + self.navigationController?.pushViewController(vc, animated: true) + case .favouritesCount: + let vc = MastodonPostDetailReactedUsersViewController.instantiate((type: .favorite, post: input.originalPost), environment: environment) + self.navigationController?.pushViewController(vc, animated: true) default: break } diff --git a/Sources/iOS/Core/Generated/strings_ios.swift b/Sources/iOS/Core/Generated/strings_ios.swift index 0f280ab5..d7623f98 100644 --- a/Sources/iOS/Core/Generated/strings_ios.swift +++ b/Sources/iOS/Core/Generated/strings_ios.swift @@ -91,6 +91,16 @@ public enum L10n { /// 文脈 public static let title = L10n.tr("Localizable", "bunmyaku.title") } + public enum Count { + /// Plural format key: "%#@count@" + public static func boost(_ p1: Int) -> String { + return L10n.tr("Localizable", "count.boost", p1) + } + /// Plural format key: "%#@count@" + public static func favorites(_ p1: Int) -> String { + return L10n.tr("Localizable", "count.favorites", p1) + } + } public enum CustomEmojis { /// カスタム絵文字一覧 public static let title = L10n.tr("Localizable", "customEmojis.title") @@ -168,8 +178,12 @@ public enum L10n { public static let short = L10n.tr("Localizable", "localTimeline.short") } public enum PostDetail { + /// ブースト + public static let boost = L10n.tr("Localizable", "postDetail.boost") /// 削除 public static let delete = L10n.tr("Localizable", "postDetail.delete") + /// ふぁぼ + public static let favorite = L10n.tr("Localizable", "postDetail.favorite") /// 通報 public static let reportAbuse = L10n.tr("Localizable", "postDetail.reportAbuse") /// 共有 diff --git a/Sources/iOS/Core/Strings/en.lproj/Localizable.stringsdict b/Sources/iOS/Core/Strings/en.lproj/Localizable.stringsdict new file mode 100644 index 00000000..0c67376e --- /dev/null +++ b/Sources/iOS/Core/Strings/en.lproj/Localizable.stringsdict @@ -0,0 +1,5 @@ + + + + + diff --git a/Sources/iOS/Core/Strings/ja.lproj/Localizable.strings b/Sources/iOS/Core/Strings/ja.lproj/Localizable.strings index cd8abb37..857b5c61 100644 --- a/Sources/iOS/Core/Strings/ja.lproj/Localizable.strings +++ b/Sources/iOS/Core/Strings/ja.lproj/Localizable.strings @@ -86,6 +86,8 @@ "postDetail.share" = "共有"; "postDetail.delete" = "削除"; "postDetail.reportAbuse" = "通報"; +"postDetail.boost" = "ブースト"; +"postDetail.favorite" = "ふぁぼ"; "customEmojis.title" = "カスタム絵文字一覧"; "reportPost.title" = "投稿を通報"; diff --git a/Sources/iOS/Core/Strings/ja.lproj/Localizable.stringsdict b/Sources/iOS/Core/Strings/ja.lproj/Localizable.stringsdict new file mode 100644 index 00000000..f2cbdb8a --- /dev/null +++ b/Sources/iOS/Core/Strings/ja.lproj/Localizable.stringsdict @@ -0,0 +1,34 @@ + + + + + count.favorites + + NSStringLocalizedFormatKey + %#@count@ + count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + other + %d件のふぁぼ + + + count.boost + + NSStringLocalizedFormatKey + %#@count@ + count + + NSStringFormatSpecTypeKey + NSStringPluralRuleType + NSStringFormatValueTypeKey + d + other + %d件のブースト + + + + diff --git a/Sources/iOS/Core/Strings/ko.lproj/Localizable.stringsdict b/Sources/iOS/Core/Strings/ko.lproj/Localizable.stringsdict new file mode 100644 index 00000000..0c67376e --- /dev/null +++ b/Sources/iOS/Core/Strings/ko.lproj/Localizable.stringsdict @@ -0,0 +1,5 @@ + + + + + diff --git a/Sources/iOS/Core/Strings/zh-Hans.lproj/Localizable.stringsdict b/Sources/iOS/Core/Strings/zh-Hans.lproj/Localizable.stringsdict new file mode 100644 index 00000000..0c67376e --- /dev/null +++ b/Sources/iOS/Core/Strings/zh-Hans.lproj/Localizable.stringsdict @@ -0,0 +1,5 @@ + + + + + diff --git a/Sources/iOS/Core/Strings/zh-Hant.lproj/Localizable.stringsdict b/Sources/iOS/Core/Strings/zh-Hant.lproj/Localizable.stringsdict new file mode 100644 index 00000000..0c67376e --- /dev/null +++ b/Sources/iOS/Core/Strings/zh-Hant.lproj/Localizable.stringsdict @@ -0,0 +1,5 @@ + + + + + diff --git a/Sources/iOS/Core/swiftgen.yml b/Sources/iOS/Core/swiftgen.yml index bf55a450..9fa70b0e 100644 --- a/Sources/iOS/Core/swiftgen.yml +++ b/Sources/iOS/Core/swiftgen.yml @@ -2,7 +2,7 @@ output_dir: ./Generated/ strings: inputs: ./Strings/ja.lproj/ - filter: .+\.strings$ + filter: .+\.strings(dict)?$ outputs: - templateName: structured-swift5 output: strings_ios.swift diff --git a/iMast.xcodeproj/project.pbxproj b/iMast.xcodeproj/project.pbxproj index 95816ae6..a93c71a7 100644 --- a/iMast.xcodeproj/project.pbxproj +++ b/iMast.xcodeproj/project.pbxproj @@ -57,6 +57,8 @@ CE321EC622F411AE00BFC86F /* MastodonPostDetailPollViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE321EC522F411AE00BFC86F /* MastodonPostDetailPollViewController.swift */; }; CE37782A2400F5C400250FE2 /* AccoutSelectCushionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE3778292400F5C400250FE2 /* AccoutSelectCushionViewController.swift */; }; CE3901E22855C36E00D4E5D8 /* WorkaroundForSubtitleSpacing.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE3901E12855C36E00D4E5D8 /* WorkaroundForSubtitleSpacing.swift */; }; + CE392E5C2C489BF50059BC60 /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = CE392E592C489BF10059BC60 /* Localizable.stringsdict */; }; + CE392E622C489F480059BC60 /* MastodonPostDetailReactedUsersViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE392E612C489F480059BC60 /* MastodonPostDetailReactedUsersViewController.swift */; }; CE3AFD8525E0BF30001B71E0 /* licenses.json in Resources */ = {isa = PBXBuildFile; fileRef = CE3AFD8425E0BF2F001B71E0 /* licenses.json */; }; CE3AFD8625E0BF30001B71E0 /* licenses.json in Resources */ = {isa = PBXBuildFile; fileRef = CE3AFD8425E0BF2F001B71E0 /* licenses.json */; }; CE3D751025C5E2DC00734140 /* Notification.Name+customNames.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE2D2AED210C5668003B92B8 /* Notification.Name+customNames.swift */; }; @@ -704,6 +706,12 @@ CE321EC522F411AE00BFC86F /* MastodonPostDetailPollViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MastodonPostDetailPollViewController.swift; sourceTree = ""; }; CE3778292400F5C400250FE2 /* AccoutSelectCushionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccoutSelectCushionViewController.swift; sourceTree = ""; }; CE3901E12855C36E00D4E5D8 /* WorkaroundForSubtitleSpacing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WorkaroundForSubtitleSpacing.swift; sourceTree = ""; }; + CE392E5A2C489BF10059BC60 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = ja; path = ja.lproj/Localizable.stringsdict; sourceTree = ""; }; + CE392E5D2C489C040059BC60 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.stringsdict"; sourceTree = ""; }; + CE392E5E2C489C050059BC60 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.stringsdict"; sourceTree = ""; }; + CE392E5F2C489C060059BC60 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = ko; path = ko.lproj/Localizable.stringsdict; sourceTree = ""; }; + CE392E602C489C0A0059BC60 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = en; path = en.lproj/Localizable.stringsdict; sourceTree = ""; }; + CE392E612C489F480059BC60 /* MastodonPostDetailReactedUsersViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MastodonPostDetailReactedUsersViewController.swift; sourceTree = ""; }; CE3AFD6925E0B1BE001B71E0 /* generate-license-info.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = "generate-license-info.py"; sourceTree = ""; }; CE3AFD8425E0BF2F001B71E0 /* licenses.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = licenses.json; sourceTree = ""; }; CE3DB68520FB07FE005CFD77 /* PushService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushService.swift; sourceTree = ""; }; @@ -1848,6 +1856,7 @@ CE6554E123C26C250084FE1D /* NewPost.strings */, CEDF86FA23CF011100C8A69A /* OtherMenu.strings */, CEF8389024C289AA00C6919A /* Preferences.strings */, + CE392E592C489BF10059BC60 /* Localizable.stringsdict */, ); path = Strings; sourceTree = ""; @@ -2143,6 +2152,7 @@ CEC4BA6B22F170840066A916 /* MastodonPostDetailReactionsViewController.swift */, CEF6DCC222EF54500008B64D /* MastodonPostDetailReactionBarViewController.swift */, CE5460A027F592E400A676B3 /* MastodonEditHistoryViewController.swift */, + CE392E612C489F480059BC60 /* MastodonPostDetailReactedUsersViewController.swift */, ); path = PostDetail; sourceTree = ""; @@ -2711,6 +2721,7 @@ CEF47F6E2A7934B700D1AEAB /* OtherMenu.strings in Resources */, CE8AAC4A2916333500AC7FB4 /* Core.strings in Resources */, CEF47F6D2A7934B700D1AEAB /* UserProfile.strings in Resources */, + CE392E5C2C489BF50059BC60 /* Localizable.stringsdict in Resources */, CEF47F6C2A7934B700D1AEAB /* Preferences.strings in Resources */, CEF47F702A79350B00D1AEAB /* Localizable.strings in Resources */, CEF47F6F2A7934B700D1AEAB /* Search.strings in Resources */, @@ -3464,6 +3475,7 @@ CE5895622240D2A50024FDBF /* AttachedMediaListViewController.swift in Sources */, CE8209982150EC390064FC93 /* PushSettingsGroupNotifyView.swift in Sources */, CEF9C9E72AC139AF009ACFD9 /* OpenSafariButton.swift in Sources */, + CE392E622C489F480059BC60 /* MastodonPostDetailReactedUsersViewController.swift in Sources */, CEA528D528527DE70095EB1F /* SettingsView.swift in Sources */, CEF6DCC122EF2C030008B64D /* MastodonPostDetailBoostedUserViewController.swift in Sources */, CEC6BBFC2105B4AC003ECE10 /* LoginSafari.swift in Sources */, @@ -3889,6 +3901,18 @@ name = Dummy.strings; sourceTree = ""; }; + CE392E592C489BF10059BC60 /* Localizable.stringsdict */ = { + isa = PBXVariantGroup; + children = ( + CE392E5A2C489BF10059BC60 /* ja */, + CE392E5D2C489C040059BC60 /* zh-Hans */, + CE392E5E2C489C050059BC60 /* zh-Hant */, + CE392E5F2C489C060059BC60 /* ko */, + CE392E602C489C0A0059BC60 /* en */, + ); + name = Localizable.stringsdict; + sourceTree = ""; + }; CE6554C923C25DDC0084FE1D /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( From a6444b42e33a23d61fc9393be281fe5eb305c082 Mon Sep 17 00:00:00 2001 From: rinsuki <428rinsuki+git@gmail.com> Date: Thu, 18 Jul 2024 10:56:45 +0900 Subject: [PATCH 5/7] chore: Bump to version 9.0 --- Sources/Mac/App/Info.plist | 2 +- Sources/Mac/Core/Info.plist | 2 +- Sources/Mac/Extensions/iMastMacShare/Info.plist | 2 +- Sources/iOS/App/Info.plist | 2 +- Sources/iOS/Core/Info.plist | 2 +- Sources/iOS/Extensions/iMastIntents/Info.plist | 2 +- Sources/iOS/Extensions/iMastNotifyService/Info.plist | 2 +- Sources/iOS/Extensions/iMastShare/Info.plist | 2 +- Sources/iOS/Tests/iMastTests/Info.plist | 2 +- Sources/iOS/Tests/iMastUITests/Info.plist | 2 +- Sources/iOS/Tests/iMastiOSCoreTests/Info.plist | 2 +- iMast.xcworkspace/xcshareddata/swiftpm/Package.resolved | 9 --------- 12 files changed, 11 insertions(+), 20 deletions(-) diff --git a/Sources/Mac/App/Info.plist b/Sources/Mac/App/Info.plist index cdbc9342..b1f2f6b1 100644 --- a/Sources/Mac/App/Info.plist +++ b/Sources/Mac/App/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 8.1 + 9.0 CFBundleVersion 290 LSMinimumSystemVersion diff --git a/Sources/Mac/Core/Info.plist b/Sources/Mac/Core/Info.plist index 21558c6f..218bf896 100644 --- a/Sources/Mac/Core/Info.plist +++ b/Sources/Mac/Core/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 8.1 + 9.0 CFBundleVersion 290 NSHumanReadableCopyright diff --git a/Sources/Mac/Extensions/iMastMacShare/Info.plist b/Sources/Mac/Extensions/iMastMacShare/Info.plist index d936fd7e..66be99a9 100644 --- a/Sources/Mac/Extensions/iMastMacShare/Info.plist +++ b/Sources/Mac/Extensions/iMastMacShare/Info.plist @@ -19,7 +19,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 8.1 + 9.0 CFBundleVersion 290 LSMinimumSystemVersion diff --git a/Sources/iOS/App/Info.plist b/Sources/iOS/App/Info.plist index 16b88317..ff36749c 100644 --- a/Sources/iOS/App/Info.plist +++ b/Sources/iOS/App/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 8.1 + 9.0 CFBundleURLTypes diff --git a/Sources/iOS/Core/Info.plist b/Sources/iOS/Core/Info.plist index aac0cdb4..43e3bf5d 100644 --- a/Sources/iOS/Core/Info.plist +++ b/Sources/iOS/Core/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 8.1 + 9.0 CFBundleVersion 290 diff --git a/Sources/iOS/Extensions/iMastIntents/Info.plist b/Sources/iOS/Extensions/iMastIntents/Info.plist index 93691732..b1f8b181 100644 --- a/Sources/iOS/Extensions/iMastIntents/Info.plist +++ b/Sources/iOS/Extensions/iMastIntents/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 8.1 + 9.0 CFBundleVersion 290 NSExtension diff --git a/Sources/iOS/Extensions/iMastNotifyService/Info.plist b/Sources/iOS/Extensions/iMastNotifyService/Info.plist index c5dc1ba9..3ae7538f 100644 --- a/Sources/iOS/Extensions/iMastNotifyService/Info.plist +++ b/Sources/iOS/Extensions/iMastNotifyService/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 8.1 + 9.0 CFBundleVersion 290 NSExtension diff --git a/Sources/iOS/Extensions/iMastShare/Info.plist b/Sources/iOS/Extensions/iMastShare/Info.plist index 12d61157..f664e6de 100644 --- a/Sources/iOS/Extensions/iMastShare/Info.plist +++ b/Sources/iOS/Extensions/iMastShare/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType XPC! CFBundleShortVersionString - 8.1 + 9.0 CFBundleVersion 290 NSExtension diff --git a/Sources/iOS/Tests/iMastTests/Info.plist b/Sources/iOS/Tests/iMastTests/Info.plist index d825a2df..5144f530 100644 --- a/Sources/iOS/Tests/iMastTests/Info.plist +++ b/Sources/iOS/Tests/iMastTests/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 8.1 + 9.0 CFBundleVersion 290 diff --git a/Sources/iOS/Tests/iMastUITests/Info.plist b/Sources/iOS/Tests/iMastUITests/Info.plist index d825a2df..5144f530 100644 --- a/Sources/iOS/Tests/iMastUITests/Info.plist +++ b/Sources/iOS/Tests/iMastUITests/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 8.1 + 9.0 CFBundleVersion 290 diff --git a/Sources/iOS/Tests/iMastiOSCoreTests/Info.plist b/Sources/iOS/Tests/iMastiOSCoreTests/Info.plist index aac0cdb4..43e3bf5d 100644 --- a/Sources/iOS/Tests/iMastiOSCoreTests/Info.plist +++ b/Sources/iOS/Tests/iMastiOSCoreTests/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 8.1 + 9.0 CFBundleVersion 290 diff --git a/iMast.xcworkspace/xcshareddata/swiftpm/Package.resolved b/iMast.xcworkspace/xcshareddata/swiftpm/Package.resolved index f8827b7b..fa0a8339 100644 --- a/iMast.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/iMast.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,14 +1,5 @@ { "pins" : [ - { - "identity" : "ikemen", - "kind" : "remoteSourceControl", - "location" : "https://github.com/banjun/ikemen", - "state" : { - "revision" : "feb71c7d86e22a3825f3e58fec37190f5f0c575d", - "version" : "0.8.0" - } - }, { "identity" : "swift-syntax", "kind" : "remoteSourceControl", From 3c04e2ccbfe90eb15df5b5d8ce02a6ab8dee551e Mon Sep 17 00:00:00 2001 From: rinsuki <428rinsuki+git@gmail.com> Date: Thu, 18 Jul 2024 11:01:08 +0900 Subject: [PATCH 6/7] :rocket: 9.0b291 --- Sources/Mac/App/Info.plist | 2 +- Sources/Mac/Core/Info.plist | 2 +- .../Mac/Extensions/iMastMacShare/Info.plist | 2 +- Sources/iOS/App/Info.plist | 2 +- Sources/iOS/Core/Info.plist | 2 +- .../iOS/Extensions/iMastIntents/Info.plist | 2 +- .../Extensions/iMastNotifyService/Info.plist | 2 +- Sources/iOS/Extensions/iMastShare/Info.plist | 2 +- Sources/iOS/Tests/iMastTests/Info.plist | 2 +- Sources/iOS/Tests/iMastUITests/Info.plist | 2 +- .../iOS/Tests/iMastiOSCoreTests/Info.plist | 2 +- iMast.xcodeproj/project.pbxproj | 32 +++++++++---------- 12 files changed, 27 insertions(+), 27 deletions(-) diff --git a/Sources/Mac/App/Info.plist b/Sources/Mac/App/Info.plist index b1f2f6b1..bd395426 100644 --- a/Sources/Mac/App/Info.plist +++ b/Sources/Mac/App/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 9.0 CFBundleVersion - 290 + 291 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright diff --git a/Sources/Mac/Core/Info.plist b/Sources/Mac/Core/Info.plist index 218bf896..ba7a478d 100644 --- a/Sources/Mac/Core/Info.plist +++ b/Sources/Mac/Core/Info.plist @@ -17,7 +17,7 @@ CFBundleShortVersionString 9.0 CFBundleVersion - 290 + 291 NSHumanReadableCopyright Copyright © 2019 rinsuki. All rights reserved. diff --git a/Sources/Mac/Extensions/iMastMacShare/Info.plist b/Sources/Mac/Extensions/iMastMacShare/Info.plist index 66be99a9..d24ff701 100644 --- a/Sources/Mac/Extensions/iMastMacShare/Info.plist +++ b/Sources/Mac/Extensions/iMastMacShare/Info.plist @@ -21,7 +21,7 @@ CFBundleShortVersionString 9.0 CFBundleVersion - 290 + 291 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSExtension diff --git a/Sources/iOS/App/Info.plist b/Sources/iOS/App/Info.plist index ff36749c..9ed02600 100644 --- a/Sources/iOS/App/Info.plist +++ b/Sources/iOS/App/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 290 + 291 LSApplicationCategoryType public.app-category.social-networking LSApplicationQueriesSchemes diff --git a/Sources/iOS/Core/Info.plist b/Sources/iOS/Core/Info.plist index 43e3bf5d..c8daa75f 100644 --- a/Sources/iOS/Core/Info.plist +++ b/Sources/iOS/Core/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 9.0 CFBundleVersion - 290 + 291 diff --git a/Sources/iOS/Extensions/iMastIntents/Info.plist b/Sources/iOS/Extensions/iMastIntents/Info.plist index b1f8b181..fd2e0b83 100644 --- a/Sources/iOS/Extensions/iMastIntents/Info.plist +++ b/Sources/iOS/Extensions/iMastIntents/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 9.0 CFBundleVersion - 290 + 291 NSExtension NSExtensionAttributes diff --git a/Sources/iOS/Extensions/iMastNotifyService/Info.plist b/Sources/iOS/Extensions/iMastNotifyService/Info.plist index 3ae7538f..1283dd84 100644 --- a/Sources/iOS/Extensions/iMastNotifyService/Info.plist +++ b/Sources/iOS/Extensions/iMastNotifyService/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 9.0 CFBundleVersion - 290 + 291 NSExtension NSExtensionPointIdentifier diff --git a/Sources/iOS/Extensions/iMastShare/Info.plist b/Sources/iOS/Extensions/iMastShare/Info.plist index f664e6de..df505ea2 100644 --- a/Sources/iOS/Extensions/iMastShare/Info.plist +++ b/Sources/iOS/Extensions/iMastShare/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 9.0 CFBundleVersion - 290 + 291 NSExtension NSExtensionAttributes diff --git a/Sources/iOS/Tests/iMastTests/Info.plist b/Sources/iOS/Tests/iMastTests/Info.plist index 5144f530..c9e22286 100644 --- a/Sources/iOS/Tests/iMastTests/Info.plist +++ b/Sources/iOS/Tests/iMastTests/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 9.0 CFBundleVersion - 290 + 291 diff --git a/Sources/iOS/Tests/iMastUITests/Info.plist b/Sources/iOS/Tests/iMastUITests/Info.plist index 5144f530..c9e22286 100644 --- a/Sources/iOS/Tests/iMastUITests/Info.plist +++ b/Sources/iOS/Tests/iMastUITests/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 9.0 CFBundleVersion - 290 + 291 diff --git a/Sources/iOS/Tests/iMastiOSCoreTests/Info.plist b/Sources/iOS/Tests/iMastiOSCoreTests/Info.plist index 43e3bf5d..c8daa75f 100644 --- a/Sources/iOS/Tests/iMastiOSCoreTests/Info.plist +++ b/Sources/iOS/Tests/iMastiOSCoreTests/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 9.0 CFBundleVersion - 290 + 291 diff --git a/iMast.xcodeproj/project.pbxproj b/iMast.xcodeproj/project.pbxproj index a93c71a7..b962c0f6 100644 --- a/iMast.xcodeproj/project.pbxproj +++ b/iMast.xcodeproj/project.pbxproj @@ -4183,7 +4183,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = Sources/iOS/App/iMast.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 290; + CURRENT_PROJECT_VERSION = 291; DEVELOPMENT_TEAM = 4XKKKM86RN; HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2"; INFOPLIST_FILE = Sources/iOS/App/Info.plist; @@ -4212,7 +4212,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = Sources/iOS/App/iMast.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 290; + CURRENT_PROJECT_VERSION = 291; DEVELOPMENT_TEAM = 4XKKKM86RN; HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2"; INFOPLIST_FILE = Sources/iOS/App/Info.plist; @@ -4239,7 +4239,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 290; + CURRENT_PROJECT_VERSION = 291; INFOPLIST_FILE = Sources/iOS/Tests/iMastTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -4260,7 +4260,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 290; + CURRENT_PROJECT_VERSION = 291; INFOPLIST_FILE = Sources/iOS/Tests/iMastTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -4280,7 +4280,7 @@ baseConfigurationReference = B653907D1C9AB5BB71C94DDA /* Pods-iMastShared-iOS-iMast iOS-iMastUITests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CURRENT_PROJECT_VERSION = 290; + CURRENT_PROJECT_VERSION = 291; INFOPLIST_FILE = Sources/iOS/Tests/iMastUITests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -4300,7 +4300,7 @@ baseConfigurationReference = 599E62B81E7F4F5E82780FF1 /* Pods-iMastShared-iOS-iMast iOS-iMastUITests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CURRENT_PROJECT_VERSION = 290; + CURRENT_PROJECT_VERSION = 291; INFOPLIST_FILE = Sources/iOS/Tests/iMastUITests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -4325,11 +4325,11 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 290; + CURRENT_PROJECT_VERSION = 291; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 4XKKKM86RN; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 290; + DYLIB_CURRENT_VERSION = 291; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = Sources/iOS/Core/Info.plist; @@ -4363,11 +4363,11 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 290; + CURRENT_PROJECT_VERSION = 291; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 4XKKKM86RN; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 290; + DYLIB_CURRENT_VERSION = 291; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = Sources/iOS/Core/Info.plist; @@ -4453,7 +4453,7 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_ENTITLEMENTS = Sources/iOS/Extensions/iMastShare/iMastShare.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 290; + CURRENT_PROJECT_VERSION = 291; DEVELOPMENT_TEAM = 4XKKKM86RN; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = Sources/iOS/Extensions/iMastShare/Info.plist; @@ -4486,7 +4486,7 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_ENTITLEMENTS = Sources/iOS/Extensions/iMastShare/iMastShare.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 290; + CURRENT_PROJECT_VERSION = 291; DEVELOPMENT_TEAM = 4XKKKM86RN; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = Sources/iOS/Extensions/iMastShare/Info.plist; @@ -4926,11 +4926,11 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 290; + CURRENT_PROJECT_VERSION = 291; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 4XKKKM86RN; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 290; + DYLIB_CURRENT_VERSION = 291; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = Sources/Mac/Core/Info.plist; @@ -4961,11 +4961,11 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 290; + CURRENT_PROJECT_VERSION = 291; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 4XKKKM86RN; DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 290; + DYLIB_CURRENT_VERSION = 291; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = Sources/Mac/Core/Info.plist; From 70caa5161477ff14e4771545d74c43126c3d4547 Mon Sep 17 00:00:00 2001 From: rinsuki <428rinsuki+git@gmail.com> Date: Thu, 18 Jul 2024 11:10:22 +0900 Subject: [PATCH 7/7] chore: add stringsdict to Crowdin --- crowdin.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crowdin.yml b/crowdin.yml index 6c4bdc81..44ee26da 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -3,3 +3,5 @@ files: translation: /Sources/iOS/Core/Strings/%osx_code%/%original_file_name% - source: /Sources/Core/Assets/Strings/ja.lproj/*.strings translation: /Sources/Core/Assets/Strings/%osx_code%/%original_file_name% + - source: /Sources/iOS/Core/Strings/ja.lproj/*.stringsdict + translation: /Sources/iOS/Core/Strings/%osx_code%/%original_file_name%