Match Apple Music: full-width tab bar + large title; bump to 2.5
Build iOS App / Build .ipa and publish source (push) Successful in 36s
Build iOS App / Build .ipa and publish source (push) Successful in 36s
- Bottom tab bar: replace the floating capsule (which had space below it and was too thin) with a full-width frosted-glass bar at the standard iOS tab bar height, sitting flush above the home indicator — matching Apple Music. - Landing page title: use .large navigation title so 'Pull Requests' aligns at the top like Apple Music's 'Inicio', instead of the inline title. - Bump to 2.5.
This commit is contained in:
1 parent
7399187fb4
commit
0d2c4a3cb6
3 files changed
+12
-17
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 = 15;
|
CURRENT_PROJECT_VERSION = 16;
|
||||||
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.4;
|
MARKETING_VERSION = 2.5;
|
||||||
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 = 15;
|
CURRENT_PROJECT_VERSION = 16;
|
||||||
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.4;
|
MARKETING_VERSION = 2.5;
|
||||||
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;
|
||||||
|
|||||||
@@ -130,18 +130,18 @@ struct PRDetailView: View {
|
|||||||
.background(Color(.secondarySystemBackground))
|
.background(Color(.secondarySystemBackground))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Bottom tab bar: icon-only navigation between the PR's sections, in a
|
/// Bottom tab bar: full-width frosted-glass bar at the standard iOS tab
|
||||||
/// compact floating capsule style matching Apple's standard tab bar
|
/// bar height, sitting flush above the home indicator — matching Apple
|
||||||
/// height (Apple Music etc.), not a tall bar.
|
/// Music's tab bar (not a floating capsule with space below it).
|
||||||
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: 1) {
|
VStack(spacing: 2) {
|
||||||
Image(systemName: tab.icon)
|
Image(systemName: tab.icon)
|
||||||
.font(.system(size: 18))
|
.font(.system(size: 22))
|
||||||
Text(tab.rawValue)
|
Text(tab.rawValue)
|
||||||
.font(.caption2)
|
.font(.caption2)
|
||||||
}
|
}
|
||||||
@@ -150,15 +150,9 @@ struct PRDetailView: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.padding(.vertical, 4)
|
.padding(.top, 8)
|
||||||
.padding(.horizontal, 6)
|
|
||||||
.background(
|
|
||||||
Capsule()
|
|
||||||
.fill(.regularMaterial)
|
|
||||||
.shadow(color: .black.opacity(0.12), radius: 6, y: 1)
|
|
||||||
)
|
|
||||||
.padding(.horizontal, 16)
|
|
||||||
.padding(.bottom, 4)
|
.padding(.bottom, 4)
|
||||||
|
.background(.bar)
|
||||||
}
|
}
|
||||||
|
|
||||||
private var reviewMenu: some View {
|
private var reviewMenu: some View {
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ struct InboxView: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.navigationTitle("Pull Requests")
|
.navigationTitle("Pull Requests")
|
||||||
|
.navigationBarTitleDisplayMode(.large)
|
||||||
.toolbar {
|
.toolbar {
|
||||||
ToolbarItem(placement: .primaryAction) { settingsButton }
|
ToolbarItem(placement: .primaryAction) { settingsButton }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user