diff --git a/ui/.eslintrc.json b/ui/.eslintrc.json index c0ce4add..a0f304c1 100644 --- a/ui/.eslintrc.json +++ b/ui/.eslintrc.json @@ -27,7 +27,7 @@ "eslint-plugin-tsdoc" ], "rules": { - "@stylistic/max-len": ["error", { "code": 120 }], + "@stylistic/max-len": ["warn", { "code": 120 }], "@stylistic/indent": ["error", 4], "@stylistic/eol-last": ["error", "always"], "@stylistic/quotes": ["error", "single", { "allowTemplateLiterals": true }], diff --git a/ui/package.json b/ui/package.json index 11569645..1a100b52 100644 --- a/ui/package.json +++ b/ui/package.json @@ -15,6 +15,7 @@ "dependencies": { "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-slot": "^1.0.2", + "@radix-ui/react-tabs": "^1.0.4", "camaro": "^6.2.2", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", diff --git a/ui/src/app/admin/page.tsx b/ui/src/app/admin/page.tsx new file mode 100644 index 00000000..5ba4c690 --- /dev/null +++ b/ui/src/app/admin/page.tsx @@ -0,0 +1,58 @@ +import { Tabs, TabsList, TabsTrigger, TabsContent } from '@/components/ui/tabs'; + +const Admin = () => { + return ( +
+
+
+

UH Groupings Administration

+

+ Search for and manage any grouping on behalf of its owner. + Manage the list of UH Groupings administrators. +

+
+ +
+ + + Manage Groupings + + + Manage Admins + + + Manage Person + + +
+ +
+
+ {/* GroupingsTable goes here */} +
+
+
+ +
+
+ {/* AdminTable goes here */} +
+
+
+ +
+
+ {/* PersonTable goes here */} +
+
+
+
+
+
+ ); +} + +export default Admin; diff --git a/ui/src/app/groupings/page.tsx b/ui/src/app/groupings/page.tsx new file mode 100644 index 00000000..0824e8fa --- /dev/null +++ b/ui/src/app/groupings/page.tsx @@ -0,0 +1,22 @@ +const Groupings = () => { + return ( +
+
+
+

Manage My Groupings

+

+ View and manage groupings I own. Manage members, + configure grouping options and sync destinations. +

+
+
+
+ {/* GroupingsTable goes here */} +
+
+
+
+ ); +} + +export default Groupings; diff --git a/ui/src/app/memberships/page.tsx b/ui/src/app/memberships/page.tsx new file mode 100644 index 00000000..09aa557b --- /dev/null +++ b/ui/src/app/memberships/page.tsx @@ -0,0 +1,46 @@ +import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; + +const Memberships = () => { + return ( +
+
+
+

Manage My Memberships

+

+ View and manage my memberships. Search for new groupings to join as a member. +

+
+ +
+ + + Current Memberships + + + Membership Opportunities + + +
+ +
+
+ {/* MembershipsTable goes here */} +
+
+
+ +
+
+ {/* MembershipsTable goes here */} +
+
+
+
+
+
+ ); +} + +export default Memberships; diff --git a/ui/src/components/layout/navbar/Navbar.tsx b/ui/src/components/layout/navbar/Navbar.tsx index 6c4b1504..a775626b 100644 --- a/ui/src/components/layout/navbar/Navbar.tsx +++ b/ui/src/components/layout/navbar/Navbar.tsx @@ -10,7 +10,7 @@ const Navbar = async () => { const currentUser = await getCurrentUser(); return ( -