Skip to content

Commit

Permalink
v2.12.0 (#46)
Browse files Browse the repository at this point in the history
  • Loading branch information
putuadityabayu committed Oct 10, 2021
1 parent ccffada commit 76261a5
Show file tree
Hide file tree
Showing 110 changed files with 2,597 additions and 3,028 deletions.
8 changes: 4 additions & 4 deletions activity/BaseProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as eva from '@eva-design/eva'
import {ApplicationProvider, IconRegistry} from '@ui-kitten/components'
import {EvaIconsPack} from '@ui-kitten/eva-icons'
import {useColorScheme} from 'react-native'
import Localization from '@pn/module/Localization'
import Portalnesia from '@portalnesia/react-native-core'
import i18n from 'i18n-js'
import AsyncStorage from '@react-native-async-storage/async-storage'
import {default as en_locale} from '@pn/locale/en.json'
Expand Down Expand Up @@ -57,16 +57,16 @@ function BaseProvider({children}: {children: React.ReactNode}) {
const lng = lang === 'id' ? "id-ID" : "en-US";
i18n.locale =lng;
} else {
i18n.locale = Localization.getLocales()[0].languageTag;
i18n.locale = Portalnesia.Core.getLocales()[0].languageTag;
}
forceUpdate();
}

onLocalizationChange();
Localization.addEventListener('localizationChange',onLocalizationChange)
Portalnesia.Core.addEventListener('localizationChange',onLocalizationChange)

return ()=>{
Localization.removeEventListener('localizationChange',onLocalizationChange)
Portalnesia.Core.removeEventListener('localizationChange',onLocalizationChange)
}
},[lang])

Expand Down
8 changes: 4 additions & 4 deletions activity/auth/AuthProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import {MaterialIconsPack} from '../../components/utils/MaterialIconsPack'
import i18n from 'i18n-js'
import {AuthContext} from '../../provider/Context'
import useLogin from '@pn/utils/Login'
import Localization from '@pn/module/Localization'
import Portalnesia from '@portalnesia/react-native-core'
import useForceUpdate from '@pn/utils/useFoceUpdate'
import {default as en_locale} from '@pn/locale/en.json'
import {default as id_locale} from '@pn/locale/id.json'
Expand Down Expand Up @@ -186,16 +186,16 @@ const AuthProviderFunc = (props) => {
const lng = context.lang === 'id' ? "id-ID" : "en-US";
i18n.locale =lng;
} else {
i18n.locale = Localization.getLocales()[0].languageTag;
i18n.locale = Portalnesia.Core.getLocales()[0].languageTag;
}
forceUpdate();
}

onLocalizationChange();
Localization.addEventListener('localizationChange',onLocalizationChange)
Portalnesia.Core.addEventListener('localizationChange',onLocalizationChange)

return ()=>{
Localization.removeEventListener('localizationChange',onLocalizationChange)
Portalnesia.Core.removeEventListener('localizationChange',onLocalizationChange)
}
},[context.lang])

Expand Down
74 changes: 65 additions & 9 deletions activity/share/ShareActivity.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,14 @@ import { createStackNavigator,TransitionPresets } from '@react-navigation/stack'
import TopNavigationAction from '@pn/components/navigation/TopAction'
import TopNav from '@pn/components/navigation/TopNav'
import BaseActivity from '../BaseActivity'
import Pressable from '@pn/components/global/Pressable';
import Backdrop from '@pn/components/global/Backdrop';
import {ImageFull as Image} from '@pn/components/global/Image';
import { isTwitterURL, isURL } from '@pn/utils/Main';
import { isTwitterURL, isURL, extractMeta } from '@portalnesia/utils';
import TopAction from '@pn/components/navigation/TopAction'
import {Portal} from'@gorhom/portal'
import { Modalize } from 'react-native-modalize';
import useAPI from '@pn/utils/API'
import Recaptcha from '@pn/components/global/Recaptcha'

const CloseIcon=(props)=>(
<Icon {...props} name='close' />
Expand Down Expand Up @@ -113,6 +115,11 @@ const ShareText=React.memo(({data,user,token,menu,onCloseMenu})=>{
})

const ShareImage=React.memo(({data,user,token,menu,onCloseMenu})=>{
const {PNpost,cancelPost} = useAPI();
const [loading,setLoading] = React.useState(false);
const [progress,setProgress] = React.useState(0);
const captchaRef = React.useRef(null);

const action = React.useMemo(()=>{
const dt = [{
text:"Images Checker",
Expand All @@ -124,9 +131,45 @@ const ShareImage=React.memo(({data,user,token,menu,onCloseMenu})=>{
return dt;
},[token])

const handleChangeProfile=React.useCallback((data)=>{
ToastAndroid.show("Under Maintenance",ToastAndroid.LONG);
},[])
const handleChangeProfile=React.useCallback(async(image)=>{
setProgress(0);
setLoading(true);
try {
const opt={
headers:{
'Content-Type':'multipart/form-data'
},
onUploadProgress:function(progEvent){
const complete=Math.round((progEvent.loaded * 100) / progEvent.total);
setProgress(complete);
}
}
const form = new FormData();
const {name,match} = extractMeta(image);

form.append('image',{uri:image,name,type:`image/${match[1]}`});
form.append('image_name',name);
const recaptcha = await captchaRef.current.getToken();
form.append('recaptcha',recaptcha);
console.log(user,user?.username)
const res = await PNpost(`/user/${user?.username}/edit`,form,opt,true,false)
if(!Boolean(res?.error)) {
ShareModule.dismiss();
}
} catch(e) {
console.log(e);
ToastAndroid.show(e?.message||i18n.t("errors.general"),ToastAndroid.LONG);
} finally {
setProgress(0)
setLoading(false);
}
},[PNpost,user])

const cancelRequest=React.useCallback(()=>{
cancelPost();
setProgress(0)
setLoading(false);
},[cancelPost])

const onPress=React.useCallback(async(item)=>{
if(!item?.key) return ShareModule.continueInApp(data?.mimeType,data?.data,{url: item.url,...item?.extraData});
Expand All @@ -153,6 +196,13 @@ const ShareImage=React.memo(({data,user,token,menu,onCloseMenu})=>{
</Lay>
</Lay>
<ModalMenu action={action} onCloseMenu={onCloseMenu} onPress={onPress} menu={menu} />
<Backdrop
visible={loading}
progress={progress}
text={progress<100 ? "Uploading..." : "Processing..."}
onCancel={cancelRequest}
/>
<Recaptcha ref={captchaRef} />
</>
)
})
Expand All @@ -169,11 +219,17 @@ function Share(){
},[])

React.useEffect(()=>{
Promise.all([Secure.getItemAsync("user"),Secure.getItemAsync("user")])
Promise.all([Secure.getItemAsync("user"),Secure.getItemAsync("token")])
.then(([user,token])=>{
//console.log("USER",user,token);
if(user) setUser(user);
if(token) setToken(token);
if(user !== null) {
setUser(JSON.parse(user));
} else {
setUser(false);
}
if(token !== null) {
setToken(JSON.parse(token));
}
return Promise.resolve();
})
.then(()=>ShareModule.getSharedData(false))
Expand Down Expand Up @@ -201,7 +257,7 @@ function Share(){
return (
<BaseActivity>
<Layout custom={Header} whiteBg>
{data===null ? (
{(data===null || user===null) ? (
<Lay style={{flex:1,justifyContent:'center',alignItems:'center'}}>
<Spinner size="large" />
</Lay>
Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,8 @@ android {
applicationId "com.portalnesia.app"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 20
versionName "2.11.0"
versionCode 21
versionName "2.12.0"
}
splits {
abi {
Expand Down
4 changes: 1 addition & 3 deletions android/app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@
-keep class com.facebook.jni.** { *; }
-keep public class com.portalnesia.app.fastimage.* {*;}
-keep public class com.portalnesia.app.fastimage.** {*;}
#-keep public class com.dylanvann.fastimage.* {*;}
#-keep public class com.dylanvann.fastimage.** {*;}
-keep public class com.asterinet.react.bgactions.* {*;}
#-keep public class com.asterinet.react.bgactions.* {*;}
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
Expand Down
4 changes: 3 additions & 1 deletion android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-5345145600516995~7540046866"/>
<meta-data android:name="com.google.android.gms.ads.DELAY_APP_MEASUREMENT_INIT" android:value="true"/>
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/ic_notif_icon"/>
<meta-data tools:replace="android:resource" android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/ic_portalnesia_notification_icon"/>
<meta-data tools:replace="android:resource" android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/portalnesia_notification_color"/>

<activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:launchMode="singleTask" android:windowSoftInputMode="adjustResize" android:theme="@style/AppTheme" android:screenOrientation="portrait" android:supportsPictureInPicture="true" android:resizeableActivity="true"
tools:targetApi="n">
<intent-filter>
Expand Down
Loading

0 comments on commit 76261a5

Please sign in to comment.