Add Positive Pay, statement guide v1.0, onboarding, and switch every feature on
- Positive Pay on the 12 Oct /pps contract (account number, not account ID): OTP enrollment, cheque submit, saved cheques, detail and stop payment. Full flow passed on the phone against mobile-banking-backend.lincpay. - Statement & Mini Statement guide v1.0 (14 Oct): mini statement JSON on Home and the Statement screen; dated PDF export with the password rule. - Onboarding slides and splash screen, Inter font, shared Icon and TypewriterText components, nearby branches via OpenStreetMap. - Every feature switched on; the 14 Oct switch set is kept in featureConfig.stage-2026-10-14.ts. Loans run on demo data until the backend has /loans routes. - npm run android wraps run-android for shells spawned from VS Code. - OpenProject work packages updated to 14-10-2026 status, with screenshots of Positive Pay, statement, loans and cards. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
5fbd13ba12
commit
f960a119e8
@@ -11,10 +11,11 @@
|
||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||
761780ED2CA45674006654EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761780EC2CA45674006654EE /* AppDelegate.swift */; };
|
||||
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
|
||||
C0D4AFDA2287401D95FC205E /* Nunito-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 99AFB5F593F649518272F7C1 /* Nunito-Bold.ttf */; };
|
||||
E59A09A1B92A4DFC837D4F76 /* Nunito-ExtraBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5BE37E42FB25420B888BD619 /* Nunito-ExtraBold.ttf */; };
|
||||
8177024BD66049C892AE8BB5 /* Nunito-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0586CD0C88074732AB208771 /* Nunito-Regular.ttf */; };
|
||||
28C1313D12F44E0B944A0461 /* Nunito-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 94CE8C68F80440B6A8315272 /* Nunito-SemiBold.ttf */; };
|
||||
451249A8EBAA4D07854CCF7E /* Inter-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 62B6F2151F4B40C3B92D00E7 /* Inter-Bold.ttf */; };
|
||||
3FAD4FF3BCB44925BF942FD6 /* Inter-ExtraBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2FEAF9021A4E4F3493AB8783 /* Inter-ExtraBold.ttf */; };
|
||||
24F52D1E76734460B1518FB8 /* Inter-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 216626BDE1674D0F8BC41F44 /* Inter-Medium.ttf */; };
|
||||
49AF21495E694D2C9B5E2E41 /* Inter-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 3F599B63F8274BDEB3DD4DCD /* Inter-Regular.ttf */; };
|
||||
6BD1A89DD9CC4BA58B9B9958 /* Inter-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 19A0CB34EF4F45F2B88EE0A5 /* Inter-SemiBold.ttf */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@@ -28,10 +29,11 @@
|
||||
761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = BankCBS/AppDelegate.swift; sourceTree = "<group>"; };
|
||||
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = BankCBS/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
||||
99AFB5F593F649518272F7C1 /* Nunito-Bold.ttf */ = {isa = PBXFileReference; name = "Nunito-Bold.ttf"; path = "../assets/fonts/Nunito-Bold.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
5BE37E42FB25420B888BD619 /* Nunito-ExtraBold.ttf */ = {isa = PBXFileReference; name = "Nunito-ExtraBold.ttf"; path = "../assets/fonts/Nunito-ExtraBold.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
0586CD0C88074732AB208771 /* Nunito-Regular.ttf */ = {isa = PBXFileReference; name = "Nunito-Regular.ttf"; path = "../assets/fonts/Nunito-Regular.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
94CE8C68F80440B6A8315272 /* Nunito-SemiBold.ttf */ = {isa = PBXFileReference; name = "Nunito-SemiBold.ttf"; path = "../assets/fonts/Nunito-SemiBold.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
62B6F2151F4B40C3B92D00E7 /* Inter-Bold.ttf */ = {isa = PBXFileReference; name = "Inter-Bold.ttf"; path = "../assets/fonts/Inter-Bold.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
2FEAF9021A4E4F3493AB8783 /* Inter-ExtraBold.ttf */ = {isa = PBXFileReference; name = "Inter-ExtraBold.ttf"; path = "../assets/fonts/Inter-ExtraBold.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
216626BDE1674D0F8BC41F44 /* Inter-Medium.ttf */ = {isa = PBXFileReference; name = "Inter-Medium.ttf"; path = "../assets/fonts/Inter-Medium.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
3F599B63F8274BDEB3DD4DCD /* Inter-Regular.ttf */ = {isa = PBXFileReference; name = "Inter-Regular.ttf"; path = "../assets/fonts/Inter-Regular.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
19A0CB34EF4F45F2B88EE0A5 /* Inter-SemiBold.ttf */ = {isa = PBXFileReference; name = "Inter-SemiBold.ttf"; path = "../assets/fonts/Inter-SemiBold.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -109,10 +111,11 @@
|
||||
EF5146ACD97C4640B8BE11AA /* Resources */ = {
|
||||
isa = "PBXGroup";
|
||||
children = (
|
||||
99AFB5F593F649518272F7C1 /* Nunito-Bold.ttf */,
|
||||
5BE37E42FB25420B888BD619 /* Nunito-ExtraBold.ttf */,
|
||||
0586CD0C88074732AB208771 /* Nunito-Regular.ttf */,
|
||||
94CE8C68F80440B6A8315272 /* Nunito-SemiBold.ttf */,
|
||||
62B6F2151F4B40C3B92D00E7 /* Inter-Bold.ttf */,
|
||||
2FEAF9021A4E4F3493AB8783 /* Inter-ExtraBold.ttf */,
|
||||
216626BDE1674D0F8BC41F44 /* Inter-Medium.ttf */,
|
||||
3F599B63F8274BDEB3DD4DCD /* Inter-Regular.ttf */,
|
||||
19A0CB34EF4F45F2B88EE0A5 /* Inter-SemiBold.ttf */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
@@ -180,10 +183,11 @@
|
||||
files = (
|
||||
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
|
||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
|
||||
C0D4AFDA2287401D95FC205E /* Nunito-Bold.ttf in Resources */,
|
||||
E59A09A1B92A4DFC837D4F76 /* Nunito-ExtraBold.ttf in Resources */,
|
||||
8177024BD66049C892AE8BB5 /* Nunito-Regular.ttf in Resources */,
|
||||
28C1313D12F44E0B944A0461 /* Nunito-SemiBold.ttf in Resources */,
|
||||
451249A8EBAA4D07854CCF7E /* Inter-Bold.ttf in Resources */,
|
||||
3FAD4FF3BCB44925BF942FD6 /* Inter-ExtraBold.ttf in Resources */,
|
||||
24F52D1E76734460B1518FB8 /* Inter-Medium.ttf in Resources */,
|
||||
49AF21495E694D2C9B5E2E41 /* Inter-Regular.ttf in Resources */,
|
||||
6BD1A89DD9CC4BA58B9B9958 /* Inter-SemiBold.ttf in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
||||
+13
-13
@@ -32,12 +32,13 @@
|
||||
<false/>
|
||||
<key>NSAllowsLocalNetworking</key>
|
||||
<true/>
|
||||
<!-- API_ORIGIN in src/config/env.ts is currently the named host below.
|
||||
NSAllowsLocalNetworking covers bare IP literals (and .local names)
|
||||
but gives a *named* host nothing: point API_ORIGIN at one with no
|
||||
entry here and ATS blocks every cleartext call, surfacing as a
|
||||
generic network error. All of this goes when the backend gets
|
||||
TLS. -->
|
||||
<!-- API_ORIGIN in src/config/env.ts currently points at the named
|
||||
host below. NSAllowsLocalNetworking covers bare IP literals (and
|
||||
.local names) — so switching back to the LAN IP needs nothing
|
||||
here — but gives a *named* host nothing: point API_ORIGIN at one
|
||||
with no entry here and ATS blocks every cleartext call, surfacing
|
||||
as a generic network error. All of this goes when the backend
|
||||
gets TLS. -->
|
||||
<key>NSExceptionDomains</key>
|
||||
<dict>
|
||||
<key>mobile-banking-backend.lincpay</key>
|
||||
@@ -50,7 +51,7 @@
|
||||
</dict>
|
||||
</dict>
|
||||
<key>NSLocationWhenInUseUsageDescription</key>
|
||||
<string/>
|
||||
<string>Your location is used to show the bank branches and ATMs nearest to you. It is only used while the locator is open.</string>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
@@ -67,12 +68,11 @@
|
||||
<false/>
|
||||
<key>UIAppFonts</key>
|
||||
<array>
|
||||
<string>IBMPlexSans.ttf</string>
|
||||
<string>IBMPlexSans-Medm.ttf</string>
|
||||
<string>IBMPlexSans-SmBld.ttf</string>
|
||||
<string>IBMPlexSans-Bold.ttf</string>
|
||||
<string>IBMPlexMono.ttf</string>
|
||||
<string>IBMPlexMono-SmBld.ttf</string>
|
||||
<string>Inter-Bold.ttf</string>
|
||||
<string>Inter-ExtraBold.ttf</string>
|
||||
<string>Inter-Medium.ttf</string>
|
||||
<string>Inter-Regular.ttf</string>
|
||||
<string>Inter-SemiBold.ttf</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -30,5 +30,12 @@ target 'BankCBS' do
|
||||
:mac_catalyst_enabled => false,
|
||||
# :ccache_enabled => true
|
||||
)
|
||||
|
||||
# MapLibre (Branch & ATM locator). @maplibre/maplibre-react-native v10
|
||||
# delivers the native MapLibre SDK through Swift Package Manager, and this
|
||||
# hook is what adds that package to its pod target — without it the iOS
|
||||
# build cannot find the MapLibre framework. Free and keyless: no Google
|
||||
# Maps SDK, no access token.
|
||||
$MLRN.post_install(installer)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,20 +2,24 @@
|
||||
"migIndex": 1,
|
||||
"data": [
|
||||
{
|
||||
"path": "assets/fonts/Nunito-Bold.ttf",
|
||||
"sha1": "a2d6a8de275b708042cfa663533194d18d2861c4"
|
||||
"path": "assets/fonts/Inter-Bold.ttf",
|
||||
"sha1": "9461e7c083137c2abe6d198f784fb0d341a527a1"
|
||||
},
|
||||
{
|
||||
"path": "assets/fonts/Nunito-ExtraBold.ttf",
|
||||
"sha1": "30b19033e24e4a79ca8a0ac3e780ab8e3d664185"
|
||||
"path": "assets/fonts/Inter-ExtraBold.ttf",
|
||||
"sha1": "872bc40675c084c451af1c3eb10e21c13e2008a3"
|
||||
},
|
||||
{
|
||||
"path": "assets/fonts/Nunito-Regular.ttf",
|
||||
"sha1": "6b19e7ffbd729c36ca7bbd0163a791d2716447a8"
|
||||
"path": "assets/fonts/Inter-Medium.ttf",
|
||||
"sha1": "c1d25d8c10adb45a970e71c387bbd6380f10992d"
|
||||
},
|
||||
{
|
||||
"path": "assets/fonts/Nunito-SemiBold.ttf",
|
||||
"sha1": "12eebee4d162f8f099235a42623369d5e57a6af9"
|
||||
"path": "assets/fonts/Inter-Regular.ttf",
|
||||
"sha1": "6e3430f906a4b42b4b63fd8f33e498a43d9f8d84"
|
||||
},
|
||||
{
|
||||
"path": "assets/fonts/Inter-SemiBold.ttf",
|
||||
"sha1": "b4bdaf6bdd6a479b46c452a7bbae13f5cb2079bf"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user