From 923eb9abfbb9d54caffffb807b2fe1cd6f2705af Mon Sep 17 00:00:00 2001 From: requinard Date: Sun, 21 Aug 2022 11:25:38 +0200 Subject: [PATCH 1/6] return to app.json --- app.config.js | 83 ---------------------------------------- app.json | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+), 83 deletions(-) delete mode 100644 app.config.js create mode 100644 app.json diff --git a/app.config.js b/app.config.js deleted file mode 100644 index 61676a16..00000000 --- a/app.config.js +++ /dev/null @@ -1,83 +0,0 @@ -// eslint-disable-next-line no-undef -const env = process.env; - -module.exports = () => ({ - expo: { - runtimeVersion: { - policy: "appVersion", - }, - entryPoint: "./src/index.tsx", - name: "Eurofurence", - slug: "ef-app-react-native", - description: "Your one stop shop to the convention!", - owner: "eurofurence", - version: "3.0.0", - orientation: "default", - icon: "./assets/images/playstore.png", - userInterfaceStyle: "automatic", - scheme: "eurofurence", - splash: { - image: "./assets/images/playstore.png", - resizeMode: "contain", - backgroundColor: "#035451", - }, - updates: { - fallbackToCacheTimeout: 0, - }, - assetBundlePatterns: ["assets/**/*", "android/**/*"], - ios: { - supportsTablet: true, - }, - android: { - package: "org.eurofurence.connavigator", - googleServicesFile: "./assets/android/google-services.json", - splash: { - resizeMode: "native", - }, - adaptiveIcon: { - foregroundImage: "./assets/images/playstore.png", - backgroundColor: "#006459", - }, - intentFilters: [ - { - action: "VIEW", - autoVerify: false, - data: [ - { - scheme: "https", - host: "app.eurofurence.org", - pathPrefix: "/EF26/Web/", - }, - ], - category: ["BROWSABLE", "DEFAULT"], - }, - ], - permissions: ["INTERNET", "VIBRATE", "WRITE_EXTERNAL_STORAGE"], - }, - web: { - favicon: "./assets/images/playstore.png", - config: { - firebase: { - apiKey: "AIzaSyCF365l8zUac096MFPLUtbPE6sqH182G2Q", - authDomain: "eurofurence-de86f.firebaseapp.com", - databaseURL: "https://eurofurence-de86f.firebaseio.com", - projectId: "eurofurence-de86f", - storageBucket: "eurofurence-de86f.appspot.com", - messagingSenderId: "1003745003618", - appId: "1:1003745003618:web:6eca6a1ec8f5d5bfe9e93b", - measurementId: "G-83EP75M02N", - }, - }, - }, - plugins: [ - "sentry-expo", - [ - "expo-notifications", - { - icon: "./assets/images/notification.png", - color: "#006459", - }, - ], - ], - }, -}); diff --git a/app.json b/app.json new file mode 100644 index 00000000..f253cf3b --- /dev/null +++ b/app.json @@ -0,0 +1,102 @@ +{ + "expo": { + "runtimeVersion": { + "policy": "appVersion" + }, + "entryPoint": "./src/index.tsx", + "name": "Eurofurence", + "slug": "ef-app-react-native", + "description": "Your one stop shop to the convention!", + "owner": "eurofurence", + "version": "3.0.0", + "orientation": "default", + "icon": "./assets/images/playstore.png", + "userInterfaceStyle": "automatic", + "scheme": "eurofurence", + "splash": { + "image": "./assets/images/playstore.png", + "resizeMode": "contain", + "backgroundColor": "#035451" + }, + "updates": { + "fallbackToCacheTimeout": 0 + }, + "assetBundlePatterns": [ + "assets/**/*", + "android/**/*" + ], + "ios": { + "supportsTablet": true + }, + "android": { + "package": "org.eurofurence.connavigator", + "googleServicesFile": "./assets/android/google-services.json", + "splash": { + "resizeMode": "native" + }, + "adaptiveIcon": { + "foregroundImage": "./assets/images/playstore.png", + "backgroundColor": "#006459" + }, + "intentFilters": [ + { + "action": "VIEW", + "autoVerify": false, + "data": [ + { + "scheme": "https", + "host": "app.eurofurence.org", + "pathPrefix": "/EF26/Web/" + } + ], + "category": [ + "BROWSABLE", + "DEFAULT" + ] + } + ], + "permissions": [ + "INTERNET", + "VIBRATE", + "WRITE_EXTERNAL_STORAGE" + ] + }, + "web": { + "favicon": "./assets/images/playstore.png", + "config": { + "firebase": { + "apiKey": "AIzaSyCF365l8zUac096MFPLUtbPE6sqH182G2Q", + "authDomain": "eurofurence-de86f.firebaseapp.com", + "databaseURL": "https://eurofurence-de86f.firebaseio.com", + "projectId": "eurofurence-de86f", + "storageBucket": "eurofurence-de86f.appspot.com", + "messagingSenderId": "1003745003618", + "appId": "1:1003745003618:web:6eca6a1ec8f5d5bfe9e93b", + "measurementId": "G-83EP75M02N" + } + } + }, + "plugins": [ + "sentry-expo", + [ + "expo-notifications", + { + "icon": "./assets/images/notification.png", + "color": "#006459" + } + ] + ], + "hooks": { + "postPublish": [ + { + "file": "sentry-expo/upload-sourcemaps", + "config": { + "organization": "eurofurence", + "project": "ef-app_react-native", + "setCommits": true + } + } + ] + } + } +} From 38668158ba1c3592b084f70b40b48333b09bb693 Mon Sep 17 00:00:00 2001 From: requinard Date: Sun, 21 Aug 2022 11:58:40 +0200 Subject: [PATCH 2/6] add support for web builds --- .gitignore | 2 + package.json | 5 +++ src/context/NavigationProvider.tsx | 2 +- yarn.lock | 68 ++++++++++++++++++++++++++++-- 4 files changed, 73 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index dc9ffac2..75bc9dad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +web-build + .vscode/ package-lock.json diff --git a/package.json b/package.json index a1601665..e04b8f46 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,8 @@ "name": "ef-app_react-native", "version": "1.0.0", "main": "node_modules/expo/AppEntry.js", + "homepage": "http://eurofurence.github.io/ef-app_react-native/", + "contributors": [ { "name": "requinard" @@ -33,7 +35,9 @@ "test": "jest", "eas-build-post-install": "tsc --noEmit && yarn lint:translations && yarn lint:code", "bundle:android": "eas build --platform android --profile production", + "bundle:web": "expo export:web", "submit:android": "eas submit --platform android", + "submit:web": "gh-pages -d web-build", "local:android": "yarn tsc --noEmit && yarn lint && npx eas build --platform android --profile preview --local", "local:android:preview": "yarn tsc --noEmit && yarn lint && npx eas build --platform android --profile preview --local", "local:android:production": "yarn tsc --noEmit && yarn lint && npx eas build --platform android --profile production --local", @@ -114,6 +118,7 @@ "eslint-config-universe": "^11.0.0", "eslint-plugin-i18n-json": "^3.1.0", "eslint-plugin-testing-library": "^5.5.1", + "gh-pages": "^4.0.0", "jest": "^26.6.3", "jest-expo": "^46.0.0", "prettier": "^2.7.1", diff --git a/src/context/NavigationProvider.tsx b/src/context/NavigationProvider.tsx index 9ed1855e..29120caf 100644 --- a/src/context/NavigationProvider.tsx +++ b/src/context/NavigationProvider.tsx @@ -66,7 +66,7 @@ const linkingFrom = (days: RecordId[], tracks: RecordId[], rooms: RecordId[]): L // TODO: Use configuration constants here. // Return the composed linking object. return { - prefixes: [Linking.createURL(`/`), Linking.createURL(`/${conId}/Web/`), `https://app.eurofurence.org`], + prefixes: [Linking.createURL(`/`), Linking.createURL(`/${conId}/Web/`), `https://app.eurofurence.org`, "http://eurofurence.github.io/ef-app_react-native"], config: { initialRouteName: "Areas", screens: { diff --git a/yarn.lock b/yarn.lock index 4821f866..a29c1605 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5900,7 +5900,7 @@ __metadata: languageName: node linkType: hard -"async@npm:^2.6.2": +"async@npm:^2.6.1, async@npm:^2.6.2": version: 2.6.4 resolution: "async@npm:2.6.4" dependencies: @@ -7375,7 +7375,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.19.0, commander@npm:^2.20.0": +"commander@npm:^2.18.0, commander@npm:^2.19.0, commander@npm:^2.20.0": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e @@ -8718,6 +8718,7 @@ __metadata: expo-updates: ~0.14.4 expo-web-browser: ~11.0.0 firebase: ^9.9.1 + gh-pages: ^4.0.0 i18next: ^21.8.11 i18next-react-native-async-storage: ^1.0.4 intl-pluralrules: ^1.3.1 @@ -8794,6 +8795,13 @@ __metadata: languageName: node linkType: hard +"email-addresses@npm:^3.0.1": + version: 3.1.0 + resolution: "email-addresses@npm:3.1.0" + checksum: e911985f096fa0198019caee4a12685146f677738d8ae1ebe25419181a37930a15be15447abef3612bdc3b88f72aaae4fd2cf1a95669705e638ebcfea4a15047 + languageName: node + linkType: hard + "emittery@npm:^0.7.1": version: 0.7.2 resolution: "emittery@npm:0.7.2" @@ -9048,7 +9056,7 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^1.0.5": +"escape-string-regexp@npm:^1.0.2, escape-string-regexp@npm:^1.0.5": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 @@ -10192,6 +10200,24 @@ __metadata: languageName: node linkType: hard +"filename-reserved-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "filename-reserved-regex@npm:2.0.0" + checksum: 323a0020fd7f243238ffccab9d728cbc5f3a13c84b2c10e01efb09b8324561d7a51776be76f36603c734d4f69145c39a5d12492bf6142a28b50d7f90bd6190bc + languageName: node + linkType: hard + +"filenamify@npm:^4.3.0": + version: 4.3.0 + resolution: "filenamify@npm:4.3.0" + dependencies: + filename-reserved-regex: ^2.0.0 + strip-outer: ^1.0.1 + trim-repeated: ^1.0.0 + checksum: 5b71a7ff8e958c8621957e6fbf7872024126d3b5da50f59b1634af3343ba1a69d4cc15cfe4ca4bbfa7c959ad4d98614ee51e6f1d9fa7326eef8ceda2da8cd74e + languageName: node + linkType: hard + "filesize@npm:6.1.0": version: 6.1.0 resolution: "filesize@npm:6.1.0" @@ -10838,6 +10864,24 @@ __metadata: languageName: node linkType: hard +"gh-pages@npm:^4.0.0": + version: 4.0.0 + resolution: "gh-pages@npm:4.0.0" + dependencies: + async: ^2.6.1 + commander: ^2.18.0 + email-addresses: ^3.0.1 + filenamify: ^4.3.0 + find-cache-dir: ^3.3.1 + fs-extra: ^8.1.0 + globby: ^6.1.0 + bin: + gh-pages: bin/gh-pages.js + gh-pages-clean: bin/gh-pages-clean.js + checksum: 255648eb272104465586393be8a3112d928916a6b35b2b3ffc202c1e55b1c25b1e54e4b5fe83afbf1b1f8e7d37521c0d7b9c7b3db9ff899474db710581662154 + languageName: node + linkType: hard + "glob-parent@npm:^3.1.0": version: 3.1.0 resolution: "glob-parent@npm:3.1.0" @@ -19506,6 +19550,15 @@ __metadata: languageName: node linkType: hard +"strip-outer@npm:^1.0.1": + version: 1.0.1 + resolution: "strip-outer@npm:1.0.1" + dependencies: + escape-string-regexp: ^1.0.2 + checksum: f8d65d33ca2b49aabc66bb41d689dda7b8b9959d320e3a40a2ef4d7079ff2f67ffb72db43f179f48dbf9495c2e33742863feab7a584d180fa62505439162c191 + languageName: node + linkType: hard + "structured-headers@npm:^0.4.1": version: 0.4.1 resolution: "structured-headers@npm:0.4.1" @@ -20040,6 +20093,15 @@ __metadata: languageName: node linkType: hard +"trim-repeated@npm:^1.0.0": + version: 1.0.0 + resolution: "trim-repeated@npm:1.0.0" + dependencies: + escape-string-regexp: ^1.0.2 + checksum: e25c235305b82c43f1d64a67a71226c406b00281755e4c2c4f3b1d0b09c687a535dd3c4483327f949f28bb89dc400a0bc5e5b749054f4b99f49ebfe48ba36496 + languageName: node + linkType: hard + "ts-interface-checker@npm:^0.1.9": version: 0.1.13 resolution: "ts-interface-checker@npm:0.1.13" From a26ad9de3234d22c016fff70fc87ff5e7e2e387c Mon Sep 17 00:00:00 2001 From: requinard Date: Sun, 21 Aug 2022 18:21:36 +0200 Subject: [PATCH 3/6] return publish hook --- app.json | 1 + 1 file changed, 1 insertion(+) diff --git a/app.json b/app.json index f253cf3b..fe09c814 100644 --- a/app.json +++ b/app.json @@ -93,6 +93,7 @@ "config": { "organization": "eurofurence", "project": "ef-app_react-native", + "authToken": false, "setCommits": true } } From d231beb8c0188daead03e1f6048a8785e5c5243a Mon Sep 17 00:00:00 2001 From: requinard Date: Sun, 21 Aug 2022 18:55:24 +0200 Subject: [PATCH 4/6] add a theme picker to the settings closes #110 --- src/app/About.tsx | 18 ++++++---- src/app/Settings/ThemePicker.tsx | 60 +++++++++++++++++++++++++++++++ src/app/Settings/UserSettings.tsx | 4 +++ src/context/Theme.tsx | 34 +++++++++++++++++- src/i18n/translations.en.json | 7 ++++ src/store/settings.slice.tsx | 12 ++++--- 6 files changed, 123 insertions(+), 12 deletions(-) create mode 100644 src/app/Settings/ThemePicker.tsx diff --git a/src/app/About.tsx b/src/app/About.tsx index c713cdf8..085e3d31 100644 --- a/src/app/About.tsx +++ b/src/app/About.tsx @@ -13,7 +13,8 @@ import { Col } from "../components/Containers/Col"; import { Floater } from "../components/Containers/Floater"; import { Header } from "../components/Containers/Header"; import { Row } from "../components/Containers/Row"; -import { useAppSelector } from "../store"; +import { useAppDispatch, useAppSelector } from "../store"; +import { setTheme } from "../store/settings.slice"; import { appStyles } from "./AppStyles"; const extraThanksMarkdown = ` @@ -81,7 +82,7 @@ And Sentry helps us out with exception tracing. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.`; export const Credit: FC<{ uri: string; name: string; role: string; onPress?: () => void }> = ({ uri, name, role, onPress }) => ( - + - + @@ -105,6 +103,7 @@ export const AboutScreen = () => { const { t } = useTranslation("About"); const safe = useSafeAreaInsets(); const showHelpButtons = useAppSelector((state) => state.settingsSlice.showDevMenu ?? false); + const dispatch = useAppDispatch(); return (
{t("header")}
@@ -125,7 +124,12 @@ export const AboutScreen = () => {
- + dispatch(setTheme("requinard"))} + /> {extraThanksMarkdown} diff --git a/src/app/Settings/ThemePicker.tsx b/src/app/Settings/ThemePicker.tsx new file mode 100644 index 00000000..a5b01098 --- /dev/null +++ b/src/app/Settings/ThemePicker.tsx @@ -0,0 +1,60 @@ +import _ from "lodash"; +import React from "react"; +import { useTranslation } from "react-i18next"; +import { StyleSheet } from "react-native"; + +import { Label } from "../../components/Atoms/Label"; +import { Button } from "../../components/Containers/Button"; +import { Col } from "../../components/Containers/Col"; +import { Row } from "../../components/Containers/Row"; +import { useAppDispatch, useAppSelector } from "../../store"; +import { setTheme } from "../../store/settings.slice"; + +const useableThemes = [undefined, "light", "dark"]; +export const ThemePicker = () => { + const { t } = useTranslation("Settings", { keyPrefix: "theme" }); + const dispatch = useAppDispatch(); + const theme = useAppSelector((state) => state.settingsSlice.theme); + + return ( + + + + + + + {!useableThemes.includes(theme) && ( + + )} + + + + + ); +}; + +const styles = StyleSheet.create({ + selector: { + marginTop: 16, + }, + button: { + flexGrow: 1, + borderRadius: 0, + }, + left: { + borderBottomLeftRadius: 16, + borderTopLeftRadius: 16, + }, + right: { + borderTopRightRadius: 16, + borderBottomRightRadius: 16, + }, +}); diff --git a/src/app/Settings/UserSettings.tsx b/src/app/Settings/UserSettings.tsx index 81a7a073..3f9ebbaa 100644 --- a/src/app/Settings/UserSettings.tsx +++ b/src/app/Settings/UserSettings.tsx @@ -18,6 +18,7 @@ import { useAppDispatch, useAppSelector } from "../../store"; import { logout } from "../../store/authorization.slice"; import { setAnalytics, toggleDevMenu } from "../../store/settings.slice"; import { LoginForm } from "../MainMenu/PagerLogin"; +import { ThemePicker } from "./ThemePicker"; type Language = { code: Translations; @@ -71,6 +72,9 @@ export const UserSettings = () => { return (
+ + + & { primary: string; @@ -25,7 +28,12 @@ export type Theme = Record & { }; // Resolve from system selection. Later, menu entry done. -export const useThemeType = (): "light" | "dark" => useColorScheme() ?? "light"; +export const useThemeType = (): AppTheme => { + const userTheme = useAppSelector((state) => state.settingsSlice.theme, shallowEqual); + const systemTheme = useColorScheme(); + + return userTheme ? userTheme : systemTheme ? systemTheme : "light"; +}; /** * All theme definitions. @@ -75,8 +83,32 @@ const themes = { sponsorText: "#323034", marker: "#ff2f66", }, + requinard: { + primary: "#fff100", + secondary: "#dace00", + background: "#2b2b2b", + surface: "#414141", + inverted: "#b0b0b0", + text: "#e0dedb", + important: "#f1ede8", + invText: "#131313", + invImportant: "#000000", + warning: "#ee5e22", + notification: "#d91c52", + darken: "#04001440", + lighten: "#f7f7f7a0", + soften: "#f7f7f7a0", + white: "#ffffff", + superSponsor: "#5300ff", + superSponsorText: "#fff7f0", + sponsor: "#ffd700", + sponsorText: "#323034", + marker: "#ff2f66", + }, }; +export type AppTheme = keyof typeof themes; + export const useTheme = (): Theme => { // Use the selected theme type and resolve the values. const type = useThemeType(); diff --git a/src/i18n/translations.en.json b/src/i18n/translations.en.json index 04708e04..4149de4e 100644 --- a/src/i18n/translations.en.json +++ b/src/i18n/translations.en.json @@ -160,6 +160,13 @@ "synchronize": "Synchronize", "title": "Cache Stats" }, + "theme": { + "title": "Change the application theme", + "description": "Configure the way the app looks. When set to System it will follow the general system theme. By changing it you can keep the app in your preferred theme.", + "system": "System", + "light": "Light", + "dark": "Dark" + }, "changeLanguage": "Change language", "currentLanguage": "Your current language is English!", "dev_buttons": { diff --git a/src/store/settings.slice.tsx b/src/store/settings.slice.tsx index 701a5aa0..22f3c4bc 100644 --- a/src/store/settings.slice.tsx +++ b/src/store/settings.slice.tsx @@ -1,11 +1,14 @@ import { createSlice, PayloadAction } from "@reduxjs/toolkit"; +import { AppTheme } from "../context/Theme"; + type SettingsSliceState = { analytics: { enabled: boolean; prompted: boolean; }; showDevMenu?: boolean; + theme?: AppTheme; }; export const settingsSlice = createSlice({ @@ -26,11 +29,12 @@ export const settingsSlice = createSlice({ state.showDevMenu = action.payload; }, toggleDevMenu: (state, action: PayloadAction) => { - const newValue = action.payload !== undefined ? action.payload : !state.showDevMenu ?? true; - - state.showDevMenu = newValue; + state.showDevMenu = action.payload !== undefined ? action.payload : !state.showDevMenu ?? true; + }, + setTheme: (state, action: PayloadAction) => { + state.theme = action.payload; }, }, }); -export const { setAnalytics, showDevMenu, toggleDevMenu } = settingsSlice.actions; +export const { setAnalytics, showDevMenu, toggleDevMenu, setTheme } = settingsSlice.actions; From 9edc21076246d9b65a9daf4e988cd80b1a09f58e Mon Sep 17 00:00:00 2001 From: requinard Date: Sun, 21 Aug 2022 19:47:08 +0200 Subject: [PATCH 5/6] add easter eggs --- assets/audio/cheese.webm | Bin 0 -> 25527 bytes assets/audio/sheesh.webm | Bin 0 -> 49804 bytes package.json | 2 +- src/app/About.tsx | 27 +++++++++++++++++---------- yarn.lock | 12 ++++++++++++ 5 files changed, 30 insertions(+), 11 deletions(-) create mode 100644 assets/audio/cheese.webm create mode 100644 assets/audio/sheesh.webm diff --git a/assets/audio/cheese.webm b/assets/audio/cheese.webm new file mode 100644 index 0000000000000000000000000000000000000000..521e8f4cd1ff718a53cd89d880118110a27cbdbd GIT binary patch literal 25527 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 ?vmYGf0XVidT-q#V>STiy>=51x2+(X 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 Y8bJu*6@I=f&%gmM+yC{ix7LAGZK2?SVgLXD literal 0 HcmV?d00001 diff --git a/assets/audio/sheesh.webm b/assets/audio/sheesh.webm new file mode 100644 index 0000000000000000000000000000000000000000..015594e5f1271f0e0fb6e270fe9c398913efa248 GIT binary patch literal 49804 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 void }> = ({ uri, name, role, onPress }) => ( - +export const Credit: FC<{ uri: string; name: string; role: string; onEasterEgg?: () => void }> = ({ uri, name, role, onEasterEgg }) => ( + { const safe = useSafeAreaInsets(); const showHelpButtons = useAppSelector((state) => state.settingsSlice.showDevMenu ?? false); const dispatch = useAppDispatch(); + + const requinardEgg = useCallback(async () => { + const { sound } = await Sound.createAsync(require("../../assets/audio/cheese.webm")); + await sound.playAsync(); + dispatch(setTheme("requinard")); + }, [dispatch]); + + const pazuzuEgg = useCallback(async () => { + const { sound } = await Sound.createAsync(require("../../assets/audio/sheesh.webm")); + await sound.playAsync(); + }, []); return (
{t("header")}
@@ -123,13 +135,8 @@ export const AboutScreen = () => {
- - dispatch(setTheme("requinard"))} - /> + + {extraThanksMarkdown} diff --git a/yarn.lock b/yarn.lock index a29c1605..03ff049a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8706,6 +8706,7 @@ __metadata: eslint-plugin-testing-library: ^5.5.1 expo: ^46.0.0 expo-application: ~4.2.2 + expo-av: ~12.0.4 expo-checkbox: ~2.2.0 expo-constants: ~13.2.3 expo-device: ~4.3.0 @@ -9612,6 +9613,17 @@ __metadata: languageName: node linkType: hard +"expo-av@npm:~12.0.4": + version: 12.0.4 + resolution: "expo-av@npm:12.0.4" + dependencies: + "@expo/config-plugins": ~5.0.0 + peerDependencies: + expo: "*" + checksum: 5d985ab18159f45e1a2857af8b671285d940c457797eef489888c019fb1a760e1dcc01ea7eaff6f06cd80d4d9b17f2573568cd4c01799e6f054df76f89e312ec + languageName: node + linkType: hard + "expo-checkbox@npm:~2.2.0": version: 2.2.0 resolution: "expo-checkbox@npm:2.2.0" From a33ec53f8b4d9703f0232a9bd549693e6c4a27df Mon Sep 17 00:00:00 2001 From: requinard Date: Sun, 21 Aug 2022 19:53:14 +0200 Subject: [PATCH 6/6] fix translation linting --- src/i18n/translations.en.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/i18n/translations.en.json b/src/i18n/translations.en.json index 9d73f2dc..ccc415c7 100644 --- a/src/i18n/translations.en.json +++ b/src/i18n/translations.en.json @@ -161,13 +161,6 @@ "synchronize": "Synchronize", "title": "Cache Stats" }, - "theme": { - "title": "Change the application theme", - "description": "Configure the way the app looks. When set to System it will follow the general system theme. By changing it you can keep the app in your preferred theme.", - "system": "System", - "light": "Light", - "dark": "Dark" - }, "changeLanguage": "Change language", "currentLanguage": "Your current language is English!", "dev_buttons": { @@ -222,6 +215,13 @@ "title": "Remote Messages" }, "settingsSection": "Settings", + "theme": { + "dark": "Dark", + "description": "Configure the way the app looks. When set to System it will follow the general system theme. By changing it you can keep the app in your preferred theme.", + "light": "Light", + "system": "System", + "title": "Change the application theme" + }, "timeTravel": "Show time travel settings." }, "TimeTravel": {