Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

94 changes: 70 additions & 24 deletions src/Adminside/Components/Entrypage.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,23 @@ const AtlasRoleSelect = () => {
const isMobile = width < 480;

const roles = [
{ label: "Employee", icon: <User size={26} />, path: "/employeelogin" },
{ label: "Manager", icon: <Briefcase size={26} />, path: "/managerlogin" },
{ label: "Human Resource", icon: <Users size={26} />, path: "/hrlogin" },
{ label: "Administrator", icon: <ShieldCheck size={26} />, path: "/login" },
{ label: "Employee", icon: <User size={26} />, path: "/employeelogin" },
{ label: "Manager", icon: <Briefcase size={26} />, path: "/managerlogin" },
{ label: "Human Resource", icon: <Users size={26} />, path: "/hrlogin" },
{ label: "Administrator", icon: <ShieldCheck size={26} />, path: "/login" },
];

/* ── Mobile layout — single column stacked cards ── */
if (isMobile) {
return (
<div className={styles.wrapper}>
<div className={styles.mobileContainer}>

<div className={styles.tabBrand}>
<img src={require("./atlas.png")} alt="Atlas logo" className={styles.tabLogoImg} />
<img
src={require("./atlas.png")}
alt="Atlas logo"
className={styles.tabLogoImg}
/>
<h1 className={styles.tabTitle}>Aτλας</h1>
<p className={styles.tabSubtitle}>Access your workspace</p>
<div className={styles.tabDivider} />
Expand Down Expand Up @@ -56,9 +59,12 @@ const AtlasRoleSelect = () => {
return (
<div className={styles.wrapper}>
<div className={styles.tabContainer}>

<div className={styles.tabBrand}>
<img src={require("./atlas.png")} alt="Atlas logo" className={styles.tabLogoImg} />
<img
src={require("./atlas.png")}
alt="Atlas logo"
className={styles.tabLogoImg}
/>
<h1 className={styles.tabTitle}>Aτλας</h1>
<p className={styles.tabSubtitle}>Access your workspace</p>
<div className={styles.tabDivider} />
Expand All @@ -80,7 +86,9 @@ const AtlasRoleSelect = () => {
))}
</div>

<footer className={styles.tabFooter}>© 2025-26 Powered by NoCapCode Infrastructure.</footer>
<footer className={styles.tabFooter}>
© 2025-26 Powered by NoCapCode Infrastructure.
</footer>
</div>
</div>
);
Expand All @@ -90,12 +98,14 @@ const AtlasRoleSelect = () => {
return (
<div className={styles.wrapper}>
<div className={styles.container}>

<div className={styles.content}>
<div className={styles.leftSection}>
<h1 className={styles.heading}>Welcome to <span>Aτλας</span> Workspace</h1>
<h1 className={styles.heading}>
Welcome to <span>Aτλας</span> Workspace
</h1>
<p className={styles.subText}>
Select your functional portal to access the workspace <br />environments designed for your role.
Select your functional portal to access the workspace <br />
environments designed for your role.
</p>
<ul className={styles.list}>
<li>✓ Secure authentication</li>
Expand All @@ -105,28 +115,64 @@ const AtlasRoleSelect = () => {
</div>

<div className={styles.cardGrid}>
<motion.div whileHover={{ scale: 1.05 }} className={styles.roleCard} onClick={() => navigate("/employeelogin")}>
<div className={styles.iconBox}><User size={40} /></div>
<motion.div
whileHover={{ scale: 1.05 }}
className={styles.roleCard}
onClick={() => navigate("/employeelogin")}
>
<div className={styles.iconBox}>
<User size={40} />
</div>
<h2>Employee</h2>
<p>Access your personal dashboard, pay stubs, benefits, and training modules.</p>
<p>
Access your personal dashboard, pay stubs, benefits, and
training modules.
</p>
</motion.div>

<motion.div whileHover={{ scale: 1.05 }} className={styles.roleCard} onClick={() => navigate("/managerlogin")}>
<div className={styles.iconBox}><Briefcase size={40} /></div>
<motion.div
whileHover={{ scale: 1.05 }}
className={styles.roleCard}
onClick={() => navigate("/managerlogin")}
>
<div className={styles.iconBox}>
<Briefcase size={40} />
</div>
<h2>Manager</h2>
<p>Review team performance metrics, approve requests, and manage talent pipelines.</p>
<p>
Review team performance metrics, approve requests, and manage
talent pipelines.
</p>
</motion.div>

<motion.div whileHover={{ scale: 1.05 }} className={styles.roleCard} onClick={() => navigate("/hrlogin")}>
<div className={styles.iconBox}><Users size={40} /></div>
<motion.div
whileHover={{ scale: 1.05 }}
className={styles.roleCard}
onClick={() => navigate("/hrlogin")}
>
<div className={styles.iconBox}>
<Users size={40} />
</div>
<h2>Human Resource</h2>
<p>Administer company-wide policies, recruitment cycles, and employee relations.</p>
<p>
Administer company-wide policies, recruitment cycles, and
employee relations.
</p>
</motion.div>

<motion.div whileHover={{ scale: 1.05 }} className={styles.roleCard} onClick={() => navigate("/login")}>
<div className={styles.iconBox}><ShieldCheck size={40} /></div>
<motion.div
whileHover={{ scale: 1.05 }}
className={styles.roleCard}
onClick={() => navigate("/login")}
>
<div className={styles.iconBox}>
<ShieldCheck size={40} />
</div>
<h2>Administrator</h2>
<p>Full system overrides, configuration management, and security auditing logs.</p>
<p>
Full system overrides, configuration management, and security
auditing logs.
</p>
</motion.div>
</div>
</div>
Expand Down
15 changes: 9 additions & 6 deletions src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ import EmployeeDetails from "./Adminside/Components/EmployeeDetailspage";
import EmployeeProfile from "./Employee Side/Components/EmployeeProfile";
import ManagerLogin from "./Managerside/components/ManagerLogin";
import HRLogin from "./hrside/Components/HRLogin";
import HRNavbar from "./hrside/Components/HRNavbar";
import HRDashboard from "./hrside/Components/HRDashboard";
import { SidebarProvider } from "./hrside/Components/SidebarContext";
import Manager from "./Adminside/Components/Manager";
import Activity from "./Adminside/Components/Activity";

Expand All @@ -45,10 +48,11 @@ function Layout({ children }) {

const hideNavbarRoutes = ["/","/login","/employeelogin","/managerlogin","/hrlogin"];
const hideNavbar = hideNavbarRoutes.includes(location.pathname);
const isHRRoute = location.pathname.startsWith("/hr/");

return (
<>
{!hideNavbar && <Navbar />}
{!hideNavbar && (isHRRoute ? <HRNavbar /> : <Navbar />)}
{children}
</>
);
Expand All @@ -58,6 +62,7 @@ function Layout({ children }) {
function App() {
return (
<>
<SidebarProvider>
<Router>
<Layout>
<Routes>
Expand Down Expand Up @@ -101,17 +106,15 @@ function App() {

{/* hr */}
<Route path="/hrlogin" element={<HRLogin/>} />
<Route path="/hr/dashboard" element={<HRDashboard />} />
</Routes>
</Layout>
</Router>
</SidebarProvider>

<ToastContainer position="top-center" autoClose={3000} />
</>
);
}

export default App;




export default App;
Loading
Loading