| 15 | const client = create("https://ipfs.infura.io:5001/api/v0"); |
| 16 | |
| 17 | function App() { |
| 18 | |
| 19 | const [json, setJson] = useState(JSON.stringify(Data, null, ' ')); |
| 20 | const [data, setData] = useState(Data); |
| 21 | const [toggle, setToggle] = useState(true); |
| 22 | const [toggle2, setToggle2] = useState(true); |
| 23 | const [save, setSave] = useState(false); |
| 24 | const [selectedImage, setSelectedImage] = useState(null) |
| 25 | |
| 26 | var imageArray = []; |
| 27 | |
| 28 | useEffect(()=>{ |
| 29 | if(save === true){ |
| 30 | setData(JSON.parse(json)); |
| 31 | } |
| 32 | },[json, save]); |
| 33 | |
| 34 | useEffect(()=>{ |
| 35 | console.log("data", data); |
| 36 | if(data === null || !json.includes("template") || data.template.length === 1){ |
| 37 | setData(Data); |
| 38 | setJson(JSON.stringify(Data, null, ``)); |
| 39 | } |
| 40 | },[data]); |
| 41 | |
| 42 | const heading2 = (content) =>{ |
| 43 | if (content){ |
| 44 | return (<h2>{content}</h2>) |
| 45 | } |
| 46 | } |
| 47 | |
| 48 | function NewlineText(props) { |
| 49 | const text = props.text; |
| 50 | const newText = text.split('\n').map(str => <p className='content'>{str}</p>); |
| 51 | return newText; |
| 52 | } |
| 53 | |
| 54 | const paragraph = (content)=>{ |
| 55 | if (content){ |
| 56 | return (<NewlineText text={content} ></NewlineText>) |
| 57 | } |
| 58 | } |
| 59 | |
| 60 | //function to check base64 encoding |
| 61 | const isBase64 = (str) => { |
| 62 | if (str ==='' || str.trim() ===''){ return false; } |
| 63 | try { |
| 64 | return btoa(atob(str)) === str; |
| 65 | } catch (err) { |
| 66 | return false; |
| 67 | } |
| 68 | } |
| 69 | |
| 70 | //function to decode base64 |
| 71 | const Base64ToString = (encode) => { |
| 72 | let buff = new Buffer(encode, 'base64'); |
| 73 | let decoded = buff.toString('ascii'); |
| 74 | return decoded; |