From 330267a9d5939ae239143565f4897473d307ac89 Mon Sep 17 00:00:00 2001 From: rsandb Date: Sun, 15 Jan 2023 01:51:00 +0000 Subject: [PATCH 01/11] update docs/docs/api/openapi.json by run 3921253729 --- docs/docs/api/openapi.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/api/openapi.json b/docs/docs/api/openapi.json index 540cceae..a8caef29 100644 --- a/docs/docs/api/openapi.json +++ b/docs/docs/api/openapi.json @@ -1320,7 +1320,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/User" + "$ref": "#/components/schemas/FrontEndUser" } } } From ce9b665b4de89ab11fd033f2787cd78d2b13b5e0 Mon Sep 17 00:00:00 2001 From: rsandb Date: Sat, 14 Jan 2023 00:43:41 -0600 Subject: [PATCH 02/11] Welcome Modal --- .../src/components/Dashboard/WelcomeModal.tsx | 52 +++++++++++++++++++ website/src/components/Dashboard/index.ts | 1 + website/src/pages/dashboard.tsx | 9 +--- 3 files changed, 55 insertions(+), 7 deletions(-) create mode 100644 website/src/components/Dashboard/WelcomeModal.tsx diff --git a/website/src/components/Dashboard/WelcomeModal.tsx b/website/src/components/Dashboard/WelcomeModal.tsx new file mode 100644 index 00000000..24e6b389 --- /dev/null +++ b/website/src/components/Dashboard/WelcomeModal.tsx @@ -0,0 +1,52 @@ +import { + Box, + Button, + Modal, + ModalBody, + ModalCloseButton, + ModalContent, + ModalFooter, + ModalHeader, + ModalOverlay, + Text, + useColorModeValue, +} from "@chakra-ui/react"; +import { useSession } from "next-auth/react"; +import { useState } from "react"; + +export function WelcomeModal() { + const backgroundColor = useColorModeValue("white", "gray.700"); + const { data: session } = useSession(); + + const [showModal, setShowModal] = useState(true); + + if (!session) { + return <>; + } + if (session && session.user) + return ( + <> + setShowModal(false)} isCentered> + + + Welcome, {session.user.name}! + + + + + Open Assistant is an open-source AI assistant that uses and trains advanced language models to + understand and respond to humans. + + Help train + + + + + + + + + ); +} diff --git a/website/src/components/Dashboard/index.ts b/website/src/components/Dashboard/index.ts index 6e110534..0d6ca5e3 100644 --- a/website/src/components/Dashboard/index.ts +++ b/website/src/components/Dashboard/index.ts @@ -1,2 +1,3 @@ export { LeaderboardTable } from "./LeaderboardTable"; export { TaskOption } from "./TaskOption"; +export { WelcomeModal } from "./WelcomeModal"; diff --git a/website/src/pages/dashboard.tsx b/website/src/pages/dashboard.tsx index 3971e125..c4245554 100644 --- a/website/src/pages/dashboard.tsx +++ b/website/src/pages/dashboard.tsx @@ -1,16 +1,10 @@ import { Flex } from "@chakra-ui/react"; import Head from "next/head"; -import { useSession } from "next-auth/react"; -import { LeaderboardTable, TaskOption } from "src/components/Dashboard"; +import { LeaderboardTable, TaskOption, WelcomeModal } from "src/components/Dashboard"; import { getDashboardLayout } from "src/components/Layout"; import { TaskCategory } from "src/components/Tasks/TaskTypes"; const Dashboard = () => { - const { data: session } = useSession(); - - // TODO(#670): Do something more meaningful when the user is new. - console.log(session?.user?.isNew); - return ( <> @@ -18,6 +12,7 @@ const Dashboard = () => { + From f70ab2314b979f14b05fe30729f8ff9bc7674e49 Mon Sep 17 00:00:00 2001 From: rsandb Date: Sat, 14 Jan 2023 00:53:18 -0600 Subject: [PATCH 03/11] copy edit --- website/src/components/Dashboard/WelcomeModal.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/website/src/components/Dashboard/WelcomeModal.tsx b/website/src/components/Dashboard/WelcomeModal.tsx index 24e6b389..07010bf6 100644 --- a/website/src/components/Dashboard/WelcomeModal.tsx +++ b/website/src/components/Dashboard/WelcomeModal.tsx @@ -1,6 +1,7 @@ import { Box, Button, + Divider, Modal, ModalBody, ModalCloseButton, @@ -37,7 +38,8 @@ export function WelcomeModal() { Open Assistant is an open-source AI assistant that uses and trains advanced language models to understand and respond to humans. - Help train + + Do tasks to help train the model and earn points based on the amount of tasks you do. From dbaa3eecf8664163ed4bd20cca3eda06350da0ff Mon Sep 17 00:00:00 2001 From: rsandb Date: Sat, 14 Jan 2023 02:53:49 -0600 Subject: [PATCH 04/11] add fallback name --- website/src/components/Dashboard/WelcomeModal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/components/Dashboard/WelcomeModal.tsx b/website/src/components/Dashboard/WelcomeModal.tsx index 07010bf6..e19b1ed7 100644 --- a/website/src/components/Dashboard/WelcomeModal.tsx +++ b/website/src/components/Dashboard/WelcomeModal.tsx @@ -30,7 +30,7 @@ export function WelcomeModal() { setShowModal(false)} isCentered> - Welcome, {session.user.name}! + Welcome, {session.user.name || "Contributor"}! From a57ab054f09f39c18426f623eb1cbbb52f5f270f Mon Sep 17 00:00:00 2001 From: rsandb Date: Sat, 14 Jan 2023 03:08:07 -0600 Subject: [PATCH 05/11] uses localStorage to show modal --- website/src/components/Dashboard/WelcomeModal.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/website/src/components/Dashboard/WelcomeModal.tsx b/website/src/components/Dashboard/WelcomeModal.tsx index e19b1ed7..f8544db2 100644 --- a/website/src/components/Dashboard/WelcomeModal.tsx +++ b/website/src/components/Dashboard/WelcomeModal.tsx @@ -13,7 +13,7 @@ import { useColorModeValue, } from "@chakra-ui/react"; import { useSession } from "next-auth/react"; -import { useState } from "react"; +import { useState, useEffect } from "react"; export function WelcomeModal() { const backgroundColor = useColorModeValue("white", "gray.700"); @@ -21,6 +21,15 @@ export function WelcomeModal() { const [showModal, setShowModal] = useState(true); + // useEffect(() => { + // if (!localStorage.getItem("welcomeModalSeen")) { + // setShowModal(true); + // localStorage.setItem("welcomeModalSeen", "true"); + // } else { + // setShowModal(false); + // } + // }, []); + if (!session) { return <>; } @@ -39,7 +48,7 @@ export function WelcomeModal() { understand and respond to humans. - Do tasks to help train the model and earn points based on the amount of tasks you do. + Complete tasks to help train the model and earn points! From 92a707bdc15402c2a059cb89b9d824109074c786 Mon Sep 17 00:00:00 2001 From: rsandb Date: Sat, 14 Jan 2023 03:09:41 -0600 Subject: [PATCH 06/11] uses localStorage --- .../src/components/Dashboard/WelcomeModal.tsx | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/website/src/components/Dashboard/WelcomeModal.tsx b/website/src/components/Dashboard/WelcomeModal.tsx index f8544db2..49b9c317 100644 --- a/website/src/components/Dashboard/WelcomeModal.tsx +++ b/website/src/components/Dashboard/WelcomeModal.tsx @@ -16,19 +16,18 @@ import { useSession } from "next-auth/react"; import { useState, useEffect } from "react"; export function WelcomeModal() { - const backgroundColor = useColorModeValue("white", "gray.700"); const { data: session } = useSession(); - const [showModal, setShowModal] = useState(true); + const [showModal, setShowModal] = useState(false); - // useEffect(() => { - // if (!localStorage.getItem("welcomeModalSeen")) { - // setShowModal(true); - // localStorage.setItem("welcomeModalSeen", "true"); - // } else { - // setShowModal(false); - // } - // }, []); + useEffect(() => { + if (!localStorage.getItem("welcomeModalSeen")) { + setShowModal(true); + localStorage.setItem("welcomeModalSeen", "true"); + } else { + setShowModal(false); + } + }, []); if (!session) { return <>; From 2e0f6115c28ea5fd6f7ae39d4c36c12ba2d533c5 Mon Sep 17 00:00:00 2001 From: rsandb Date: Sat, 14 Jan 2023 22:20:29 -0600 Subject: [PATCH 07/11] styling changes working on new content to put in. Thinking it'll be a menu where the new user will setup their username if they sign up with email and some other tutorial steps --- .../src/components/Dashboard/WelcomeModal.tsx | 56 +++++++++++-------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/website/src/components/Dashboard/WelcomeModal.tsx b/website/src/components/Dashboard/WelcomeModal.tsx index 49b9c317..4a6006df 100644 --- a/website/src/components/Dashboard/WelcomeModal.tsx +++ b/website/src/components/Dashboard/WelcomeModal.tsx @@ -18,16 +18,16 @@ import { useState, useEffect } from "react"; export function WelcomeModal() { const { data: session } = useSession(); - const [showModal, setShowModal] = useState(false); + const [showModal, setShowModal] = useState(true); - useEffect(() => { - if (!localStorage.getItem("welcomeModalSeen")) { - setShowModal(true); - localStorage.setItem("welcomeModalSeen", "true"); - } else { - setShowModal(false); - } - }, []); + // useEffect(() => { + // if (!localStorage.getItem("welcomeModalSeen")) { + // setShowModal(true); + // localStorage.setItem("welcomeModalSeen", "true"); + // } else { + // setShowModal(false); + // } + // }, []); if (!session) { return <>; @@ -37,20 +37,32 @@ export function WelcomeModal() { <> setShowModal(false)} isCentered> - - Welcome, {session.user.name || "Contributor"}! - - - - - Open Assistant is an open-source AI assistant that uses and trains advanced language models to - understand and respond to humans. + + + + + Welcome, {session.user.name || "Contributor"}! - - Complete tasks to help train the model and earn points! - - - + + + + + + Open Assistant is an open-source AI assistant that uses and trains advanced language models to + understand and respond to humans. + + + Complete tasks to help train the model and earn points. + + + + From 97a87f8c23a0d4933187081dd6cbf9e6f948b6b9 Mon Sep 17 00:00:00 2001 From: rsandb Date: Sun, 15 Jan 2023 16:33:40 -0600 Subject: [PATCH 08/11] add isNew function --- website/src/components/Dashboard/WelcomeModal.tsx | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/website/src/components/Dashboard/WelcomeModal.tsx b/website/src/components/Dashboard/WelcomeModal.tsx index 4a6006df..7ecaebac 100644 --- a/website/src/components/Dashboard/WelcomeModal.tsx +++ b/website/src/components/Dashboard/WelcomeModal.tsx @@ -10,29 +10,19 @@ import { ModalHeader, ModalOverlay, Text, - useColorModeValue, } from "@chakra-ui/react"; import { useSession } from "next-auth/react"; -import { useState, useEffect } from "react"; +import { useState } from "react"; export function WelcomeModal() { const { data: session } = useSession(); const [showModal, setShowModal] = useState(true); - // useEffect(() => { - // if (!localStorage.getItem("welcomeModalSeen")) { - // setShowModal(true); - // localStorage.setItem("welcomeModalSeen", "true"); - // } else { - // setShowModal(false); - // } - // }, []); - if (!session) { return <>; } - if (session && session.user) + if (session && session.user && session.user.isNew) return ( <> setShowModal(false)} isCentered> From 5d3cd5a4e7f0509821dc9e66a84e445045df8eaa Mon Sep 17 00:00:00 2001 From: rsandb Date: Mon, 16 Jan 2023 17:05:33 -0600 Subject: [PATCH 09/11] convert modal into widget copy still needs tweaking --- .../src/components/Dashboard/WelcomeCard.tsx | 52 +++++++++++++++ .../src/components/Dashboard/WelcomeModal.tsx | 64 ------------------- website/src/components/Dashboard/index.ts | 2 +- website/src/pages/dashboard.tsx | 4 +- 4 files changed, 55 insertions(+), 67 deletions(-) create mode 100644 website/src/components/Dashboard/WelcomeCard.tsx delete mode 100644 website/src/components/Dashboard/WelcomeModal.tsx diff --git a/website/src/components/Dashboard/WelcomeCard.tsx b/website/src/components/Dashboard/WelcomeCard.tsx new file mode 100644 index 00000000..058e1e80 --- /dev/null +++ b/website/src/components/Dashboard/WelcomeCard.tsx @@ -0,0 +1,52 @@ +import { Box, Button, Divider, Text, useColorMode } from "@chakra-ui/react"; +import { useSession } from "next-auth/react"; +import { useState } from "react"; +import { FiX } from "react-icons/fi"; + +export function WelcomeCard() { + const { colorMode } = useColorMode(); + const backgroundColor = colorMode === "light" ? "white" : "gray.700"; + const titleColor = colorMode === "light" ? "blue.500" : "blue.300"; + + const { data: session } = useSession(); + + const [showCard, setShowCard] = useState("true"); + + if (!session) { + return <>; + } + if (session && session.user && session.user.isNew) + return ( + <> + + + + + Welcome, {session.user.name || "Contributor"}! + + + + + + Open Assistant is an open-source AI assistant that uses and trains advanced language models to + understand and respond to humans. + + + Complete tasks to help train the model and earn points. + + + + + + + ); +} diff --git a/website/src/components/Dashboard/WelcomeModal.tsx b/website/src/components/Dashboard/WelcomeModal.tsx deleted file mode 100644 index 7ecaebac..00000000 --- a/website/src/components/Dashboard/WelcomeModal.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { - Box, - Button, - Divider, - Modal, - ModalBody, - ModalCloseButton, - ModalContent, - ModalFooter, - ModalHeader, - ModalOverlay, - Text, -} from "@chakra-ui/react"; -import { useSession } from "next-auth/react"; -import { useState } from "react"; - -export function WelcomeModal() { - const { data: session } = useSession(); - - const [showModal, setShowModal] = useState(true); - - if (!session) { - return <>; - } - if (session && session.user && session.user.isNew) - return ( - <> - setShowModal(false)} isCentered> - - - - - - Welcome, {session.user.name || "Contributor"}! - - - - - - - Open Assistant is an open-source AI assistant that uses and trains advanced language models to - understand and respond to humans. - - - Complete tasks to help train the model and earn points. - - - - - - - - - - ); -} diff --git a/website/src/components/Dashboard/index.ts b/website/src/components/Dashboard/index.ts index 0d6ca5e3..84a93850 100644 --- a/website/src/components/Dashboard/index.ts +++ b/website/src/components/Dashboard/index.ts @@ -1,3 +1,3 @@ export { LeaderboardTable } from "./LeaderboardTable"; export { TaskOption } from "./TaskOption"; -export { WelcomeModal } from "./WelcomeModal"; +export { WelcomeCard } from "./WelcomeCard"; diff --git a/website/src/pages/dashboard.tsx b/website/src/pages/dashboard.tsx index c4245554..78a47fd4 100644 --- a/website/src/pages/dashboard.tsx +++ b/website/src/pages/dashboard.tsx @@ -1,6 +1,6 @@ import { Flex } from "@chakra-ui/react"; import Head from "next/head"; -import { LeaderboardTable, TaskOption, WelcomeModal } from "src/components/Dashboard"; +import { LeaderboardTable, TaskOption, WelcomeCard } from "src/components/Dashboard"; import { getDashboardLayout } from "src/components/Layout"; import { TaskCategory } from "src/components/Tasks/TaskTypes"; @@ -12,7 +12,7 @@ const Dashboard = () => { - + From 87572ad589d1f18094fbaf038de5cd7d83614aed Mon Sep 17 00:00:00 2001 From: rsandb Date: Mon, 16 Jan 2023 17:13:28 -0600 Subject: [PATCH 10/11] removed button as modal will disappear when user is no longer new --- website/src/components/Dashboard/WelcomeCard.tsx | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/website/src/components/Dashboard/WelcomeCard.tsx b/website/src/components/Dashboard/WelcomeCard.tsx index 058e1e80..8c7d687f 100644 --- a/website/src/components/Dashboard/WelcomeCard.tsx +++ b/website/src/components/Dashboard/WelcomeCard.tsx @@ -1,7 +1,5 @@ -import { Box, Button, Divider, Text, useColorMode } from "@chakra-ui/react"; +import { Box, Divider, Text, useColorMode } from "@chakra-ui/react"; import { useSession } from "next-auth/react"; -import { useState } from "react"; -import { FiX } from "react-icons/fi"; export function WelcomeCard() { const { colorMode } = useColorMode(); @@ -10,8 +8,6 @@ export function WelcomeCard() { const { data: session } = useSession(); - const [showCard, setShowCard] = useState("true"); - if (!session) { return <>; } @@ -21,7 +17,6 @@ export function WelcomeCard() { Complete tasks to help train the model and earn points. - - From 23ef831c8afcd71af412ca5844edf0edd21e9cf1 Mon Sep 17 00:00:00 2001 From: rsandb Date: Mon, 16 Jan 2023 18:27:26 -0600 Subject: [PATCH 11/11] Update openapi.json --- docs/docs/api/openapi.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/api/openapi.json b/docs/docs/api/openapi.json index a8caef29..540cceae 100644 --- a/docs/docs/api/openapi.json +++ b/docs/docs/api/openapi.json @@ -1320,7 +1320,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FrontEndUser" + "$ref": "#/components/schemas/User" } } }