Skip to content

Build Employer Dashboard Layout & Navigation Shell#108

Open
Samuel1505 wants to merge 7 commits intoGildado:mainfrom
Samuel1505:employer/dashboard
Open

Build Employer Dashboard Layout & Navigation Shell#108
Samuel1505 wants to merge 7 commits intoGildado:mainfrom
Samuel1505:employer/dashboard

Conversation

@Samuel1505
Copy link

Summary

Implements a responsive employer dashboard layout with sidebar navigation, top bar displaying organization name and balance, and a content area with route outlet integration.

Changes

  • Created EmployerDashboardLayout component with responsive sidebar navigation
  • Added top bar displaying organization name and current balance using Stellar Design System Card component
  • Implemented mobile-responsive sidebar with overlay and toggle functionality
  • Integrated route outlet for nested routing
  • Added navigation items: Dashboard, Payroll, Employees, Reports, Settings
  • Used Stellar Design System components for consistency

Technical Details

  • Component location: frontend/src/components/EmployerDashboardLayout.tsx
  • Uses Stellar Design System Card component for balance display
  • Responsive design with mobile sidebar toggle
  • Organization data currently mocked (ready for API integration)
  • Balance updates based on wallet connection state

Acceptance Criteria Met

  • Responsive dashboard layout with sidebar
  • Top bar displays organization name and current balance
  • Integration with Stellar Design System components

closes #26

@Samuel1505
Copy link
Author

hello @Wilfred007 kindly check

@Samuel1505
Copy link
Author

@Wilfred007 please review this PR, the wave is ending tomorrow.

@Wilfred007
Copy link
Collaborator

@Samuel1505 kindly run build cicd pipeline check is failing with the error stated below

npm run lint
shell: /usr/bin/bash -e {0}
env:
CARGO_TERM_COLOR: always
PKG_CONFIG_PATH: /usr/lib/pkgconfig
PUBLIC_STELLAR_NETWORK: local

scaffold-stellar-frontend@0.0.1 lint
eslint .

/home/runner/work/PayD/PayD/frontend/src/App.tsx
94:16 error Parsing error: JSX expressions must have one parent element

/home/runner/work/PayD/PayD/frontend/src/components/ErrorBoundary.tsx
43:16 warning Using 'cloneElement' is uncommon and can lead to fragile code. Use alternatives instead react-x/no-clone-element

/home/runner/work/PayD/PayD/frontend/src/components/SchedulingWizard.tsx
25:11 error Unsafe assignment of an error typed value @typescript-eslint/no-unsafe-assignment
25:13 error 't' is assigned a value but never used @typescript-eslint/no-unused-vars
25:19 error Unsafe call of a(n) error type typed value @typescript-eslint/no-unsafe-call
97:64 error Unsafe assignment of an any value @typescript-eslint/no-unsafe-assignment
97:83 error Unexpected any. Specify a different type @typescript-eslint/no-explicit-any
236:42 warning Do not use item index in the array as its key react-x/no-array-index-key

/home/runner/work/PayD/PayD/frontend/src/components/TransactionSimulationPanel.tsx
174:38 warning Do not use item index in the array as its key react-x/no-array-index-key

/home/runner/work/PayD/PayD/frontend/src/pages/CrossAssetPayment.tsx
1:27 error 'useEffect' is defined but never used @typescript-eslint/no-unused-vars
12:12 error Unsafe array destructuring of a tuple element with an any value @typescript-eslint/no-unsafe-assignment
12:40 error Unexpected any. Specify a different type @typescript-eslint/no-explicit-any
13:12 error Unsafe array destructuring of a tuple element with an any value @typescript-eslint/no-unsafe-assignment
13:52 error Unexpected any. Specify a different type @typescript-eslint/no-explicit-any
16:33 error Async arrow function 'fetchQuote' has no 'await' expression @typescript-eslint/require-await
40:19 error Unsafe assignment of an any value @typescript-eslint/no-unsafe-assignment
49:42 error Promise returned in function argument where a void return was expected @typescript-eslint/no-misused-promises
50:23 error Unsafe assignment of an any value @typescript-eslint/no-unsafe-assignment
50:87 error Unsafe argument of type any assigned to a parameter of type string @typescript-eslint/no-unsafe-argument
50:94 error Unsafe member access .id on an any value @typescript-eslint/no-unsafe-member-access
52:34 error Unsafe member access .status on an any value @typescript-eslint/no-unsafe-member-access
58:18 error 'error' is defined but never used @typescript-eslint/no-unused-vars
124:48 error Promise-returning function provided to attribute where a void return was expected @typescript-eslint/no-misused-promises
144:41 error Promise-returning function provided to attribute where a void return was expected @typescript-eslint/no-misused-promises
165:101 error Unsafe member access .rate on an any value @typescript-eslint/no-unsafe-member-access
169:87 error Unsafe member access .fee on an any value @typescript-eslint/no-unsafe-member-access
174:46 error Unsafe call of a(n) any typed value @typescript-eslint/no-unsafe-call
174:52 error Unsafe member access .total_out on an any value @typescript-eslint/no-unsafe-member-access
226:111 error Unsafe member access .id on an any value @typescript-eslint/no-unsafe-member-access

/home/runner/work/PayD/PayD/frontend/src/pages/PayrollScheduler.tsx
46:10 error Unsafe array destructuring of a tuple element with an any value @typescript-eslint/no-unsafe-assignment
46:56 error Unexpected any. Specify a different type @typescript-eslint/no-explicit-any
82:43 error Unexpected any. Specify a different type @typescript-eslint/no-explicit-any
89:16 error Unsafe member access .frequency on an any value @typescript-eslint/no-unsafe-member-access
90:21 error Unsafe member access .frequency on an any value @typescript-eslint/no-unsafe-member-access
109:44 error Unexpected any. Specify a different type @typescript-eslint/no-explicit-any
113:29 error Unsafe member access .transactionId on an any value @typescript-eslint/no-unsafe-member-access
114:27 error Unsafe assignment of an any value @typescript-eslint/no-unsafe-assignment
114:40 error Unsafe member access .status on an any value @typescript-eslint/no-unsafe-member-access
119:16 error Unsafe member access .status on an any value @typescript-eslint/no-unsafe-member-access
120:32 error Unsafe member access .transactionId on an any value @typescript-eslint/no-unsafe-member-access
222:129 error Unsafe member access .frequency on an any value @typescript-eslint/no-unsafe-member-access
222:204 error Unsafe member access .timeOfDay on an any value @typescript-eslint/no-unsafe-member-access

/home/runner/work/PayD/PayD/frontend/src/providers/NotificationProvider.tsx
1:32 warning In React 19, 'use' is preferred over 'useContext' because it is more flexible react-x/no-use-context
19:5 warning In React 19, you can render '' as a provider instead of '<Context.Provider>' react-x/no-context-provider
25:14 warning Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components react-refresh/only-export-components
26:19 warning In React 19, 'use' is preferred over 'useContext' because it is more flexible react-x/no-use-context

/home/runner/work/PayD/PayD/frontend/src/providers/SocketProvider.tsx
1:32 warning In React 19, 'use' is preferred over 'useContext' because it is more flexible react-x/no-use-context
15:7 error Unsafe assignment of an any value @typescript-eslint/no-unsafe-assignment
23:26 error Unsafe argument of type any assigned to a parameter of type string | undefined @typescript-eslint/no-unsafe-argument
51:6 warning React Hook useEffect has a missing dependency: 'notify'. Either include it or remove the dependency array react-hooks/exhaustive-deps
66:5 warning In React 19, you can render '' as a provider instead of '<Context.Provider>' react-x/no-context-provider
79:14 warning Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components react-refresh/only-export-components
80:19 warning In React 19, 'use' is preferred over 'useContext' because it is more flexible react-x/no-use-context

/home/runner/work/PayD/PayD/frontend/src/providers/WalletProvider.tsx
1:25 warning In React 19, 'use' is preferred over 'useContext' because it is more flexible react-x/no-use-context
64:5 warning In React 19, you can render '' as a provider instead of '<Context.Provider>' react-x/no-context-provider
70:14 warning Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components react-refresh/only-export-components
71:19 warning In React 19, 'use' is preferred over 'useContext' because it is more flexible react-x/no-use-context

/home/runner/work/PayD/PayD/frontend/src/services/anchor.ts
3:7 error Unsafe assignment of an any value @typescript-eslint/no-unsafe-assignment
19:9 error Unsafe return of a value of type any @typescript-eslint/no-unsafe-return
22:77 error Unexpected any. Specify a different type @typescript-eslint/no-explicit-any
26:13 error Unsafe assignment of an any value @typescript-eslint/no-unsafe-assignment
28:9 error Unsafe return of a value of type any @typescript-eslint/no-unsafe-return
35:9 error Unsafe return of a value of type any @typescript-eslint/no-unsafe-return

✖ 63 problems (47 errors, 16 warnings)
0 errors and 9 warnings potentially fixable with the --fix option.

Error: Process completed with exit code 1.

@Samuel1505
Copy link
Author

hello @Wilfred007 issue fixed

@Samuel1505
Copy link
Author

@Wilfred007 please check the pr, the wave is ending in an hour

@Wilfred007
Copy link
Collaborator

@Samuel1505 still not building kindly check and revert

@Samuel1505
Copy link
Author

I ran all the ci/CD workflow commands on my local, and everything ran successful without any error. I don't know why I'm getting errors here @Wilfred007

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

#022: Build Employer Dashboard Layout & Navigation Shell

2 participants