diff --git a/.github/workflows/kmp-ci.yml b/.github/workflows/kmp-ci.yml new file mode 100644 index 000000000..edd6ebec0 --- /dev/null +++ b/.github/workflows/kmp-ci.yml @@ -0,0 +1,55 @@ +name: KMP CI + +on: + pull_request: + paths: ["packages/kmp-sdk/**", "packages/kmp-test-app/**"] + push: + branches: [dev, staging, main] + paths: ["packages/kmp-sdk/**", "packages/kmp-test-app/**"] + +jobs: + kmp-sdk-tests: + runs-on: ubuntu-latest + timeout-minutes: 60 + defaults: + run: + working-directory: packages/kmp-sdk + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "17" + - uses: ./.github/actions/cache-gradle + - uses: gradle/actions/setup-gradle@v4 + with: + cache-disabled: true + - run: ./gradlew :shared:jvmTest + - uses: actions/upload-artifact@v4 + if: always() + with: + name: kmp-sdk-test-results + path: packages/kmp-sdk/shared/build/reports/tests/ + + kmp-test-app-tests: + runs-on: ubuntu-latest + timeout-minutes: 60 + defaults: + run: + working-directory: packages/kmp-test-app + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "17" + - uses: ./.github/actions/cache-gradle + - uses: gradle/actions/setup-gradle@v4 + with: + cache-disabled: true + - run: ./gradlew :composeApp:testDebugUnitTest + - uses: actions/upload-artifact@v4 + if: always() + with: + name: kmp-test-app-test-results + path: packages/kmp-test-app/composeApp/build/reports/tests/ diff --git a/.github/workflows/workspace-ci.yml b/.github/workflows/workspace-ci.yml index 56ebcbee8..c4e5061e9 100644 --- a/.github/workflows/workspace-ci.yml +++ b/.github/workflows/workspace-ci.yml @@ -91,6 +91,12 @@ jobs: - name: Install Dependencies uses: ./.github/actions/yarn-install + - name: Install SwiftLint + run: | + curl -sL "https://github.com/realm/SwiftLint/releases/download/0.57.1/swiftlint_linux.zip" -o /tmp/swiftlint.zip + unzip -o /tmp/swiftlint.zip -d /tmp/swiftlint + sudo install /tmp/swiftlint/swiftlint /usr/local/bin/swiftlint + - name: Build workspace dependencies run: yarn build diff --git a/.gitignore b/.gitignore index 35d5c7123..42bbe4dc2 100644 --- a/.gitignore +++ b/.gitignore @@ -12,8 +12,8 @@ showcase output/* *.tsbuildinfo .yarnrc.yml -.giga/tasks/* package-lock.json +.claude # CI-generated tarballs (don't commit these!) mobile-sdk-alpha-ci.tgz diff --git a/app/.eslintrc.cjs b/app/.eslintrc.cjs index 584d3d4a0..a4067b7a4 100644 --- a/app/.eslintrc.cjs +++ b/app/.eslintrc.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/App.tsx b/app/App.tsx index 9b08d7251..17aeaafa0 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/babel.config.cjs b/app/babel.config.cjs index f0861d392..37dcde959 100644 --- a/app/babel.config.cjs +++ b/app/babel.config.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/babel.config.test.cjs b/app/babel.config.test.cjs index 194078bea..caeb002a0 100644 --- a/app/babel.config.test.cjs +++ b/app/babel.config.test.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/declarations.d.ts b/app/declarations.d.ts index c62b3c171..e346ccca8 100644 --- a/app/declarations.d.ts +++ b/app/declarations.d.ts @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/docs/examples/tree-shaking/granular-circuits-example.ts b/app/docs/examples/tree-shaking/granular-circuits-example.ts index 8ea72ff31..b606895f0 100644 --- a/app/docs/examples/tree-shaking/granular-circuits-example.ts +++ b/app/docs/examples/tree-shaking/granular-circuits-example.ts @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/docs/examples/tree-shaking/level2-optimal-example.ts b/app/docs/examples/tree-shaking/level2-optimal-example.ts index ebc83d4b7..f27f1e9e1 100644 --- a/app/docs/examples/tree-shaking/level2-optimal-example.ts +++ b/app/docs/examples/tree-shaking/level2-optimal-example.ts @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/docs/examples/tree-shaking/level3-migration-guide.ts b/app/docs/examples/tree-shaking/level3-migration-guide.ts index 252ee386c..15e220ca7 100644 --- a/app/docs/examples/tree-shaking/level3-migration-guide.ts +++ b/app/docs/examples/tree-shaking/level3-migration-guide.ts @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/docs/examples/tree-shaking/level3-optimal-example.ts b/app/docs/examples/tree-shaking/level3-optimal-example.ts index 14cb67af4..6439ba7c0 100644 --- a/app/docs/examples/tree-shaking/level3-optimal-example.ts +++ b/app/docs/examples/tree-shaking/level3-optimal-example.ts @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/docs/examples/tree-shaking/optimal-pattern-example.ts b/app/docs/examples/tree-shaking/optimal-pattern-example.ts index d047df16b..ef79d6402 100644 --- a/app/docs/examples/tree-shaking/optimal-pattern-example.ts +++ b/app/docs/examples/tree-shaking/optimal-pattern-example.ts @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/env.ts b/app/env.ts index 5ee1d7dad..28b238f5a 100644 --- a/app/env.ts +++ b/app/env.ts @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/index.js b/app/index.js index 8e68c66c8..976d7167e 100644 --- a/app/index.js +++ b/app/index.js @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/jest.config.cjs b/app/jest.config.cjs index 7c4197174..e6ec3a0cf 100644 --- a/app/jest.config.cjs +++ b/app/jest.config.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/jest.setup.js b/app/jest.setup.js index 4a6401f35..6a93ee2f4 100644 --- a/app/jest.setup.js +++ b/app/jest.setup.js @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/metro.config.cjs b/app/metro.config.cjs index f86597c98..3c022f1e9 100644 --- a/app/metro.config.cjs +++ b/app/metro.config.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/react-native.config.cjs b/app/react-native.config.cjs index aea045223..608160c38 100644 --- a/app/react-native.config.cjs +++ b/app/react-native.config.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/alias-imports.cjs b/app/scripts/alias-imports.cjs index 6f9703549..486594c60 100644 --- a/app/scripts/alias-imports.cjs +++ b/app/scripts/alias-imports.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/analyze-tree-shaking.cjs b/app/scripts/analyze-tree-shaking.cjs index b2cd4bd55..a7e37d830 100755 --- a/app/scripts/analyze-tree-shaking.cjs +++ b/app/scripts/analyze-tree-shaking.cjs @@ -1,5 +1,5 @@ #!/usr/bin/env node -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/bundle-analyze-ci.cjs b/app/scripts/bundle-analyze-ci.cjs index 902aa4112..3f7d59e86 100755 --- a/app/scripts/bundle-analyze-ci.cjs +++ b/app/scripts/bundle-analyze-ci.cjs @@ -1,5 +1,5 @@ #!/usr/bin/env node -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/check-test-requires.cjs b/app/scripts/check-test-requires.cjs index 61a7b4633..d969db147 100644 --- a/app/scripts/check-test-requires.cjs +++ b/app/scripts/check-test-requires.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/cleanup-private-modules.cjs b/app/scripts/cleanup-private-modules.cjs index c17143f5e..de89dd715 100644 --- a/app/scripts/cleanup-private-modules.cjs +++ b/app/scripts/cleanup-private-modules.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/find-type-import-issues.mjs b/app/scripts/find-type-import-issues.mjs index 51f650a9a..a0fd16650 100755 --- a/app/scripts/find-type-import-issues.mjs +++ b/app/scripts/find-type-import-issues.mjs @@ -1,6 +1,6 @@ #!/usr/bin/env node -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/mobile-deploy-confirm.cjs b/app/scripts/mobile-deploy-confirm.cjs index 90edc45e2..0487ee947 100755 --- a/app/scripts/mobile-deploy-confirm.cjs +++ b/app/scripts/mobile-deploy-confirm.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/run-ios-simulator.cjs b/app/scripts/run-ios-simulator.cjs index 87028003f..ac4887929 100644 --- a/app/scripts/run-ios-simulator.cjs +++ b/app/scripts/run-ios-simulator.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/setup-private-modules.cjs b/app/scripts/setup-private-modules.cjs index 39ded4be9..bb883dbb9 100644 --- a/app/scripts/setup-private-modules.cjs +++ b/app/scripts/setup-private-modules.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/tag.cjs b/app/scripts/tag.cjs index 864d2736e..f3b90a6a2 100644 --- a/app/scripts/tag.cjs +++ b/app/scripts/tag.cjs @@ -1,5 +1,5 @@ #!/usr/bin/env node -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/test-tree-shaking.cjs b/app/scripts/test-tree-shaking.cjs index d63a21469..c88e81ce5 100755 --- a/app/scripts/test-tree-shaking.cjs +++ b/app/scripts/test-tree-shaking.cjs @@ -1,5 +1,5 @@ #!/usr/bin/env node -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/tests/aliasImports.test.cjs b/app/scripts/tests/aliasImports.test.cjs index ab21b516c..cd34dbce9 100644 --- a/app/scripts/tests/aliasImports.test.cjs +++ b/app/scripts/tests/aliasImports.test.cjs @@ -1,5 +1,5 @@ #!/usr/bin/env node -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/tests/bundleAnalyzeCi.test.cjs b/app/scripts/tests/bundleAnalyzeCi.test.cjs index d8c1623e6..6e5151567 100644 --- a/app/scripts/tests/bundleAnalyzeCi.test.cjs +++ b/app/scripts/tests/bundleAnalyzeCi.test.cjs @@ -1,5 +1,5 @@ #!/usr/bin/env node -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/tests/cleanupIosBuild.test.cjs b/app/scripts/tests/cleanupIosBuild.test.cjs index a9547738d..9263cce9f 100644 --- a/app/scripts/tests/cleanupIosBuild.test.cjs +++ b/app/scripts/tests/cleanupIosBuild.test.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/tests/mobileDeployConfirm.test.cjs b/app/scripts/tests/mobileDeployConfirm.test.cjs index d3995ed72..ccc0b605e 100644 --- a/app/scripts/tests/mobileDeployConfirm.test.cjs +++ b/app/scripts/tests/mobileDeployConfirm.test.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/tests/mobileDeployConfirmModule.test.cjs b/app/scripts/tests/mobileDeployConfirmModule.test.cjs index 56e3b78aa..93675099f 100644 --- a/app/scripts/tests/mobileDeployConfirmModule.test.cjs +++ b/app/scripts/tests/mobileDeployConfirmModule.test.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/tests/treeShaking.test.cjs b/app/scripts/tests/treeShaking.test.cjs index f24733062..e62effa57 100644 --- a/app/scripts/tests/treeShaking.test.cjs +++ b/app/scripts/tests/treeShaking.test.cjs @@ -1,5 +1,5 @@ #!/usr/bin/env node -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/version-manager.cjs b/app/scripts/version-manager.cjs index b8c9ec0cb..7747ec9dd 100755 --- a/app/scripts/version-manager.cjs +++ b/app/scripts/version-manager.cjs @@ -1,6 +1,6 @@ #!/usr/bin/env node -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/version-manager.test.cjs b/app/scripts/version-manager.test.cjs index 8f09e60c2..2d1d19f64 100644 --- a/app/scripts/version-manager.test.cjs +++ b/app/scripts/version-manager.test.cjs @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/scripts/version.cjs b/app/scripts/version.cjs index c029505b7..07578df7c 100755 --- a/app/scripts/version.cjs +++ b/app/scripts/version.cjs @@ -1,5 +1,5 @@ #!/usr/bin/env node -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/assets/animations/loader.ts b/app/src/assets/animations/loader.ts index b028bfde4..03c72e18b 100644 --- a/app/src/assets/animations/loader.ts +++ b/app/src/assets/animations/loader.ts @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/AlertModal.tsx b/app/src/components/AlertModal.tsx index 55909ecab..a3375594e 100644 --- a/app/src/components/AlertModal.tsx +++ b/app/src/components/AlertModal.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/BackupDocumentationLink.tsx b/app/src/components/BackupDocumentationLink.tsx index 246177f74..40aa9f535 100644 --- a/app/src/components/BackupDocumentationLink.tsx +++ b/app/src/components/BackupDocumentationLink.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/Disclosures.tsx b/app/src/components/Disclosures.tsx index b95243a75..9138dd79e 100644 --- a/app/src/components/Disclosures.tsx +++ b/app/src/components/Disclosures.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/ErrorBoundary.tsx b/app/src/components/ErrorBoundary.tsx index a272455df..9bf18eca2 100644 --- a/app/src/components/ErrorBoundary.tsx +++ b/app/src/components/ErrorBoundary.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/FeedbackModal.tsx b/app/src/components/FeedbackModal.tsx index 4a4e7ca60..3be655be8 100644 --- a/app/src/components/FeedbackModal.tsx +++ b/app/src/components/FeedbackModal.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/LoadingUI.tsx b/app/src/components/LoadingUI.tsx index d9f74bfdf..b6fcd49f3 100644 --- a/app/src/components/LoadingUI.tsx +++ b/app/src/components/LoadingUI.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/Mnemonic.tsx b/app/src/components/Mnemonic.tsx index 7e5560fd3..5c003444f 100644 --- a/app/src/components/Mnemonic.tsx +++ b/app/src/components/Mnemonic.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/PointHistoryList.tsx b/app/src/components/PointHistoryList.tsx index 7a0f25be7..0d18aaca7 100644 --- a/app/src/components/PointHistoryList.tsx +++ b/app/src/components/PointHistoryList.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/SystemBars.tsx b/app/src/components/SystemBars.tsx index 7e95c714f..4dc92fbaa 100644 --- a/app/src/components/SystemBars.tsx +++ b/app/src/components/SystemBars.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/Tips.tsx b/app/src/components/Tips.tsx index 348390c8e..4689486ad 100644 --- a/app/src/components/Tips.tsx +++ b/app/src/components/Tips.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/WebViewFooter.tsx b/app/src/components/WebViewFooter.tsx index 7b3e72dae..1234f30c1 100644 --- a/app/src/components/WebViewFooter.tsx +++ b/app/src/components/WebViewFooter.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/documents/IDSelectorItem.tsx b/app/src/components/documents/IDSelectorItem.tsx index 297ac4186..2609aec4a 100644 --- a/app/src/components/documents/IDSelectorItem.tsx +++ b/app/src/components/documents/IDSelectorItem.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/documents/IDSelectorSheet.tsx b/app/src/components/documents/IDSelectorSheet.tsx index 9f50de8b1..e578c3e04 100644 --- a/app/src/components/documents/IDSelectorSheet.tsx +++ b/app/src/components/documents/IDSelectorSheet.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/documents/index.ts b/app/src/components/documents/index.ts index e4bd90441..d77662796 100644 --- a/app/src/components/documents/index.ts +++ b/app/src/components/documents/index.ts @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/homescreen/EmptyIdCard.tsx b/app/src/components/homescreen/EmptyIdCard.tsx index 0ae3dfeb5..6ec962c10 100644 --- a/app/src/components/homescreen/EmptyIdCard.tsx +++ b/app/src/components/homescreen/EmptyIdCard.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/homescreen/ExpiredIdCard.tsx b/app/src/components/homescreen/ExpiredIdCard.tsx index d315e03de..e7b7d3fe5 100644 --- a/app/src/components/homescreen/ExpiredIdCard.tsx +++ b/app/src/components/homescreen/ExpiredIdCard.tsx @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. diff --git a/app/src/components/homescreen/IdCard.tsx b/app/src/components/homescreen/IdCard.tsx index afdf842ad..60499b54b 100644 --- a/app/src/components/homescreen/IdCard.tsx +++ b/app/src/components/homescreen/IdCard.tsx @@ -1,12 +1,11 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-FileCopyrightText: 2025-2026 Social Connect Labs, Inc. // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import type { FC } from 'react'; -import React, { useCallback } from 'react'; -import { Image, Pressable, StyleSheet } from 'react-native'; +import React, { type FC, useCallback } from 'react'; +import { Dimensions, Image, Pressable, StyleSheet } from 'react-native'; import LinearGradient from 'react-native-linear-gradient'; -import { Text, XStack, YStack } from 'tamagui'; +import { Separator, Text, XStack, YStack } from 'tamagui'; import { useNavigation } from '@react-navigation/native'; import type { AadhaarData } from '@selfxyz/common'; @@ -20,11 +19,18 @@ import { import { WarningTriangleIcon } from '@selfxyz/euclid/dist/components/icons/WarningTriangleIcon'; import { RoundFlag } from '@selfxyz/mobile-sdk-alpha/components'; import { + black, red600, + slate100, + slate300, + slate400, + slate500, white, yellow500, } from '@selfxyz/mobile-sdk-alpha/constants/colors'; import { dinot, plexMono } from '@selfxyz/mobile-sdk-alpha/constants/fonts'; +import AadhaarIcon from '@selfxyz/mobile-sdk-alpha/svgs/icons/aadhaar.svg'; +import EPassport from '@selfxyz/mobile-sdk-alpha/svgs/icons/epassport.svg'; import CardBackgroundId1 from '@/assets/images/card_background_id1.png'; import CardBackgroundId2 from '@/assets/images/card_background_id2.png'; @@ -34,14 +40,20 @@ import CardBackgroundId5 from '@/assets/images/card_background_id5.png'; import CardBackgroundId6 from '@/assets/images/card_background_id6.png'; import DevCardLogo from '@/assets/images/dev_card_logo.svg'; import DevCardWave from '@/assets/images/dev_card_wave.svg'; +import LogoGray from '@/assets/images/logo_gray.svg'; import SelfLogoPending from '@/assets/images/self_logo_pending.svg'; import WaveOverlay from '@/assets/images/wave_overlay.png'; import { getSecurityLevel } from '@/components/homescreen/cardSecurityBadge'; import { cardStyles } from '@/components/homescreen/cardStyles'; import KycIdCard from '@/components/homescreen/KycIdCard'; +import { SvgXml } from '@/components/homescreen/SvgXmlWrapper'; import { useCardDimensions } from '@/hooks/useCardDimensions'; import { getBackgroundIndex } from '@/utils/cardBackgroundSelector'; -import { getDocumentAttributes } from '@/utils/documentAttributes'; +import { + formatDateFromYYMMDD, + getDocumentAttributes, + getNameAndSurname, +} from '@/utils/documentAttributes'; import { registerModalCallbacks } from '@/utils/modalCallbackRegistry'; const CARD_BACKGROUNDS = [ @@ -282,6 +294,12 @@ const getCountryDemonym = (code: string): string => { return COUNTRY_DEMONYMS[upperCode] || upperCode; }; +const logoSvg = ` + + + +`; + interface IdCardLayoutAttributes { idDocument: PassportData | AadhaarData | KycData | null; selected: boolean; @@ -356,6 +374,331 @@ const IdCardLayout: FC = ({