+
+
+ Drag 'n' drop some files here, or click to select files
+
+ );
+};
+
+export default AddFile;
diff --git a/src/components/Add.tsx b/src/components/encrypt/Add.tsx
similarity index 100%
rename from src/components/Add.tsx
rename to src/components/encrypt/Add.tsx
diff --git a/src/components/AddFile.tsx b/src/components/encrypt/AddFile.tsx
similarity index 94%
rename from src/components/AddFile.tsx
rename to src/components/encrypt/AddFile.tsx
index b3e5b68..38609b9 100644
--- a/src/components/AddFile.tsx
+++ b/src/components/encrypt/AddFile.tsx
@@ -3,7 +3,7 @@ import styled from 'styled-components';
import { Layout } from 'antd';
import { FileAddTwoTone } from '@ant-design/icons';
import { useDropzone } from 'react-dropzone';
-import EncryptionContext from '../contexts/Encryption';
+import EncryptionContext from '../../contexts/Encryption';
const Icon = styled(FileAddTwoTone)`
font-size: 100px;
diff --git a/src/components/AddText.tsx b/src/components/encrypt/AddText.tsx
similarity index 94%
rename from src/components/AddText.tsx
rename to src/components/encrypt/AddText.tsx
index 79f96a1..424dba7 100644
--- a/src/components/AddText.tsx
+++ b/src/components/encrypt/AddText.tsx
@@ -1,7 +1,7 @@
import React, { useState, useCallback, useContext } from 'react';
import { Input, Form, Button } from 'antd';
import { PlusOutlined } from '@ant-design/icons';
-import EncryptionContext from '../contexts/Encryption';
+import EncryptionContext from '../../contexts/Encryption';
const AddText : React.FC = () => {
const { addText } = useContext(EncryptionContext);
diff --git a/src/contexts/Decryption.tsx b/src/contexts/Decryption.tsx
new file mode 100644
index 0000000..c27e6f7
--- /dev/null
+++ b/src/contexts/Decryption.tsx
@@ -0,0 +1,106 @@
+import React, { useState, useCallback, useContext, createContext, useEffect } from 'react';
+import * as openpgp from 'openpgp';
+import GithubContext from './Github';
+import FileType from '../types/File';
+import { createFile } from '../helpers/files';
+
+interface DecryptionContextType {
+ publicKey: string | undefined;
+ files: {[id: string]: FileType};
+ addFile: (file: File) => Promise