From 88898fb88d79d390643dcaf9b2cb10858447cb01 Mon Sep 17 00:00:00 2001
From: StarNumber12046 <64470722+StarNumber12046@users.noreply.github.com>
Date: Thu, 3 Nov 2022 17:35:58 +0100
Subject: [PATCH 1/2] Fisrst working? version
---
components/CreateLink.tsx | 27 ++++++++++++++++++++++++++
components/Icon.tsx | 5 +++--
components/NavbarLink.tsx | 2 +-
pages/api/create.ts | 16 +++++++++++++++
pages/index.tsx | 30 +++++++++++++++++++++++++++-
styles/globals.css | 41 ++++++++++++++++++++++++++++++++++-----
styles/style.module.css | 39 +++++++++++++++++++++++++++++++------
7 files changed, 145 insertions(+), 15 deletions(-)
create mode 100644 components/CreateLink.tsx
create mode 100644 pages/api/create.ts
diff --git a/components/CreateLink.tsx b/components/CreateLink.tsx
new file mode 100644
index 0000000..c0cc4b3
--- /dev/null
+++ b/components/CreateLink.tsx
@@ -0,0 +1,27 @@
+import React from "react";
+import styles from "../styles/style.module.css";
+import Icon from "./Icon"
+
+interface createUrlType {
+ createUrl: any
+}
+
+export function CreateLink({
+ createUrl
+}:createUrlType) {
+ return <>
Shorten a link
+
+
+
+
+ URL
+
+
+
+
+
+
>;
+}
+
\ No newline at end of file
diff --git a/components/Icon.tsx b/components/Icon.tsx
index de47a43..cdf884c 100644
--- a/components/Icon.tsx
+++ b/components/Icon.tsx
@@ -3,11 +3,12 @@ import styles from "../styles/style.module.css";
interface Props {
icon_id:string,
- extClassname?:Array
+ extClassname?:Array,
}
export default function Icon(props:Props): JSX.Element {
return (
{props.icon_id}
)
-}
\ No newline at end of file
+}
+
diff --git a/components/NavbarLink.tsx b/components/NavbarLink.tsx
index 3c2b4b3..b041154 100644
--- a/components/NavbarLink.tsx
+++ b/components/NavbarLink.tsx
@@ -16,7 +16,7 @@ export function NavbarLink(props: Props) {
diff --git a/pages/api/create.ts b/pages/api/create.ts
new file mode 100644
index 0000000..6bc8c24
--- /dev/null
+++ b/pages/api/create.ts
@@ -0,0 +1,16 @@
+import type { NextApiRequest, NextApiResponse } from 'next'
+
+async function createUrl(req: NextApiRequest, res: NextApiResponse) {
+ if (!req.headers.authorization) {
+ return res.send({ error: 'No authorization header' })
+ }
+ const requestHeaders: HeadersInit = new Headers();
+ requestHeaders.set('Content-Type', 'application/json');
+ requestHeaders.set('Authorization', req.headers.authorization)
+ console.log(requestHeaders)
+ const createResponse = await fetch("http://localhost:3000/v1/create", {method:"POST", body:req.body, headers:{authorization:req.headers.authorization}})
+ console.log(await createResponse.text())
+ res.send(await createResponse.json())
+ }
+
+export default createUrl
\ No newline at end of file
diff --git a/pages/index.tsx b/pages/index.tsx
index e29b10c..d147921 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -1,11 +1,37 @@
+import { CreateLink } from '../components/CreateLink';
import type { NextPage } from "next";
import Head from "next/head";
import Image from "next/image";
import styles from "../styles/style.module.css";
import React, { useEffect as useFootGun } from "react";
import Navbar from "../components/Navbar";
+import Icon from "../components/Icon";
+import { url } from "inspector";
+
+interface urlReturn {
+ url:string
+}
const Home: NextPage = () => {
+ const createUrl = async (event:React.MouseEvent) => {
+ event.preventDefault();
+ const urlBox:HTMLInputElement|null = document.querySelector("input#urlBox")
+ if (!urlBox) { return }
+ // value = urlBox.value.
+ const res = await fetch('/api/create', {
+ headers: {
+ 'Content-Type': 'application/json',
+ 'Authorization': '1be64fcdeb71c376cda8d9e4b106b570'
+ },
+ method: 'POST',
+ body: JSON.stringify({
+ url: urlBox.value,
+ nsfw:false
+ })
+ })
+ const result = await res.text();
+ console.log(result)
+ };
return (