Skip to content

Commit

Permalink
Adds per-app appearance setting (#96)
Browse files Browse the repository at this point in the history
  • Loading branch information
Robert27 authored Jun 27, 2024
1 parent edc6359 commit a7e6a4a
Show file tree
Hide file tree
Showing 45 changed files with 967 additions and 861 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
- name: Install modules
run: npm install
- name: Run ESLint
Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ android {
applicationId 'app.neuland'
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 83
versionName "0.8.1"
versionCode 84
versionName "0.8.2"
}
signingConfigs {
debug {
Expand Down
3 changes: 2 additions & 1 deletion app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ module.exports = {
CFBundleAllowMixedLocalizations: true,
CFBundleLocalizations: ['en', 'de'],
CFBundleDevelopmentRegion: 'en',
UIViewControllerBasedStatusBarAppearance: true,
},
splash: {
image: './src/assets/splash/splashLight.png',
Expand All @@ -42,7 +43,7 @@ module.exports = {
android: {
package: 'app.neuland',
userInterfaceStyle: 'automatic',
versionCode: 83,
versionCode: 84,
splash: {
image: './src/assets/splash/splashLight.png',
resizeMode: 'contain',
Expand Down
Binary file modified bun.lockb
Binary file not shown.
53 changes: 46 additions & 7 deletions ios/NeulandNext.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,8 @@
416B75F9501048ACA40DB650 /* Remove signature files (Xcode 15 workaround) */,
EF820F10D3E648A28C78DECD /* Remove signature files (Xcode 15 workaround) */,
1515044FA4184334AD7857BB /* Remove signature files (Xcode 15 workaround) */,
8CFEE477FDEE49A683B8FAB4 /* Remove signature files (Xcode 15 workaround) */,
C9F03030C79E4397B5A02662 /* Remove signature files (Xcode 15 workaround) */,
);
buildRules = (
);
Expand Down Expand Up @@ -336,6 +338,20 @@
shellPath = /bin/sh;
shellScript = "/bin/sh `${NODE_BINARY:-node} --print \"require('path').dirname(require.resolve('@sentry/react-native/package.json')) + '/scripts/sentry-xcode-debug-files.sh'\"`";
};
8CFEE477FDEE49A683B8FAB4 /* Remove signature files (Xcode 15 workaround) */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Remove signature files (Xcode 15 workaround)";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if [ \"$XCODE_VERSION_MAJOR\" = \"1500\" ]; then\n echo \"Remove signature files (Xcode 15 workaround)\";\n rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\";\n fi";
};
AD913B7B949DB5BB3812201A /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
Expand Down Expand Up @@ -468,6 +484,23 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-NeulandNext/Pods-NeulandNext-resources.sh\"\n";
showEnvVarsInLog = 0;
};
C9F03030C79E4397B5A02662 /* Remove signature files (Xcode 15 workaround) */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
name = "Remove signature files (Xcode 15 workaround)";
inputPaths = (
);
outputPaths = (
);
shellPath = /bin/sh;
shellScript = "if [ \"$XCODE_VERSION_MAJOR\" = \"1500\" ]; then
echo \"Remove signature files (Xcode 15 workaround)\";
rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\";
fi";
};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
Expand Down Expand Up @@ -522,15 +555,15 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.8.1;
MARKETING_VERSION = 0.8.2;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-lc++",
);
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
PRODUCT_BUNDLE_IDENTIFIER = "de.neuland-ingolstadt.neuland-app";
PRODUCT_NAME = NeulandNext;
PRODUCT_NAME = "NeulandNext";
SWIFT_OBJC_BRIDGING_HEADER = "NeulandNext/NeulandNext-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
Expand All @@ -551,23 +584,23 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = FSXB76X6V2;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64";
INFOPLIST_FILE = NeulandNext/Info.plist;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.8.1;
MARKETING_VERSION = 0.8.2;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-lc++",
);
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = "de.neuland-ingolstadt.neuland-app";
PRODUCT_NAME = NeulandNext;
PRODUCT_NAME = "NeulandNext";
SWIFT_OBJC_BRIDGING_HEADER = "NeulandNext/NeulandNext-Bridging-Header.h";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
Expand Down Expand Up @@ -634,7 +667,10 @@
LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\"";
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "$(inherited) ";
OTHER_LDFLAGS = (
"$(inherited)",
" ",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
USE_HERMES = true;
Expand Down Expand Up @@ -692,7 +728,10 @@
);
LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\"";
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_LDFLAGS = "$(inherited) ";
OTHER_LDFLAGS = (
"$(inherited)",
" ",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
USE_HERMES = true;
Expand Down
13 changes: 10 additions & 3 deletions ios/NeulandNext/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Allow $(PRODUCT_NAME) to access your location</key>
<array>
<string>en</string>
<string>de</string>
</array>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>CFBundleAllowMixedLocalizations</key>
Expand Down Expand Up @@ -76,7 +81,7 @@
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>Allow $(PRODUCT_NAME) to access your location</key>
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>de</string>
Expand All @@ -86,7 +91,7 @@
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>0.8.1</string>
<string>0.8.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
Expand Down Expand Up @@ -135,6 +140,8 @@
<string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string>
</array>
<key>RCTAsyncStorageExcludeFromBackup</key>
<false/>
Expand Down Expand Up @@ -167,6 +174,6 @@
<key>UIUserInterfaceStyle</key>
<string>Automatic</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<true/>
</dict>
</plist>
4 changes: 2 additions & 2 deletions ios/NeulandNext/de.lproj/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>0.8.1</string>
<string>0.8.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
Expand Down Expand Up @@ -167,6 +167,6 @@
<key>UIUserInterfaceStyle</key>
<string>Automatic</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<true/>
</dict>
</plist>
4 changes: 2 additions & 2 deletions ios/NeulandNext/en.lproj/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>0.8.1</string>
<string>0.8.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
Expand Down Expand Up @@ -167,6 +167,6 @@
<key>UIUserInterfaceStyle</key>
<string>Automatic</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<true/>
</dict>
</plist>
11 changes: 3 additions & 8 deletions ios/TestFlight/WhatToTest.de_DE.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
Was ist neu?
- neues Karten-Design mit Darkmode
- Vorschlag für die nächste Vorlesung auf der Karte
- Speiseplan der Mensa Neuburg
- mehr Details zu CL-Veranstaltungen
- neues Standard-App-Icon
- neues Easter Egg zum Freischalten des Retro-App-Icons
- Fehlerbehebungen und Verbesserungen
- Wähle das App Design unabhängig von deinem iOS Design (hell oder dunkel)
- Fehlerbehebungen und Verbesserungen der Karte
- Performance Verbesserungen
11 changes: 3 additions & 8 deletions ios/TestFlight/WhatToTest.en-US.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
What's new?
- new map design with darkmode support
- next lecture suggestion on map
- Neuburg canteen meal plan
- more CL event details
- new default app icon
- new easter egg to unlock retro app icon
- bug fixes and improvements
- choose the app design independently of your iOS design (light or dark)
- bug fixes and improvements to the map
- performance improvements
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "0.8.1",
"version": "0.8.2",
"name": "neuland",
"main": "expo-router/entry",
"homepage": "https://github.com/neuland-ingolstadt/neuland.app-native",
Expand Down
1 change: 1 addition & 0 deletions src/app/(flow)/onboarding.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ export default function OnboardingScreen(): JSX.Element {
// @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'.
?.goToPage(3, false)
}
controlStatusBar={false}
showDone={false}
nextLabel={t('onboarding.navigation.next')}
skipLabel={t('onboarding.navigation.skip')}
Expand Down
4 changes: 1 addition & 3 deletions src/app/(flow)/whatsnew.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@ import changelogData from '@/data/changelog.json'
import { type LanguageKey } from '@/localization/i18n'
import { type Changelog } from '@/types/data'
import { convertToMajorMinorPatch } from '@/utils/app-utils'
import { getContrastColor, getStatusBarStyle } from '@/utils/ui-utils'
import { getContrastColor } from '@/utils/ui-utils'
import { useTheme } from '@react-navigation/native'
import { router } from 'expo-router'
import { StatusBar } from 'expo-status-bar'
import React from 'react'
import { useTranslation } from 'react-i18next'
import { Pressable, StyleSheet, Text, View } from 'react-native'
Expand All @@ -23,7 +22,6 @@ export default function OnboardingScreen(): JSX.Element {
const { analyticsAllowed, toggleAnalytics } = React.useContext(FlowContext)
return (
<View style={styles.page}>
<StatusBar style={getStatusBarStyle()} />
<View style={styles.titleBox}>
<Text
style={[
Expand Down
3 changes: 0 additions & 3 deletions src/app/(food)/meal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,10 @@ import { type FormListSections } from '@/types/components'
import { type Meal } from '@/types/neuland-api'
import { formatPrice, mealName } from '@/utils/food-utils'
import { PAGE_PADDING } from '@/utils/style-utils'
import { getStatusBarStyle } from '@/utils/ui-utils'
import { trackEvent } from '@aptabase/react-native'
import { useTheme } from '@react-navigation/native'
import { Buffer } from 'buffer'
import { router, useLocalSearchParams } from 'expo-router'
import { StatusBar } from 'expo-status-bar'
import React, { useContext } from 'react'
import { useTranslation } from 'react-i18next'
import {
Expand Down Expand Up @@ -367,7 +365,6 @@ export default function FoodDetail(): JSX.Element {
: [...priceSection, ...variantsSection, ...aboutSection]
return (
<>
<StatusBar style={getStatusBarStyle()} />
<ScrollView>
<View
style={[
Expand Down
3 changes: 0 additions & 3 deletions src/app/(pages)/event.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import { trackEvent } from '@aptabase/react-native'
import { useTheme } from '@react-navigation/native'
import { Buffer } from 'buffer'
import { useLocalSearchParams } from 'expo-router'
import { StatusBar } from 'expo-status-bar'
import React from 'react'
import { useTranslation } from 'react-i18next'
import {
Expand Down Expand Up @@ -150,8 +149,6 @@ export default function ClEventDetail(): JSX.Element {
style={styles.page}
contentContainerStyle={styles.container}
>
<StatusBar style="light" animated={true} hidden={false} />

<View
style={[
styles.titleContainer,
Expand Down
2 changes: 0 additions & 2 deletions src/app/(pages)/exam.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import { MODAL_BOTTOM_MARGIN, PAGE_PADDING } from '@/utils/style-utils'
import { useTheme } from '@react-navigation/native'
import { Buffer } from 'buffer'
import { useLocalSearchParams } from 'expo-router'
import { StatusBar } from 'expo-status-bar'
import React from 'react'
import { useTranslation } from 'react-i18next'
import { ScrollView, StyleSheet, Text, View } from 'react-native'
Expand Down Expand Up @@ -91,7 +90,6 @@ export default function ExamDetail(): JSX.Element {
style={styles.page}
contentContainerStyle={styles.container}
>
<StatusBar style="light" animated={true} hidden={false} />
<View
style={[
styles.titleContainer,
Expand Down
3 changes: 0 additions & 3 deletions src/app/(pages)/lecturer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@ import { RouteParamsContext } from '@/components/contexts'
import { type FormListSections } from '@/types/components'
import { type NormalizedLecturer } from '@/types/utils'
import { PAGE_PADDING } from '@/utils/style-utils'
import { getStatusBarStyle } from '@/utils/ui-utils'
import { useTheme } from '@react-navigation/native'
import { router, useLocalSearchParams } from 'expo-router'
import { StatusBar } from 'expo-status-bar'
import React, { useContext } from 'react'
import { useTranslation } from 'react-i18next'
import { Linking, ScrollView, StyleSheet, Text, View } from 'react-native'
Expand Down Expand Up @@ -123,7 +121,6 @@ export default function LecturerDetail(): JSX.Element {

return (
<ScrollView style={styles.page}>
<StatusBar style={getStatusBarStyle()} />
<View
style={[
styles.titleContainer,
Expand Down
Loading

0 comments on commit a7e6a4a

Please sign in to comment.