From 87b6a28b63390cb0a8c01284f4893fbb5275560e Mon Sep 17 00:00:00 2001 From: Liam Arbuckle Date: Fri, 3 Mar 2023 22:40:30 +1100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=B1=F0=9F=94=97=20=E2=86=9D=20Journal?= =?UTF-8?q?=20metadata=20now=20shown=20without=20build=20error,=20add=20in?= =?UTF-8?q?itial=20IPFS=20beginning=20for=20https://github.com/Signal-K/po?= =?UTF-8?q?lygon/issues/22,=20https://github.com/Signal-K/polygon/issues/2?= =?UTF-8?q?4.=20Added=20new=20ship=20interface=20for=20the=20web=20game=20?= =?UTF-8?q?type=20interface=20described=20in=20https://github.com/Signal-K?= =?UTF-8?q?/sytizen/issues/16.=20Build=20error=20tracked=20down=20in=20#26?= =?UTF-8?q?=20->=20mapping=20the=20articles=20was=20not=20an=20issue,=20it?= =?UTF-8?q?=20was=20the=20use=20of=20the=20UI=20Provider=20that=20caused?= =?UTF-8?q?=20the=20build=20errors.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 10244 -> 12292 bytes components/Core/Navigation.tsx | 13 ++- components/Core/Sidebar.jsx | 38 +++++++- components/Gameplay/Vehicles/ShipyardCard.tsx | 68 ++++++++++++++ components/Journal/ArticleCard.tsx | 35 ++++--- pages/generator/account.tsx | 2 +- pages/index.tsx | 1 + pages/journal/index.tsx | 88 +++++++----------- pages/journal/ipfs.tsx | 27 ++++++ pages/posts/index.tsx | 5 +- pages/ships/index.tsx | 58 ++++++++++-- public/1ST FRAME.PNG | Bin 0 -> 2090 bytes public/eagle.png | Bin 0 -> 37728 bytes tailwind.config.js | 1 + utils/database.types.ts | 29 ++++++ 15 files changed, 282 insertions(+), 83 deletions(-) create mode 100644 components/Gameplay/Vehicles/ShipyardCard.tsx create mode 100644 pages/journal/ipfs.tsx create mode 100644 public/1ST FRAME.PNG create mode 100644 public/eagle.png diff --git a/.DS_Store b/.DS_Store index 52d186a93b7773fcb8ac729c41360588be702c11..182663ba10c23dbdd1ddba32b787e266a00c484b 100644 GIT binary patch delta 1599 zcmeHHOKTHR7(HW>Wax4BX7CV@r?Tlch5yK z8tcFNg`y`F4{;YaIa>U_fwD6SJ~E2kews0c3EI5!jRD<>RQ6m*A3DS`yZ*57gHn`l zF4Gwjw2CH6$dRTdZ-XPx!VFZLVJsT#2?oa4p?wMKP6UG2$lm;rgF)kpUx|xQST}En zGs<$yqEMGbI#Ei3WaVwd`A5{Ync)kxUDkVIH*(6{j=WX+5v*Col&xobvL_RvNQWbo zhlN*BbcT?f!3SGH)1=Ev#Uf3|CL>V+{omALht7VM z9^bL))sb%qb@IaYaIO$ebsnZ8OMzpZo6+bANok#tWUoq`rEukmaR|~$mh9faVIgr- z^w2@kBDUnRm1-OZblVoUT6J|K-B04nTx0%tw_CW7)e09Eds(f!R9MJr=a&k-UOQJja`w9BonXQ-ZmdJ^_rpcC_@o1>RN7K20{3U(nfVdord%07^TKbI{k4FBtAa?a%TksQkZk{m! delta 164 zcmZokXbF&DU|?W$DortDU{C-uIe-{M3-C-V6q~3gIoUvmMH0wo5CLLFpg4nPPJVJy zPJR+d(dLU1R_qfWWNv2XVBugCnarb*H+h}Hm(5H{D;PKbP!VICI9Y2muRsRd @@ -197,6 +202,10 @@ export default function CoreNavigation ({ showNav, setShowNav }) { Settings + + {/*
*/} + +
diff --git a/components/Core/Sidebar.jsx b/components/Core/Sidebar.jsx index db22f5d7..85792ca4 100644 --- a/components/Core/Sidebar.jsx +++ b/components/Core/Sidebar.jsx @@ -1,19 +1,19 @@ import { forwardRef } from "react"; import Link from "next/link"; -import { HomeIcon, CreditCardIcon, UserIcon, RocketLaunchIcon, MagnifyingGlassCircleIcon } from "@heroicons/react/24/solid"; +import { HomeIcon, PaintBrushIcon, DocumentMagnifyingGlassIcon, CreditCardIcon, UserIcon, RocketLaunchIcon, MagnifyingGlassCircleIcon } from "@heroicons/react/24/solid"; import { useRouter } from "next/router"; const CoreSidebar = forwardRef(({ showNav }, ref) => { const router = useRouter(); return ( -
+
company logo
@@ -83,6 +83,38 @@ const CoreSidebar = forwardRef(({ showNav }, ref) => {
+ +
+
+ +
+
+

Pins

+
+
+ + +
+
+ +
+
+

Journal

+
+
+
{ + getShips(); + }, [session]); + + async function getShips () { + + } + + return ( + <> + +
+
+

Name: {name}

+

Defence: {hp}

+

Attack: {attack}

+

Speed: {speed}

+

Location: {location}

+
+
+ +
+
+
+ {/* If there is an owner, don't show this button */} +
+
+ {/* + + This page will display all the ships + +
+
+

+ Spaceship Name +

+
+
+
+
+
*/} + + ) +} \ No newline at end of file diff --git a/components/Journal/ArticleCard.tsx b/components/Journal/ArticleCard.tsx index a29a36f8..18a722ea 100644 --- a/components/Journal/ArticleCard.tsx +++ b/components/Journal/ArticleCard.tsx @@ -1,7 +1,6 @@ import { NextPage } from "next"; import { useRouter } from "next/router"; -import { Card, Text, NextUIProvider } from "@nextui-org/react"; -import { Box } from "./Box"; +import Card from "../Card"; import JournalNavbarComponent from "./JournalNavbar"; import { useSession } from "@supabase/auth-helpers-react"; @@ -16,20 +15,26 @@ const JournalArticleCard: NextPage = ( props ) => { let time = Date.parse(article.inserted_at) } */ - return ( - - router.push("/journal/Article?id=" + article.id)} - > - - {article.title} - {/*posted {getDate()}*/} - By {article.user_id.toLowerCase()} - + return (<> + +
+

{article.title}

+

Posted by {article.user_id.toLowerCase()}

+
-
+ {/* + router.push("/journal/Article?id=" + article.id)} + > + + {article.title} + posted {getDate()} + By {article.user_id.toLowerCase()} + + + */} ) } diff --git a/pages/generator/account.tsx b/pages/generator/account.tsx index 235b8ea4..70fbaa92 100644 --- a/pages/generator/account.tsx +++ b/pages/generator/account.tsx @@ -61,7 +61,7 @@ export default function OffchainAccount({ session }: { session: Session}) { setAddress(data.address); } } catch (error) { - alert('Error loading your user data'); + //alert('Error loading your user data'); console.log(error); } finally { setLoading(false); diff --git a/pages/index.tsx b/pages/index.tsx index 35277dc7..304309c3 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -7,6 +7,7 @@ import { SocialGraphHomeNoSidebar } from "./posts"; export default function Home() { const session = useSession(); + // add an iframe/ref to super.so dashboard return ( <> diff --git a/pages/journal/index.tsx b/pages/journal/index.tsx index 86fc08cf..04e59318 100644 --- a/pages/journal/index.tsx +++ b/pages/journal/index.tsx @@ -1,65 +1,47 @@ -import React, { useEffect, useState } from "react"; - -import Layout from "../../components/Layout"; -import SearchFormCard from "../../components/Journal/SearchFormCard"; -import PostCard from "../../components/PostCard"; +import type { NextPage } from "next"; +import CoreLayout from "../../components/Core/Layout"; +import { useState, useEffect } from "react"; +import { Text, NextUIProvider } from '@nextui-org/react'; import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; -import { UserContext } from "../../context/UserContext"; - -import TimeAgo from "javascript-time-ago"; -import en from 'javascript-time-ago/locale/en.json'; -import Login from "../login"; -TimeAgo.addDefaultLocale(en); +import JournalArticleCard from "../../components/Journal/ArticleCard"; +import JournalNavbarComponent from "../../components/Journal/JournalNavbar"; +import { Box } from "../../components/Journal/Box"; -export default function SearchToExtract () { +export default function JournalFeed () { const supabase = useSupabaseClient(); const session = useSession(); - const [posts, setPosts] = useState([]); - const [profile, setProfile] = useState(null); - useEffect(() => { - fetchPosts(); // Will later be fetching recently searched/saved papers by the user (in Cards) - }, []); + const [articles, setArticles] = useState([]); useEffect(() => { - if (!session?.user?.id) { return; }; - supabase.from('profiles') - .select() - .eq("id", session?.user?.id) - .then( result => { - if (result.data.length) { setProfile(result.data[0]); }; - }) - }, [session?.user?.id]); - - function fetchPosts () { - supabase.from('posts') - .select('id, content, created_at, media, profiles(id, avatar_url, username)') // Reset id on testing playground server later - .order('created_at', { ascending: false }) - .then(result => { setPosts(result.data); }) - } - - function fetchProfile () { - supabase.from('profiles') - .select() - .eq('id', session.user.id) - .then(result => { - if (result.data) { - setProfile(result.data[0]); - } - }) - } + getArticles(); + }, []); - if (!session) { return ; }; + const getArticles = async () => { + try { + const { data, error } = await supabase + .from('articles') + .select("*") + .limit(10) + console.log(data); + if (data != null) { setArticles(data); }; + if (error) throw error; + } catch (error: any) { alert(error.message) }; + }; return ( - - {/* Move this into `_app.tsx` later */} - - {posts?.length > 0 && posts.map(post => ( - - ))} - - - ); + <>
+ + + + <> + {articles.map((article) => ( + + ))} + + + + + ) } \ No newline at end of file diff --git a/pages/journal/ipfs.tsx b/pages/journal/ipfs.tsx new file mode 100644 index 00000000..c7e23d6e --- /dev/null +++ b/pages/journal/ipfs.tsx @@ -0,0 +1,27 @@ +import type { NextPage } from "next"; +import { useCallback } from "react"; +import CoreLayout from "../../components/Core/Layout"; + +import { ConnectWallet, useStorageUpload } from "@thirdweb-dev/react"; + +const IpfsPinning: NextPage = () => { + const { mutateAsync: upload } = useStorageUpload(); + const onDrop = useCallback( + async ( acceptedFiles: File[] ) => { + const uris = await upload ({ data: acceptedFiles }); + console.log(uris); + }, + [upload], + ); + + //const { getRootProps, getInputProps } = useDropzone({ onDrop }); + + return ( + +
+
+
+ ); +}; + +export default IpfsPinning; \ No newline at end of file diff --git a/pages/posts/index.tsx b/pages/posts/index.tsx index 00d24d90..f75d87e6 100644 --- a/pages/posts/index.tsx +++ b/pages/posts/index.tsx @@ -41,6 +41,7 @@ export default function SocialGraphHome () { .select('id, content, created_at, media, profiles(id, avatar_url, username)') // Reset id on testing playground server later .order('created_at', { ascending: false }) .then(result => { setPosts(result.data); }) + console.log(posts); } function fetchProfile () { @@ -97,7 +98,7 @@ export function SocialGraphHomeNoSidebar () { supabase.from('posts') .select('id, content, created_at, media, profiles(id, avatar_url, username)') // Reset id on testing playground server later .order('created_at', { ascending: false }) - .then(result => { setPosts(result.data); }) + .then( result => { setPosts(result.data); }); } function fetchProfile () { @@ -111,7 +112,7 @@ export function SocialGraphHomeNoSidebar () { }) } - if (!session) { return }; + if (!session) { return ; }; return ( diff --git a/pages/ships/index.tsx b/pages/ships/index.tsx index 02c4304a..0c73ec5f 100644 --- a/pages/ships/index.tsx +++ b/pages/ships/index.tsx @@ -1,30 +1,74 @@ import React, { useEffect, useState } from "react"; +import Link from "next/link"; -import Layout from "../../components/Layout"; import CoreLayout from "../../components/Core/Layout"; -import PostCard from "../../components/PostCard"; -import Card from "../../components/Card"; import { useSession, useSupabaseClient } from "@supabase/auth-helpers-react"; import { UserContext } from "../../context/UserContext"; +import { Database } from "../../utils/database.types"; +import { HELPER_ADDRESS, PLANETS_ADDRESS, MINERALS_ADDRESS, MULTITOOLS_ADDRESS } from "../../constants/contractAddresses"; +import { ConnectWallet, useAddress, useContract } from "@thirdweb-dev/react"; import TimeAgo from 'javascript-time-ago'; import en from 'javascript-time-ago/locale/en.json'; import Login from "../login"; +import ShipyardCard from "../../components/Gameplay/Vehicles/ShipyardCard"; +import { Shop } from "../../components/Stake"; TimeAgo.addDefaultLocale(en); +type Spaceships = Database['public']['Tables']['spaceships']['Row']; + export default function ShipyardIndex () { const supabase = useSupabaseClient(); const session = useSession(); const [posts, setPosts] = useState([]); const [profile, setProfile] = useState(null); + const [ships, setShips] = useState([]); + const { contract: multitoolContract } = useContract(MULTITOOLS_ADDRESS, 'edition-drop'); + + const [shipId, setShipId] = useState(null); // Set this all as a ship type later + const [shipName, setShipName] = useState(null); + const [shipImage, setShipImage] = useState(null); + const [shipOwner, setShipOwner] = useState(null); + const [shipHp, setShipHp] = useState(null); + const [shipAttack, setShipAttack] = useState(null); + const [shipSpeed, setShipSeed] = useState(null); + const [shipLocaiton, setShipLocation] = useState(null); + + useEffect(() => { + fetchShips(); + }, [session]); + + async function fetchShips () { + supabase.from('spaceships') + .select('id, name, image, hp, attack, speed') + .order('id', { ascending: true }) + .then( result => { setShips( result.data ); }); + } + + // if (!session) { return ; }; return ( - - This page will display all the ships - This card will display the user's ships - +
+ {ships.map(ship => ( + + ))} +
+
+
+
+
+
+
+
+
+ + {/*
+
+
+
+
*/}
) } \ No newline at end of file diff --git a/public/1ST FRAME.PNG b/public/1ST FRAME.PNG new file mode 100644 index 0000000000000000000000000000000000000000..5fc121eb8f670d2e4118b90168b9502adc5bbb26 GIT binary patch literal 2090 zcmcgtX;4#F6b{d4eQfmw1q8*$1QI|cDlll+o)8Q{OcW4Nq@t)mR8j>6AyuCpRuu%d z3S?nv0omMG6=6^jwT9RLl}*KsB?eQA$QIih_|@rjrtM7q@$S9n+;i^z-glOpyq?3- z*D=*05D5BgPo@u;WttE90*r_9-$j8*E7FJMMktdm7$6X4y<#(0`^9J}dse3`V4?Bb zgIImbWB7Cd#J_0^DUe%b`k^FKN!X-`qT@P|wx#XvuOo zf?@zUG#4G=_N$ODi1J!)e-RKYRU;LT<2Ef^mj2x;Ml0 zU5ilMQOfZo(IpXv&Bgl?Ft~Qh?y62Yj$GeJDz7wwi2b~aJ-m9DEc3^2cJ4-)lHy&5 ziq!^5Sm4a}ysSkiUUt5tbYv|F+V}Sd1XVs`Cgi`lojAK{=)-`#pzF>--6I+FkV&=J zHKJ!v$Ehln0`=VK$*X+SFi^A+ay z08F}##nb}Dk00IObCsBc0cBsk!ziUOoiRLnBR8onk9L~2-c@K^7_gL6$|XTTSmGz6 z#m|db5V24!)%7beDrl#nxQ)d9=m|qr8wE#NxqUOO{ZIHR<|JXpvYh(6Ix(S>W91-x zd%PsZkdkk!o~#;ZqW4^IlaHw#FYP#sv9dF}&h@#7F}1^$I$eiLZtW%c{U_mC4|)QX zoAb8pk|{+-EO-Ox3eoDR+rWNoqRo`_L^@a2r>?ZWfWfA^{X?g`Qly?FNGVcWQ6Ich zR0IAb0E_1P`9!UOh+!YMrYXxQoJSTY-UQXgiHY8pulQ4l5v8&Fnan1~d~pG_{I$7#$ZDA-MK%Rjgl+EpvV<(lYT=%f z((lX7i&iZ=5Nei;!HmU^Zx?{DCQzdN9YOd@n6t$oElg9pH!DH(uNgQCOaZKw2SO_- zC@%FHR)qs~Z?mv1_0P^Xq=8TDqX&bki+=xEIL!X~A)6=l>cR`GtQZvBWo*aY89_;@ zt<&Uec*0p?t@9_9N+If&CJ|*<(=GVzG$_muxOga+{;$uX;||0*zEC^r}dxI zU8Qk{m!H*Nj<>yN9fwo+>5W2dzlKd|aObL-BSv$kvPUv%WYv8Un<@ClRWnRG*D=Urw!B&TB3tK-g zz6a{F$;>18Yy)pUPYs0Kb49xm4Gqb9>{E^@4VF{%0O66P(<3SQw4j1Ng+Mj*asrgI zzfLxlib=ey=T$deL(n8F)FO7&4#eo2S5h8}1PRae_sW6#cDiG+8HlofZX(y61nIMe zN)7?5&B+U0^g${wsJYe&YWc6u{FUnf+TZj8yRSyQcrA}hTRNNXyA9EFgKZ4auk&$f zb=osQil)nCIn;JQaOc|uLAg@1|4bn$9ybUx>^M=H1vuKO_i$6yT1h#1{HV94<#6)Y z68TVAj0pHryPsC>f;&gre~MTFSi9)lHXZ?QX&E&z1AQoSZ9~}J3`{?O#$BiJ3-SE- zez&ZKcP?Dqa$c}!@PRsD!Vq+GLy}7k44V7FAHw0x8-Z|Uh;w@~7E<^O4NLtHK!Z-@ zP-P1SYdBy-scm;Jwqy?8v_1}clp|6wC9B#+SY*jP1~E*pg7%Nic*4)|^!>*>Mo239 Y0Xx?xRpM<@@c0wh9vo(wTk!Ee0DE&zUH||9 literal 0 HcmV?d00001 diff --git a/public/eagle.png b/public/eagle.png new file mode 100644 index 0000000000000000000000000000000000000000..561c69620f48a277b36fede22bea15d357c6c02f GIT binary patch literal 37728 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 literal 0 HcmV?d00001 diff --git a/tailwind.config.js b/tailwind.config.js index 6286d14a..9f95b265 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -11,6 +11,7 @@ module.exports = { socialBg: '#FFFFFF', //socialBg:'#F5F7FB', socialBlue: '#218DFA', + buttonColour: '#F11957', }, }, }, diff --git a/utils/database.types.ts b/utils/database.types.ts index 6674eea5..245337a1 100644 --- a/utils/database.types.ts +++ b/utils/database.types.ts @@ -74,6 +74,35 @@ export interface Database { screenshot: string | null } } + spaceships: { + Row: { + id: number + owner: number | null + name: string | null + image: string | null + hp: number | null + attack: number | null + speed: number | null + } + Insert: { + id: number + owner: number | null + name: string | null + image: string | null + hp: number | null + attack: number | null + speed: number | null + } + Update: { + id: number + owner: number | null + name: string | null + image: string | null + hp: number | null + attack: number | null + speed: number | null + } + } } Views: { [_ in never]: never