diff --git a/mobile/Makefile b/mobile/Makefile index 3ae6560..fc6a682 100644 --- a/mobile/Makefile +++ b/mobile/Makefile @@ -73,10 +73,14 @@ clean_install: clean node_modules cd ios && pod install .PHONY: clean_install -release: node_modules +release.ios: node_modules npm run build eas build --platform ios --profile production -.PHONY: release +.PHONY: release.ios + +release.android: node_modules + eas build --platform android --profile production +.PHONY: elease.android help: @echo "Usage: make [target]" diff --git a/mobile/app.json b/mobile/app.json index 2f90ed5..34afc6f 100644 --- a/mobile/app.json +++ b/mobile/app.json @@ -34,7 +34,8 @@ "foregroundImage": "./assets/images/adaptive-icon.png", "backgroundColor": "#ffffff" }, - "package": "tech.berty.dsocial.android" + "package": "tech.berty.dsocial.android", + "versionCode": 7 }, "web": { "favicon": "./assets/images/favicon.png" diff --git a/mobile/app/index.tsx b/mobile/app/index.tsx index bb37f4a..8cb0a5c 100644 --- a/mobile/app/index.tsx +++ b/mobile/app/index.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { ScrollView } from "react-native"; +import { ScrollView, View } from "react-native"; import { useNavigation, useRouter } from "expo-router"; import Button from "@gno/components/button"; import Layout from "@gno/components/layout"; @@ -11,6 +11,7 @@ import { loggedIn, useAppDispatch } from "@gno/redux"; import { KeyInfo } from "@buf/gnolang_gnonative.bufbuild_es/gnonativetypes_pb"; import { useGnoNativeContext } from "@gnolang/gnonative"; import Spacer from "@gno/components/spacer"; +import * as Application from "expo-application"; export default function Root() { const route = useRouter(); @@ -23,6 +24,8 @@ export default function Root() { const navigation = useNavigation(); const dispatch = useAppDispatch(); + const appVersion = Application.nativeApplicationVersion; + useEffect(() => { const unsubscribe = navigation.addListener("focus", async () => { try { @@ -83,21 +86,30 @@ export default function Root() { <> - + + dSocial + Decentralized Social Network + Powered by GnoNative + v{appVersion} + + + {accounts && accounts.length > 0 && ( <> - Please, select one of the existing accounts to start: + Please, select one of the existing accounts to start: + + + - - - Or use one of these options: )} - - + + + Or create a new account: + {reenterPassword ? ( diff --git a/mobile/components/settings/account/account-balance.tsx b/mobile/components/settings/account/account-balance.tsx index f8fa69e..e2d698e 100644 --- a/mobile/components/settings/account/account-balance.tsx +++ b/mobile/components/settings/account/account-balance.tsx @@ -3,6 +3,7 @@ import { KeyInfo } from "@buf/gnolang_gnonative.bufbuild_es/gnonativetypes_pb"; import Text from "@gno/components/text"; import { useGnoNativeContext } from "@gnolang/gnonative"; import { useSearch } from "@gno/hooks/use-search"; +import * as Application from "expo-application"; interface Props { activeAccount: KeyInfo | undefined; @@ -47,6 +48,8 @@ export function AccountBalance({ activeAccount }: Props) { return ( <> + Version: + {Application.nativeApplicationVersion} Active Account: {activeAccount.name} Address: diff --git a/mobile/package-lock.json b/mobile/package-lock.json index eaf3f8b..0f519dc 100644 --- a/mobile/package-lock.json +++ b/mobile/package-lock.json @@ -19,8 +19,10 @@ "base-64": "^1.0.0", "date-fns": "^3.6.0", "expo": "~51.0.8", + "expo-application": "~5.9.1", "expo-clipboard": "~6.0.3", - "expo-constants": "~16.0.1", + "expo-constants": "~16.0.2", + "expo-linear-gradient": "~13.0.2", "expo-linking": "~6.3.1", "expo-router": "~3.5.14", "expo-splash-screen": "~0.27.4", @@ -5496,12 +5498,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "license": "MIT", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -7036,6 +7037,14 @@ "expo": "bin/cli" } }, + "node_modules/expo-application": { + "version": "5.9.1", + "resolved": "https://registry.npmjs.org/expo-application/-/expo-application-5.9.1.tgz", + "integrity": "sha512-uAfLBNZNahnDZLRU41ZFmNSKtetHUT9Ua557/q189ua0AWV7pQjoVAx49E4953feuvqc9swtU3ScZ/hN1XO/FQ==", + "peerDependencies": { + "expo": "*" + } + }, "node_modules/expo-asset": { "version": "10.0.6", "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-10.0.6.tgz", @@ -7059,11 +7068,12 @@ } }, "node_modules/expo-constants": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-16.0.1.tgz", - "integrity": "sha512-s6aTHtglp926EsugWtxN7KnpSsE9FCEjb7CgEjQQ78Gpu4btj4wB+IXot2tlqNwqv+x7xFe5veoPGfJDGF/kVg==", + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-16.0.2.tgz", + "integrity": "sha512-9tNY3OVO0jfiMzl7ngb6IOyR5VFzNoN5OOazUWoeGfmMqVB5kltTemRvKraK9JRbBKIw+SOYLEmF0sEqgFZ6OQ==", "dependencies": { - "@expo/config": "~9.0.0-beta.0" + "@expo/config": "~9.0.0", + "@expo/env": "~0.3.0" }, "peerDependencies": { "expo": "*" @@ -7096,6 +7106,14 @@ "expo": "*" } }, + "node_modules/expo-linear-gradient": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/expo-linear-gradient/-/expo-linear-gradient-13.0.2.tgz", + "integrity": "sha512-EDcILUjRKu4P1rtWcwciN6CSyGtH7Bq4ll3oTRV7h3h8oSzSilH1g6z7kTAMlacPBKvMnkkWOGzW6KtgMKEiTg==", + "peerDependencies": { + "expo": "*" + } + }, "node_modules/expo-linking": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/expo-linking/-/expo-linking-6.3.1.tgz", @@ -7297,10 +7315,9 @@ "integrity": "sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==" }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "license": "MIT", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -8353,7 +8370,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -12680,7 +12696,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, diff --git a/mobile/package.json b/mobile/package.json index 423308a..c5b1791 100644 --- a/mobile/package.json +++ b/mobile/package.json @@ -23,7 +23,7 @@ "date-fns": "^3.6.0", "expo": "~51.0.8", "expo-clipboard": "~6.0.3", - "expo-constants": "~16.0.1", + "expo-constants": "~16.0.2", "expo-linking": "~6.3.1", "expo-router": "~3.5.14", "expo-splash-screen": "~0.27.4", @@ -44,7 +44,9 @@ "react-redux": "^9.1.0", "styled-components": "^6.1.8", "text-encoding": "^0.7.0", - "web-streams-polyfill": "^3.3.2" + "web-streams-polyfill": "^3.3.2", + "expo-application": "~5.9.1", + "expo-linear-gradient": "~13.0.2" }, "devDependencies": { "@babel/core": "^7.20.0",