diff --git a/src/components/NewUI/GroupJoinerLink.tsx b/src/components/NewUI/GroupJoinerLink.tsx
new file mode 100644
index 0000000..099734f
--- /dev/null
+++ b/src/components/NewUI/GroupJoinerLink.tsx
@@ -0,0 +1,51 @@
+import { useCallback, useState } from 'react';
+import UIButton from './UIButton';
+import UIPressable from './UIPressable';
+import UISecondaryBox from './UISecondaryBox';
+import UITextInput from './UITextInput';
+
+function GroupJoiner() {
+ const [code, setCode] = useState('');
+ const [joining, setJoining] = useState(false);
+ const join = useCallback(() => {
+ if (code) {
+ console.log('Joining a group with the code', code);
+ setJoining(true);
+ setTimeout(() => {
+ setJoining(false);
+ }, 500);
+ }
+ }, [code]);
+
+ const buttonEnabled = code.length > 0 && !joining;
+
+ return (
+
+ Join Group
+ Code
+
+
+ {joining ? 'Joining' : 'Join'}
+
+
+ );
+}
+
+export default function GroupJoinerLink() {
+ const [open, setOpen] = useState(false);
+ const toggle = useCallback(() => {
+ setOpen((open) => !open);
+ }, []);
+
+ return (
+ <>
+ Join Group
+ {open && (
+ <>
+
+
+ >
+ )}
+ >
+ );
+}
diff --git a/src/components/NewUI/Groups.tsx b/src/components/NewUI/Groups.tsx
index edb37dc..149e172 100644
--- a/src/components/NewUI/Groups.tsx
+++ b/src/components/NewUI/Groups.tsx
@@ -1,6 +1,7 @@
import { useState, useEffect } from 'react';
import { IGroup } from './Group';
import GroupCreatorLink from './GroupCreatorLink';
+import GroupJoinerLink from './GroupJoinerLink';
import GroupList from './GroupList';
export default function Groups() {
@@ -15,9 +16,19 @@ export default function Groups() {
return (
<>
Groups
+
+
-
+ {groups.length > 0 ? (
+
+ ) : (
+
+ You aren't in any groups. You can create your own by clicking 'create
+ group' above, or join one by asking an admin of the group to send you
+ an invite link.
+
+ )}
>
);
}