Fix andorid
This commit is contained in:
7
.qwen/settings.json.orig
Normal file
7
.qwen/settings.json.orig
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"permissions": {
|
||||||
|
"allow": [
|
||||||
|
"Bash(git add *)"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -30,7 +30,7 @@ export default function AppHeader({
|
|||||||
? isIOS26Plus
|
? isIOS26Plus
|
||||||
? insets.top - 10
|
? insets.top - 10
|
||||||
: insets.top
|
: insets.top
|
||||||
: 10;
|
: 40;
|
||||||
|
|
||||||
const paddingBottom = Platform.OS === "ios" ? 8 : 13;
|
const paddingBottom = Platform.OS === "ios" ? 8 : 13;
|
||||||
|
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ const NewWrapper = (props: NewWrapperProps) => {
|
|||||||
style={{ backgroundColor: MainColor.darkblue }}
|
style={{ backgroundColor: MainColor.darkblue }}
|
||||||
>
|
>
|
||||||
{footerComponent}
|
{footerComponent}
|
||||||
</SafeAreaView>
|
</SafeAreaView>
|
||||||
</View>
|
</View>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|||||||
@@ -203,6 +203,10 @@
|
|||||||
A6E85C04CEFE4EB1BEC42A8F /* Remove signature files (Xcode workaround) */,
|
A6E85C04CEFE4EB1BEC42A8F /* Remove signature files (Xcode workaround) */,
|
||||||
90185735FF1241C998928089 /* Remove signature files (Xcode workaround) */,
|
90185735FF1241C998928089 /* Remove signature files (Xcode workaround) */,
|
||||||
7FC9CE1604F2440EBA9E61D6 /* Remove signature files (Xcode workaround) */,
|
7FC9CE1604F2440EBA9E61D6 /* Remove signature files (Xcode workaround) */,
|
||||||
|
3D825348A9EE47AEB9FEB9FC /* Remove signature files (Xcode workaround) */,
|
||||||
|
F18AFF842FD14072824B885B /* Remove signature files (Xcode workaround) */,
|
||||||
|
CEB288FB251945499C04360F /* Remove signature files (Xcode workaround) */,
|
||||||
|
EE74CCF78BB449818616D056 /* Remove signature files (Xcode workaround) */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@@ -1355,6 +1359,74 @@
|
|||||||
rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\";
|
rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\";
|
||||||
";
|
";
|
||||||
};
|
};
|
||||||
|
3D825348A9EE47AEB9FEB9FC /* Remove signature files (Xcode workaround) */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
name = "Remove signature files (Xcode workaround)";
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "
|
||||||
|
echo \"Remove signature files (Xcode workaround)\";
|
||||||
|
rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\";
|
||||||
|
";
|
||||||
|
};
|
||||||
|
F18AFF842FD14072824B885B /* Remove signature files (Xcode workaround) */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
name = "Remove signature files (Xcode workaround)";
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "
|
||||||
|
echo \"Remove signature files (Xcode workaround)\";
|
||||||
|
rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\";
|
||||||
|
";
|
||||||
|
};
|
||||||
|
CEB288FB251945499C04360F /* Remove signature files (Xcode workaround) */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
name = "Remove signature files (Xcode workaround)";
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "
|
||||||
|
echo \"Remove signature files (Xcode workaround)\";
|
||||||
|
rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\";
|
||||||
|
";
|
||||||
|
};
|
||||||
|
EE74CCF78BB449818616D056 /* Remove signature files (Xcode workaround) */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
name = "Remove signature files (Xcode workaround)";
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "
|
||||||
|
echo \"Remove signature files (Xcode workaround)\";
|
||||||
|
rm -rf \"$CONFIGURATION_BUILD_DIR/MapLibre.xcframework-ios.signature\";
|
||||||
|
";
|
||||||
|
};
|
||||||
/* End PBXShellScriptBuildPhase section */
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
|||||||
@@ -33,7 +33,10 @@ export function EventDetailQRCode({
|
|||||||
const deepLinkURL = `${BASE_URL}/event/${id}/confirmation?userId=${userId}`;
|
const deepLinkURL = `${BASE_URL}/event/${id}/confirmation?userId=${userId}`;
|
||||||
|
|
||||||
// Toggle antara HTTPS link dan custom scheme
|
// Toggle antara HTTPS link dan custom scheme
|
||||||
const qrValue = useHttpsLink ? httpsLink : deepLinkURL;
|
// const qrValue = useHttpsLink ? httpsLink : deepLinkURL;
|
||||||
|
const qrValue = deepLinkURL;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<BaseBox>
|
<BaseBox>
|
||||||
@@ -46,7 +49,7 @@ export function EventDetailQRCode({
|
|||||||
{qrValue}
|
{qrValue}
|
||||||
</TextCustom>
|
</TextCustom>
|
||||||
<Spacing />
|
<Spacing />
|
||||||
<StackCustom direction="row" gap="sm">
|
{/* <StackCustom direction="row" gap="sm">
|
||||||
<ButtonCustom
|
<ButtonCustom
|
||||||
onPress={() => setUseHttpsLink(true)}
|
onPress={() => setUseHttpsLink(true)}
|
||||||
backgroundColor={useHttpsLink ? MainColor.yellow : "transparent"}
|
backgroundColor={useHttpsLink ? MainColor.yellow : "transparent"}
|
||||||
@@ -69,13 +72,13 @@ export function EventDetailQRCode({
|
|||||||
>
|
>
|
||||||
Custom Scheme
|
Custom Scheme
|
||||||
</ButtonCustom>
|
</ButtonCustom>
|
||||||
</StackCustom>
|
</StackCustom> */}
|
||||||
<Spacing />
|
{/* <Spacing />
|
||||||
<TextCustom color="gray" align="center" size={"small"}>
|
<TextCustom color="gray" align="center" size={"small"}>
|
||||||
{useHttpsLink
|
{useHttpsLink
|
||||||
? "✅ Testing Universal Links/App Links (butuh .well-known config)"
|
? "✅ Testing Universal Links/App Links (butuh .well-known config)"
|
||||||
: "🔧 Testing langsung (tanpa domain verification)"}
|
: "🔧 Testing langsung (tanpa domain verification)"}
|
||||||
</TextCustom>
|
</TextCustom> */}
|
||||||
</BaseBox>
|
</BaseBox>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,13 @@ import { openBrowser } from "@/utils/openBrower";
|
|||||||
import versionBadge from "@/utils/viersionBadge";
|
import versionBadge from "@/utils/viersionBadge";
|
||||||
import { Redirect } from "expo-router";
|
import { Redirect } from "expo-router";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { KeyboardAvoidingView, Platform, RefreshControl, Text, View } from "react-native";
|
import {
|
||||||
|
KeyboardAvoidingView,
|
||||||
|
Platform,
|
||||||
|
RefreshControl,
|
||||||
|
Text,
|
||||||
|
View,
|
||||||
|
} from "react-native";
|
||||||
import { parsePhoneNumber } from "libphonenumber-js";
|
import { parsePhoneNumber } from "libphonenumber-js";
|
||||||
import Toast from "react-native-toast-message";
|
import Toast from "react-native-toast-message";
|
||||||
import EULASection from "./EULASection";
|
import EULASection from "./EULASection";
|
||||||
@@ -19,7 +25,8 @@ import EULASection from "./EULASection";
|
|||||||
export default function LoginView() {
|
export default function LoginView() {
|
||||||
const url = BASE_URL;
|
const url = BASE_URL;
|
||||||
const [version, setVersion] = useState<string>("");
|
const [version, setVersion] = useState<string>("");
|
||||||
const [selectedCountry, setSelectedCountry] = useState<CountryData>(DEFAULT_COUNTRY);
|
const [selectedCountry, setSelectedCountry] =
|
||||||
|
useState<CountryData>(DEFAULT_COUNTRY);
|
||||||
const [phoneNumber, setPhoneNumber] = useState<string>("");
|
const [phoneNumber, setPhoneNumber] = useState<string>("");
|
||||||
const [loading, setLoading] = useState<boolean>(false);
|
const [loading, setLoading] = useState<boolean>(false);
|
||||||
const [refreshing, setRefreshing] = useState<boolean>(false);
|
const [refreshing, setRefreshing] = useState<boolean>(false);
|
||||||
@@ -160,19 +167,21 @@ export default function LoginView() {
|
|||||||
<Spacing height={5} />
|
<Spacing height={5} />
|
||||||
</View>
|
</View>
|
||||||
<Spacing height={50} />
|
<Spacing height={50} />
|
||||||
<Text
|
{version && (
|
||||||
style={{
|
<Text
|
||||||
position: "absolute",
|
style={{
|
||||||
bottom: 35,
|
position: "absolute",
|
||||||
right: 50,
|
bottom: 35,
|
||||||
fontSize: 10,
|
right: 50,
|
||||||
fontWeight: "thin",
|
fontSize: 10,
|
||||||
fontStyle: "italic",
|
fontWeight: "thin",
|
||||||
color: MainColor.white_gray,
|
fontStyle: "italic",
|
||||||
}}
|
color: MainColor.white_gray,
|
||||||
>
|
}}
|
||||||
{version} | powered by muku.id
|
>
|
||||||
</Text>
|
powered by muku.id
|
||||||
|
</Text>
|
||||||
|
)}
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
<Spacing height={20} />
|
<Spacing height={20} />
|
||||||
|
|||||||
@@ -1,15 +1,17 @@
|
|||||||
import { ClickableCustom, TextCustom } from "@/components";
|
import { CenterCustom, ClickableCustom, TextCustom } from "@/components";
|
||||||
import Spacing from "@/components/_ShareComponent/Spacing";
|
import Spacing from "@/components/_ShareComponent/Spacing";
|
||||||
import { router } from "expo-router";
|
import { router } from "expo-router";
|
||||||
import { View } from "react-native";
|
import { View } from "react-native";
|
||||||
import Icon from "react-native-vector-icons/FontAwesome";
|
import Icon from "react-native-vector-icons/FontAwesome";
|
||||||
import { stylesHome } from "./homeViewStyle";
|
import { stylesHome } from "./homeViewStyle";
|
||||||
|
import _ from "lodash";
|
||||||
|
|
||||||
export default function Home_BottomFeatureSection({
|
export default function Home_BottomFeatureSection({
|
||||||
listData,
|
listData,
|
||||||
}: {
|
}: {
|
||||||
listData: any[] | null;
|
listData: any[] | null;
|
||||||
}) {
|
}) {
|
||||||
|
console.log("listData", JSON.stringify(listData, null, 2));
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<ClickableCustom onPress={() => router.push("/job")}>
|
<ClickableCustom onPress={() => router.push("/job")}>
|
||||||
@@ -24,17 +26,23 @@ export default function Home_BottomFeatureSection({
|
|||||||
|
|
||||||
<View style={stylesHome.vacancyList}>
|
<View style={stylesHome.vacancyList}>
|
||||||
{/* Vacancy Item 1 */}
|
{/* Vacancy Item 1 */}
|
||||||
{listData?.map((item: any, index: number) => (
|
{_.isEmpty(listData) ? (
|
||||||
<View style={stylesHome.vacancyItem} key={index}>
|
<CenterCustom style={{ paddingBlock: 50 }}>
|
||||||
<View style={stylesHome.vacancyDetails}>
|
<TextCustom>Lowongan pekerjaan belum tersedia</TextCustom>
|
||||||
<TextCustom bold color="yellow" truncate size="large">
|
</CenterCustom>
|
||||||
{item.title}
|
) : (
|
||||||
</TextCustom>
|
listData?.map((item: any, index: number) => (
|
||||||
<Spacing height={5} />
|
<View style={stylesHome.vacancyItem} key={index}>
|
||||||
<TextCustom truncate={2}>{item.deskripsi}</TextCustom>
|
<View style={stylesHome.vacancyDetails}>
|
||||||
|
<TextCustom bold color="yellow" truncate size="large">
|
||||||
|
{item.title}
|
||||||
|
</TextCustom>
|
||||||
|
<Spacing height={5} />
|
||||||
|
<TextCustom truncate={2}>{item.deskripsi}</TextCustom>
|
||||||
|
</View>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
))
|
||||||
))}
|
)}
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
</ClickableCustom>
|
</ClickableCustom>
|
||||||
|
|||||||
Reference in New Issue
Block a user