Slim bottom tab bar to Apple height; remove redundant reload button; bump to 2.4
Build iOS App / Build .ipa and publish source (push) Successful in 25s
Build iOS App / Build .ipa and publish source (push) Successful in 25s
- Bottom tab bar: reduce vertical padding (8→4), icon size (20→18), and bottom inset (8→4) so it matches Apple's standard compact tab bar height (Apple Music etc.) instead of a tall bar. - Remove the manual reload button from the loaded PR toolbar — the detail view auto-loads on appearance, so it was redundant clutter. The reload button is kept only on the error/retry state. Bump to 2.4.
This commit is contained in:
1 parent
880cff9e68
commit
7399187fb4
2 files changed
+11
-12
No files matched your search
@@ -187,7 +187,7 @@
|
|||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 14;
|
CURRENT_PROJECT_VERSION = 15;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = "GiteaPR";
|
INFOPLIST_KEY_CFBundleDisplayName = "GiteaPR";
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 2.3;
|
MARKETING_VERSION = 2.4;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.bueso.giteapr;
|
PRODUCT_BUNDLE_IDENTIFIER = com.bueso.giteapr;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
@@ -211,7 +211,7 @@
|
|||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 14;
|
CURRENT_PROJECT_VERSION = 15;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = "GiteaPR";
|
INFOPLIST_KEY_CFBundleDisplayName = "GiteaPR";
|
||||||
@@ -221,7 +221,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 2.3;
|
MARKETING_VERSION = 2.4;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.bueso.giteapr;
|
PRODUCT_BUNDLE_IDENTIFIER = com.bueso.giteapr;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
|
|||||||
@@ -100,7 +100,6 @@ struct PRDetailView: View {
|
|||||||
bottomTabBar
|
bottomTabBar
|
||||||
}
|
}
|
||||||
.toolbar {
|
.toolbar {
|
||||||
ToolbarItem(placement: .primaryAction) { reloadButton }
|
|
||||||
if prIsOpen {
|
if prIsOpen {
|
||||||
ToolbarItem(placement: .primaryAction) { mergeButton }
|
ToolbarItem(placement: .primaryAction) { mergeButton }
|
||||||
ToolbarItem(placement: .primaryAction) { reviewMenu }
|
ToolbarItem(placement: .primaryAction) { reviewMenu }
|
||||||
@@ -132,17 +131,17 @@ struct PRDetailView: View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Bottom tab bar: icon-only navigation between the PR's sections, in a
|
/// Bottom tab bar: icon-only navigation between the PR's sections, in a
|
||||||
/// floating capsule style (like the latest iOS tab bars) rather than a
|
/// compact floating capsule style matching Apple's standard tab bar
|
||||||
/// full-width bar.
|
/// height (Apple Music etc.), not a tall bar.
|
||||||
private var bottomTabBar: some View {
|
private var bottomTabBar: some View {
|
||||||
HStack {
|
HStack {
|
||||||
ForEach(DetailTab.allCases) { tab in
|
ForEach(DetailTab.allCases) { tab in
|
||||||
Button {
|
Button {
|
||||||
selectedTab = tab
|
selectedTab = tab
|
||||||
} label: {
|
} label: {
|
||||||
VStack(spacing: 2) {
|
VStack(spacing: 1) {
|
||||||
Image(systemName: tab.icon)
|
Image(systemName: tab.icon)
|
||||||
.font(.system(size: 20))
|
.font(.system(size: 18))
|
||||||
Text(tab.rawValue)
|
Text(tab.rawValue)
|
||||||
.font(.caption2)
|
.font(.caption2)
|
||||||
}
|
}
|
||||||
@@ -151,15 +150,15 @@ struct PRDetailView: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.padding(.vertical, 8)
|
.padding(.vertical, 4)
|
||||||
.padding(.horizontal, 6)
|
.padding(.horizontal, 6)
|
||||||
.background(
|
.background(
|
||||||
Capsule()
|
Capsule()
|
||||||
.fill(.regularMaterial)
|
.fill(.regularMaterial)
|
||||||
.shadow(color: .black.opacity(0.15), radius: 8, y: 2)
|
.shadow(color: .black.opacity(0.12), radius: 6, y: 1)
|
||||||
)
|
)
|
||||||
.padding(.horizontal, 16)
|
.padding(.horizontal, 16)
|
||||||
.padding(.bottom, 8)
|
.padding(.bottom, 4)
|
||||||
}
|
}
|
||||||
|
|
||||||
private var reviewMenu: some View {
|
private var reviewMenu: some View {
|
||||||
|
|||||||
Reference in new issue
Block a user