:warning: This is under active development. Please use as your own risk.
An easy-to-implement React Native wrapper for Slashtags.
yarn add @synonymdev/react-native-slashtags react-native-webview
#or
npm i -s @synonymdev/react-native-slashtags react-native-webview
# iOS installation
cd ios && pod install && cd ../
Wrap app root or top level in provider
import SlashtagsProvider from '@synonymdev/react-native-slashtags';
// Slashtags functions can be accessed by all child components
const App = () => {
return (
<SlashtagsProvider>
<Demo />
</SlashtagsProvider>
);
};
Any child component can access slashtags functions via useContext()
const Demo = () => {
const context = useContext(SlashtagsContext);
const [slashRef, setSlashRef] = useState();
useEffect(() => {
setSlashRef(context);
}, [context]);
return (
<View>
<Button
title={'Generate key pair'}
onPress={async () => {
try {
const keyPair = await slashRef.current.generateSeedKeyPair(`random-seed-here`);
alert(keyPair.publicKey);
} catch (e) {
console.error(e);
}
}}
/>
<Button
title={'Parse URL'}
onPress={async () => {
try {
const url = 'slashauth://i5ubvtggukkuxdhyv7rkxtj2a2dulonpcurt4ftq4kot5nnkhdna?q=ij2c7zf9gu';
const parsed = await slashRef.current.parseUrl(url);
alert(parsed.protocol);
} catch (e) {
console.error(e);
}
}}
/>
</View>
);
};
cd web
yarn && yarn build
cd ../
# From root dir bundle up the web app into a javascript file (lib/src/web-interface.ts)
node post-build-bundle.js
cd example
yarn && yarn add ../lib
yarn ios
# or
yarn android