fix: add report layout

This commit is contained in:
2025-11-04 17:00:56 +05:30
parent 3b8c64826a
commit 8801d56d3d
3 changed files with 80 additions and 15 deletions

View File

@@ -14,13 +14,8 @@ interface SendOtpPayload {
}
function getStoredMobileNumber(): string {
<<<<<<< HEAD
// const mobileNumber = localStorage.getItem('remitter_mobile_no');
const mobileNumber = "7890544527";
=======
const mobileNumber = localStorage.getItem('remitter_mobile_no');
// const mobileNumber = "6297421727";
>>>>>>> 9850e742fc9e2db185e3a73807bc3c84570153e7
if (!mobileNumber) throw new Error('Mobile number not found.');
return mobileNumber;
}

View File

@@ -22,6 +22,7 @@ import {
IconUsers,
IconChevronDown,
IconChevronUp,
IconReportSearch,
IconSettings,
} from "@tabler/icons-react";
import UserConfiguration from "./UserConfiguration";
@@ -36,6 +37,7 @@ export default function Login() {
const [lastLoginDetails, setLastLoginDetails] = useState<string | null>(null);
const [userMenuOpen, setUserMenuOpen] = useState(true);
const [configMenuOpen, setConfigMenuOpen] = useState(false);
const [reportOpen, setReportMenuOpen] = useState(false);
async function handleLogout(e: React.FormEvent) {
e.preventDefault();
@@ -226,6 +228,74 @@ export default function Login() {
</Stack>
</Collapse>
{/* Reports */}
<UnstyledButton
onClick={() => setReportMenuOpen(!reportOpen)}
style={{
display: "flex",
alignItems: "center",
justifyContent: "space-between",
width: "100%",
padding: "5px 6px",
borderRadius: "4px",
marginTop: "8px",
backgroundColor: "rgba(255,255,255,0.1)",
color: "white",
fontSize: "13px",
}}
>
<Group gap="xs">
<IconReportSearch size={15} />
<Text fw={600} size="sm">
Reports
</Text>
</Group>
{reportOpen ? <IconChevronUp size={15} /> : <IconChevronDown size={15} />}
</UnstyledButton>
<Collapse in={reportOpen}>
<Stack gap={2} pl="md" mt={4}>
<Box
onClick={() => setView("activeUsersReport")}
style={{
cursor: "pointer",
color: view === "activeUsersReport" ? "#02a355" : "white",
backgroundColor: view === "activeUsersReport" ? "white" : "transparent",
borderRadius: "3px",
padding: "3px 6px",
transition: "0.2s",
}}
>
Active Users Report
</Box>
<Box
onClick={() => setView("noOfTrans")}
style={{
cursor: "pointer",
color: view === "noOfTrans" ? "#02a355" : "white",
backgroundColor: view === "noOfTrans" ? "white" : "transparent",
borderRadius: "3px",
padding: "3px 6px",
transition: "0.2s",
}}
>
Transactions Report
</Box>
{/* <Box
onClick={() => setView("unlockUser")}
style={{
cursor: "pointer",
color: view === "unlockUser" ? "#02a355" : "white",
backgroundColor: view === "unlockUser" ? "white" : "transparent",
borderRadius: "3px",
padding: "3px 6px",
transition: "0.2s",
}}
>
• User Unlock
</Box> */}
</Stack>
</Collapse>
{/* Configuration */}
<UnstyledButton
onClick={() => setConfigMenuOpen(!configMenuOpen)}
@@ -303,6 +373,16 @@ export default function Login() {
{view === "userConf" && <UserConfiguration />}
{view === "viewUser" && <ViewUserConfiguration />}
{view === "unlockUser" && <UnlockedUsers />}
{view === "noOfTrans" && (
<Text size="sm" c="gray">
Reports will be Coming Soon
</Text>
)}
{view === "activeUsersReport" && (
<Text size="sm" c="gray">
Active users Reports will be Coming Soon
</Text>
)}
{view === "ifscConfig" && (
<Text size="sm" c="gray">
IFSC Configuration Page Coming Soon

View File

@@ -45,13 +45,8 @@ export default function Login() {
}
try {
<<<<<<< HEAD
// await sendOtp({ type: 'LOGIN_OTP', username: CIF, mobileNumber: mobile });
await sendOtp({ type: 'LOGIN_OTP', username: CIF, mobileNumber: "7890544527" });
=======
await sendOtp({ type: 'LOGIN_OTP', username: CIF, mobileNumber: mobile });
// await sendOtp({ type: 'LOGIN_OTP', username: CIF, mobileNumber: "6297421727" });
>>>>>>> 9850e742fc9e2db185e3a73807bc3c84570153e7
notifications.show({
color: 'orange',
title: 'OTP Required',
@@ -72,13 +67,8 @@ export default function Login() {
async function handleVerifyOtp(mobile?: string) {
try {
if (mobile) {
<<<<<<< HEAD
// await verifyLoginOtp(otp, mobile);
await verifyLoginOtp(otp, '7890544527');
=======
await verifyLoginOtp(otp, mobile);
// await verifyLoginOtp(otp, '6297421727');
>>>>>>> 9850e742fc9e2db185e3a73807bc3c84570153e7
return true;
}
}