diff options
| author | Melonai <einebeere@gmail.com> | 2021-05-22 18:18:56 +0200 |
|---|---|---|
| committer | Melonai <einebeere@gmail.com> | 2021-05-22 18:18:56 +0200 |
| commit | e0cabfea7c7b442acd3636e7495958b87e253176 (patch) | |
| tree | 62e15eb61189c1da58265e37b4a8328a75017205 /assets/src | |
| parent | 0bd75cadf7164979cc06f001ecc057f6275a2e3b (diff) | |
| download | rook-e0cabfea7c7b442acd3636e7495958b87e253176.tar.zst rook-e0cabfea7c7b442acd3636e7495958b87e253176.zip | |
Request and Share communication
Diffstat (limited to 'assets/src')
| -rw-r--r-- | assets/src/components/Request.svelte | 21 | ||||
| -rw-r--r-- | assets/src/entries/request.ts | 9 | ||||
| -rw-r--r-- | assets/src/network/socket.ts | 15 | ||||
| -rw-r--r-- | assets/src/utils/getShareToken.ts | 4 |
4 files changed, 45 insertions, 4 deletions
diff --git a/assets/src/components/Request.svelte b/assets/src/components/Request.svelte new file mode 100644 index 0000000..134c4d5 --- /dev/null +++ b/assets/src/components/Request.svelte @@ -0,0 +1,21 @@ +<script lang="ts"> + import { getToken, joinRequestChannel } from "../network/socket"; + import getShareToken from "../utils/getShareToken"; + + const startConnection = async () => { + const token = await getToken(); + joinRequestChannel(token, getShareToken()); + }; + + startConnection(); +</script> + +<main> + <h1>Requesting</h1> +</main> + +<style> + h1 { + font-size: 4em; + } +</style> diff --git a/assets/src/entries/request.ts b/assets/src/entries/request.ts index 0d064a2..74f84da 100644 --- a/assets/src/entries/request.ts +++ b/assets/src/entries/request.ts @@ -1,3 +1,8 @@ -// Request +import Request from "../components/Request.svelte"; -export {}; +const app = new Request({ + target: document.getElementById("app"), + props: {}, +}); + +export default app; diff --git a/assets/src/network/socket.ts b/assets/src/network/socket.ts index c056b41..87f5b7c 100644 --- a/assets/src/network/socket.ts +++ b/assets/src/network/socket.ts @@ -23,11 +23,22 @@ export const getToken: () => Promise<string> = () => { export const joinShareChannel = token => { let shareChannel = socket.channel(`share:${token}`); - shareChannel.on("request", requests.addRequest); + shareChannel.on("new_request", requests.addRequest); shareChannel .join() .receive("error", err => - console.log("failed joining share channel:" + err) + console.log("Failed joining share channel: " + JSON.stringify(err)) + ); +}; + +export const joinRequestChannel = (token, share) => { + let requestChannel = socket.channel(`request:${token}`, { share }); + + requestChannel + .join() + .receive("ok", () => console.log("Connected to request!")) + .receive("error", err => + console.log("Failed joining request channel:" + JSON.stringify(err)) ); }; diff --git a/assets/src/utils/getShareToken.ts b/assets/src/utils/getShareToken.ts new file mode 100644 index 0000000..bfe6f58 --- /dev/null +++ b/assets/src/utils/getShareToken.ts @@ -0,0 +1,4 @@ +export default (): string => { + const splitPath = window.location.pathname.split("/"); + return splitPath[splitPath.length - 1]; +}; |
