diff --git a/README.md b/README.md index bb297a1..c7191fa 100644 --- a/README.md +++ b/README.md @@ -9,5 +9,5 @@ Currently, two official plugins are available: ## LIST PESERTA - 29 November 2024 -- Nusendra -- Adit +- Nusendra Hanggarawan +- Aditia Falacha diff --git a/package.json b/package.json index 3cabcc0..4e069b7 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ }, "dependencies": { "react": "^18.3.1", - "react-dom": "^18.3.1" + "react-dom": "^18.3.1", + "react-router": "^7.0.1" }, "devDependencies": { "@eslint/js": "^9.13.0", diff --git a/src/App.jsx b/src/App.jsx index 232ba96..c4cb1d2 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,9 +1,16 @@ -import GetApiData from "./components/GetApiData"; +import { Outlet, NavLink } from "react-router"; function App() { return ( <> - +
+ Home + API Docs + Blog + About +
+ + ); } diff --git a/src/components/LinkTree.jsx b/src/components/LinkTree.jsx new file mode 100644 index 0000000..ac5f696 --- /dev/null +++ b/src/components/LinkTree.jsx @@ -0,0 +1,38 @@ +const links = [ + { id: 1, label: "SurabayaJS", url: "https://surabayajs.org" }, + { id: 2, label: "LinkedIn", url: "https://linkedin.com" }, + { id: 3, label: "Portfolio", url: "https://example.com" }, + { id: 4, label: "Blog", url: "https://nusendra.com" }, +]; + +const LinkTree = () => { + return ( +
+
+ Profile +

John Doe

+

Frontend Developer & Designer

+ +
+ {links.map((link) => ( + + {link.label} + + ))} +
+
+
+ ); +}; + +export default LinkTree; diff --git a/src/components/Penjumlahan.jsx b/src/components/Penjumlahan.jsx index 5e400aa..8ce7cdb 100644 --- a/src/components/Penjumlahan.jsx +++ b/src/components/Penjumlahan.jsx @@ -20,6 +20,7 @@ export default function Penjumlahan() { return (
+
TEST

Hasil = {hasil}

-

- Hasil ={" "} - {parseInt(angka1 || 0) + - parseInt(angka2 || 0)} -

+

Hasil = {parseInt(angka1 || 0) + parseInt(angka2 || 0)}

Hasil Ref = {refHasil.current}

); diff --git a/src/main.jsx b/src/main.jsx index d91ba14..705a238 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -1,10 +1,27 @@ -import { StrictMode } from 'react' -import { createRoot } from 'react-dom/client' -import './styles/index.css' -import App from './App.jsx' +import { StrictMode } from "react"; +import { createRoot } from "react-dom/client"; +import { BrowserRouter, Routes, Route } from "react-router"; +import ExampleDaisyui from "./components/ExampleDaisyui"; +import Penjumlahan from "./components/Penjumlahan"; +import GetApiData from "./components/GetApiData"; +import "./styles/index.css"; +import App from "./App.jsx"; +import LinkTree from "./components/LinkTree.jsx"; -createRoot(document.getElementById('root')).render( +createRoot(document.getElementById("root")).render( - - , -) + + + {/* }> + } /> + */} + }> + } /> + } /> + } /> + } /> + + + + +); diff --git a/yarn.lock b/yarn.lock index c6323a1..aaa511d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -562,6 +562,11 @@ dependencies: "@babel/types" "^7.20.7" +"@types/cookie@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.6.0.tgz#eac397f28bf1d6ae0ae081363eca2f425bedf0d5" + integrity sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== + "@types/estree@1.0.6", "@types/estree@^1.0.6": version "1.0.6" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" @@ -887,6 +892,11 @@ convert-source-map@^2.0.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== +cookie@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-1.0.2.tgz#27360701532116bd3f1f9416929d176afe1e4610" + integrity sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA== + cross-spawn@^7.0.0: version "7.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" @@ -2210,6 +2220,16 @@ react-refresh@^0.14.2: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== +react-router@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.0.1.tgz#a171e35a5c6463f76b23353c4ce57b53c8b7b1b9" + integrity sha512-WVAhv9oWCNsja5AkK6KLpXJDSJCQizOIyOd4vvB/+eHGbYx5vkhcmcmwWjQ9yqkRClogi+xjEg9fNEOd5EX/tw== + dependencies: + "@types/cookie" "^0.6.0" + cookie "^1.0.1" + set-cookie-parser "^2.6.0" + turbo-stream "2.4.0" + react@^18.3.1: version "18.3.1" resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" @@ -2347,6 +2367,11 @@ semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +set-cookie-parser@^2.6.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz#3016f150072202dfbe90fadee053573cc89d2943" + integrity sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ== + set-function-length@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" @@ -2587,6 +2612,11 @@ ts-interface-checker@^0.1.9: resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== +turbo-stream@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/turbo-stream/-/turbo-stream-2.4.0.tgz#1e4fca6725e90fa14ac4adb782f2d3759a5695f0" + integrity sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g== + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"