Skip to content

Commit 8a7a8db

Browse files
committed
feat: add Non-Host Users page with user filtering and CSV download functionality
1 parent 59ee582 commit 8a7a8db

4 files changed

Lines changed: 572 additions & 1 deletion

File tree

src/App.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import BannersPage from "./pages/BannersPage.tsx";
2020
import EmailSender from "./pages/EmailSender.tsx";
2121
import Store from "./pages/Store.tsx";
2222
import AccommodationPage from "./pages/AccommodationPage.tsx";
23+
import NonHostUsersPage from "./pages/NonHostUsersPage.tsx";
2324
import { ThemeProvider } from "./contexts/ThemeContext";
2425
import "./styles/dark-theme.css";
2526

@@ -193,6 +194,16 @@ const App: React.FC = () => {
193194
</DashboardLayout>
194195
}
195196
/>
197+
<Route
198+
path="/non-host-users"
199+
element={
200+
<DashboardLayout>
201+
<ProtectedRoute allowedRoles={["admin","outreach-admin","event-admin","outreach-member"]}>
202+
<NonHostUsersPage />
203+
</ProtectedRoute>
204+
</DashboardLayout>
205+
}
206+
/>
196207
<Route
197208
path="/users/:userId"
198209
element={

src/component/EventTransactions.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ const EventTransactions: React.FC<EventTransactionsProps> = ({ eventId, eventNam
167167
pending: { variant: "warning", text: "Pending" },
168168
completed: { variant: "success", text: "Completed" },
169169
failed: { variant: "danger", text: "Failed" },
170+
success: { variant: "success", text: "Success" },
171+
usercancelled: { variant: "danger", text: "User Cancelled" },
170172
cancelled: { variant: "secondary", text: "Cancelled" },
171173
};
172174

src/component/Sidebar.tsx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ import {
1515
BsList,
1616
BsChevronLeft,
1717
BsShop,
18-
BsHouseDoor
18+
BsHouseDoor,
19+
BsPersonBadge
1920
} from "react-icons/bs";
2021
import satLogo from "../../public/sat-logo.png";
2122
// import useCurrentUser from "../hooks/useCurrentUser";
@@ -232,6 +233,19 @@ const Sidebar: React.FC = () => {
232233
</NavLink>
233234
</Tooltip>
234235

236+
<Tooltip text="Non-Host Users" show={isCollapsed && hoveredItem === 'non-host-users'}>
237+
<NavLink
238+
to="/non-host-users"
239+
className={({ isActive }) => getNavLinkClasses(isActive)}
240+
style={{ textDecoration: 'none', transition: 'all 0.2s ease' }}
241+
onMouseEnter={() => setHoveredItem('non-host-users')}
242+
onMouseLeave={() => setHoveredItem(null)}
243+
>
244+
<BsPersonBadge size={ICON_SIZE} />
245+
{!isCollapsed && <span className="ms-3">Non-Host Users</span>}
246+
</NavLink>
247+
</Tooltip>
248+
235249
<Tooltip text="Bills" show={isCollapsed && hoveredItem === 'bills'}>
236250
<NavLink
237251
to="/bills"

0 commit comments

Comments
 (0)