Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
b1e1979
feat(ui): implement responsive dashboard sidebar with custom svg icons
Marvelousmicheal Feb 23, 2026
6de4ff4
chore: fixed merge confilct
Marvelousmicheal Feb 23, 2026
633378a
docs(design): update design system with project color theme
Divine-designs Feb 23, 2026
e3e2375
Merge pull request #88 from Divine-designs/issue#1
dinahmaccodes Feb 23, 2026
f28a766
Merge pull request #89 from Harbduls/main
dinahmaccodes Feb 23, 2026
a420510
Merge pull request #87 from Marvelousmicheal/feat/dashboard-sidebar
dinahmaccodes Feb 23, 2026
8374cf6
feat: build notification dropdown component
Benalex8797 Feb 24, 2026
cd61179
Merge pull request #90 from Benalex8797/issue#72
dinahmaccodes Feb 24, 2026
7fec8e8
refac: cleanup codebase misc items
dinahmaccodes Feb 24, 2026
123e2c9
feat: Redesign dashboard layout, sidebar, top header search, and comp…
alexohre Feb 24, 2026
e27fec2
Customer Profile
Adeswalla Feb 24, 2026
c624462
Customer Profile
Adeswalla Feb 24, 2026
8b8e845
built the notification page
ayo-ola0710 Feb 24, 2026
e790068
feat: migrate from vanilla CSS to Tailwind CSS
Benalex8797 Feb 24, 2026
d7c8556
docs: add PR description and creation summary
Benalex8797 Feb 24, 2026
a97163d
fix: update package-lock.json for CI compatibility
Benalex8797 Feb 24, 2026
1072592
docs: clarify pre-existing test failures
Benalex8797 Feb 24, 2026
af745a3
ci: allow build to run even if tests fail
Benalex8797 Feb 24, 2026
99b28d6
Merge pull request #94 from alexohre/dashboard
dinahmaccodes Feb 24, 2026
ecbeeed
Merge pull request #95 from Adeswalla/customer-profile
dinahmaccodes Feb 24, 2026
e40f1b9
Merge branch 'main' into issue#92
dinahmaccodes Feb 25, 2026
f02305b
Remove continue-on-error from test step
dinahmaccodes Feb 25, 2026
c88ecaf
Merge pull request #96 from Benalex8797/issue#92
dinahmaccodes Feb 25, 2026
fe6e755
docs: update readme on repo details
dinahmaccodes Feb 25, 2026
c597182
Merge branch 'main' into notification
ayo-ola0710 Feb 25, 2026
d264369
fix: resolve TypeScript configuration and standardize to pnpm
Benalex8797 Feb 25, 2026
31b4f8b
chore: update CI workflow to use pnpm
Benalex8797 Feb 25, 2026
5dee5bf
Merge pull request #97 from ayo-ola0710/notification
dinahmaccodes Feb 25, 2026
f6d3866
Merge pull request #99 from Benalex8797/issue#91
dinahmaccodes Feb 25, 2026
f95e7eb
feat: implement milestone tracking detail view page
Macnelson9 Feb 25, 2026
748941c
Merge pull request #100 from Macnelson9/main
dinahmaccodes Feb 25, 2026
419c998
feat: delivery proof upload section
OSEH-svg Feb 26, 2026
cbd0abd
Merge pull request #101 from OSEH-svg/feat/delivery
dinahmaccodes Feb 26, 2026
76bc305
feat: pixel-perfect dashboard UI refresh - sidebar, topbar, mobile la…
OSEH-svg Feb 26, 2026
68c9cbb
feat: shipment detail header
MerlinTheWhiz Feb 26, 2026
e16708c
Merge pull request #104 from MerlinTheWhiz/feat/shipment-detail-header
dinahmaccodes Feb 26, 2026
13a18c2
Merge pull request #102 from OSEH-svg/feat/dashboard
dinahmaccodes Feb 26, 2026
ff2a555
feat: add Payment History page with teal color scheme
Harbduls Feb 26, 2026
69d52c4
Merge branch 'main' into feature/payment-history-page
Harbduls Feb 26, 2026
16df243
fix: remove unused Cpu import from DashboardLayout
Harbduls Feb 26, 2026
6ffeca1
fix: temporarily disable tailwindcss plugin to fix CI build
Harbduls Feb 26, 2026
3e6d23a
Merge pull request #105 from Harbduls/feature/payment-history-page
dinahmaccodes Feb 26, 2026
ee318a6
feat(landing): add CTA banner component and styles
Divine-designs Feb 26, 2026
8d2cd20
Merge pull request #106 from Divine-designs/issue15
dinahmaccodes Feb 26, 2026
82836d4
refac: adjust details with best standard practices
dinahmaccodes Feb 26, 2026
dac3116
feat: Tailwind Migration Phase 2 - migrate remaining CSS files to Tai…
Benalex8797 Mar 24, 2026
7f67d3f
migration
Benalex8797 Mar 24, 2026
e2ecd9f
Merge pull request #110 from Benalex8797/issue#109
dinahmaccodes Mar 24, 2026
ed92412
Merge pull request #111 from Benalex8797/feat/migration
dinahmaccodes Mar 24, 2026
bc84810
refactor: standardize component structure and remove dead code (#108)
Benalex8797 Mar 24, 2026
7b76152
Merge pull request #112 from Benalex8797/issue#108
dinahmaccodes Mar 24, 2026
54fde4e
feat: add NotificationPreferences settings section
MooreTheAnalyst Mar 25, 2026
d929d97
Merge pull request #113 from MooreTheAnalyst/feat/notification-prefer…
dinahmaccodes Mar 25, 2026
662b962
feat(ui): add shipment map placeholder and payment detail modal
Gbangbolaoluwagbemiga Mar 25, 2026
b973c84
fix(ui): resolve build and lint errors in new components
Gbangbolaoluwagbemiga Mar 26, 2026
cef20c9
Merge pull request #116 from Gbangbolaoluwagbemiga/main
dinahmaccodes Mar 26, 2026
93acacf
docs: add frontend component and styling conventions (#114)
Dami24-hub Mar 27, 2026
e10eb72
docs: add verification-aware UI states and explorer linking guide (#115)
Dami24-hub Mar 27, 2026
47c11d1
Merge pull request #137 from Dami24-hub/docs/issue-114-frontend-conve…
dinahmaccodes Mar 27, 2026
e03fc1e
Merge pull request #138 from Dami24-hub/docs/issue-115-verification-u…
dinahmaccodes Mar 27, 2026
8f4d7d9
Improve tracking timeline accessibility semantics.
Junirezz Mar 27, 2026
aa746bc
feat: add DeliveryConfirmation component with star rating and tests
GoodnessJohn Mar 27, 2026
ee91174
[118] Build the Customer active shipments card list
Junirezz Mar 27, 2026
cce851d
Fix CI: Payment History modal state and modal TS cleanup.
Junirezz Mar 27, 2026
a2e1228
fix: resolve lint errors in DeliveryConfirmation and PaymentHistory
GoodnessJohn Mar 27, 2026
da21a9e
feat: build notifications full page (#notifications)
MooreTheAnalyst Mar 27, 2026
a2d3c67
Merge pull request #140 from GoodnessJohn/feat/delivery-confirmation
dinahmaccodes Mar 27, 2026
3240aa5
Merge remote-tracking branch 'upstream/main' into feat/notifications-…
MooreTheAnalyst Mar 27, 2026
c0d2120
fix: merge upstream main and fix unused Clock import in PaymentDetail…
MooreTheAnalyst Mar 27, 2026
56af105
Merge pull request #141 from Junirezz/fix/118-fe-build-the-customer-a…
dinahmaccodes Mar 27, 2026
693b795
Merge pull request #142 from MooreTheAnalyst/feat/notifications-full-…
dinahmaccodes Mar 27, 2026
c6e0114
Fix up redundancies
dinahmaccodes Mar 28, 2026
6173cf4
feat: build notification toast and global toast context
Francis6-git Mar 28, 2026
e5a4f4a
Merge branch 'main' into fix/119-fe-build-the-shipment-tracking-timel…
Junirezz Mar 28, 2026
35e07f4
feat: complete delivery proof upload with memory-safe preview handling
Francis6-git Mar 28, 2026
b762325
chore(navin): document implemented issues and prepare PR
trinnode Mar 28, 2026
4a12fe0
test(navin): add unit tests for DeliveryConfirmation, ShipmentMap and…
trinnode Mar 28, 2026
e85b1cf
Delete frontend/PR_NOTES/IMPLEMENTED_ISSUES.md
trinnode Mar 28, 2026
34ab845
chore(navinf-frontend): clean generated test output file
trinnode Mar 28, 2026
d37c352
fix(navin-frontend): resolve duplicate test declarations and enable v…
trinnode Mar 28, 2026
ffb07aa
fix(navin-frontend): test naming conflicts + vitest globals + remove …
trinnode Mar 28, 2026
884eb2c
Merge pull request #145 from trinnode/feat/complete-navin-frontend-is…
kingksjo Mar 28, 2026
061a90f
Feat: Implement the payment status on shipment detail
devfoma Mar 29, 2026
182d27a
Feat: implements the creation of sensor data display card
devfoma Mar 29, 2026
89aa638
Feat: Build the Customer Profile Page
devfoma Mar 29, 2026
5cbbe84
feat: build notification preferences settings section
Johnpii1 Mar 29, 2026
831b4d6
Merge pull request #1 from Johnpii1/codex/build-notification-preferen…
Johnpii1 Mar 29, 2026
ad434e9
Merge pull request #146 from devfoma/feat/implement-the-payment-statu…
dinahmaccodes Mar 29, 2026
be21372
Feat: Build the customer shipment history page
devfoma Mar 29, 2026
f4d5f6e
Merge pull request #143 from Francis6-git/fea/notification-toast-comp…
dinahmaccodes Mar 29, 2026
a02a971
Merge pull request #149 from Johnpii1/main
dinahmaccodes Mar 29, 2026
ab50d26
Merge pull request #150 from devfoma/feat/build-the-customer-shipment…
dinahmaccodes Mar 29, 2026
224e434
Merge branch 'main' into feat/delivery-proof-upload-section-issue#128
Francis6-git Mar 29, 2026
8e2ebd7
Merge pull request #144 from Francis6-git/feat/delivery-proof-upload-…
dinahmaccodes Mar 29, 2026
32d3d90
feat: Payment History page
D-KILLJOY Mar 29, 2026
99417b5
Built a reusable Empty State component
victorEdeh Mar 29, 2026
b18ca73
Build a reusable Modal component
victorEdeh Mar 29, 2026
0ce4856
Build a reusable Data Table component
victorEdeh Mar 29, 2026
6c68f51
Build a reusable Status Badge component
victorEdeh Mar 29, 2026
f0b6ad3
Fix CI: Resolve tests and linting errors for PR #139
Junirezz Mar 29, 2026
af1a484
Merge branch 'main' into fix/119-fe-build-the-shipment-tracking-timel…
Junirezz Mar 29, 2026
1d361dd
feat: payment detail modal
MerlinTheWhiz Mar 30, 2026
0ec618d
feat: payment detail modal
MerlinTheWhiz Mar 30, 2026
a09f253
Merge pull request #139 from Junirezz/fix/119-fe-build-the-shipment-t…
dinahmaccodes Mar 30, 2026
8ba4e4c
Merge branch 'main' into feat/payment-detail-modal
MerlinTheWhiz Mar 30, 2026
f5b3b00
Merge pull request #167 from MerlinTheWhiz/feat/payment-detail-modal
dinahmaccodes Mar 30, 2026
396b9dc
Merge branch 'main' into feat/#152
victorEdeh Mar 30, 2026
d0b2cca
Merge branch 'main' into feat/#153
victorEdeh Mar 30, 2026
c852ce2
Merge branch 'main' into feat/#154
victorEdeh Mar 30, 2026
bfc2c89
Merge branch 'main' into feat/#155
victorEdeh Mar 30, 2026
7a461e7
Merge pull request #163 from victorEdeh/feat/#155
dinahmaccodes Mar 30, 2026
211a351
Merge branch 'main' into feat/#152
victorEdeh Mar 30, 2026
7a8034a
Merge branch 'main' into feat/#153
victorEdeh Mar 30, 2026
bb25f05
Merge branch 'main' into feat/#154
victorEdeh Mar 30, 2026
147ff38
Merge pull request #165 from victorEdeh/feat/#153
dinahmaccodes Mar 30, 2026
0793e24
Merge branch 'main' into feat/payment-history-page
D-KILLJOY Mar 30, 2026
e830d66
Merge pull request #164 from victorEdeh/feat/#154
dinahmaccodes Mar 30, 2026
f8f3a21
Merge pull request #166 from victorEdeh/feat/#152
dinahmaccodes Mar 30, 2026
84a91b1
Merge pull request #162 from D-KILLJOY/feat/payment-history-page
dinahmaccodes Mar 30, 2026
255473b
feat(frontend): add reusable pagination component
Johnpii1 Mar 30, 2026
acf0d28
Merge pull request #2 from Johnpii1/codex/add-reusable-pagination-com…
Johnpii1 Mar 30, 2026
dea498b
feat(frontend): add pagination demo page
Johnpii1 Mar 30, 2026
40bdc46
Merge pull request #3 from Johnpii1/codex/add-reusable-pagination-com…
Johnpii1 Mar 30, 2026
6b69298
Add responsive PaymentSummaryCards component to Payment History page
Damidesign Mar 30, 2026
fd94531
Merge pull request #169 from Damidesign/feature/payment-summary-cards
dinahmaccodes Mar 30, 2026
4c9eaaa
feat: Built the API service layer with Axios
D-KILLJOY Mar 30, 2026
e8a9c43
Merge pull request #168 from Johnpii1/main
dinahmaccodes Mar 30, 2026
11d4e55
feat: migrate CI to pnpm and add Breadcrumb component
Mar 30, 2026
86c3baa
Merge pull request #170 from D-KILLJOY/feat/API-service-layer
dinahmaccodes Mar 30, 2026
d11a1dc
Merge pull request #171 from ExcelDsigN-tech/issue#pnpm-ci-breadcrumb
dinahmaccodes Apr 3, 2026
a09f177
fix:Build the Shipment Detail header section(closes #124)
AYo101o Apr 25, 2026
d4a6f63
Merge pull request #172 from AYo101o/fix/#124
dinahmaccodes Apr 25, 2026
87dc139
Build the Shipment milestone timeline(closes #125)
AYo101o Apr 25, 2026
3aacfc8
Merge pull request #173 from AYo101o/fix/#125
dinahmaccodes Apr 25, 2026
c3d67b8
chore: adjust automatic checks
dinahmaccodes Apr 25, 2026
6d587f4
fix:Build the Payment Summary cards(closes #78)
AYo101o Apr 26, 2026
5eb8ff9
Merge pull request #174 from AYo101o/fix/#78
dinahmaccodes Apr 27, 2026
be0a7d9
feat: Add ShipmentHeader component and ShipmentDetail page
Abd-Standard Apr 27, 2026
4d3eb62
Merge branch 'main' into feature/shipment-pages
Harbduls Apr 28, 2026
d789a4c
feat: build shipment milestones timeline component
devfoma Apr 28, 2026
59aed95
Merge pull request #176 from devfoma/feature/shipment-milestone-timeline
dinahmaccodes Apr 28, 2026
a1d653b
Merge branch 'main' into feature/shipment-pages
Harbduls Apr 29, 2026
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
87 changes: 35 additions & 52 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,116 +4,99 @@ on:
pull_request:
branches:
- main
- dev
push:
branches:
- main

jobs:
setup:
name: Setup & Install
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
cache-dependency-path: frontend/package-lock.json

- name: Install dependencies
run: npm ci

- name: Cache node_modules
uses: actions/cache@v3
with:
path: frontend/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('frontend/package-lock.json') }}

lint:
name: Lint Code
needs: setup
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
cache-dependency-path: frontend/pnpm-lock.yaml

- name: Restore node_modules
uses: actions/cache@v3
with:
path: frontend/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('frontend/package-lock.json') }}
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run ESLint
run: npm run lint
run: pnpm run lint

test:
name: Run Tests
needs: setup
needs: lint
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
cache-dependency-path: frontend/pnpm-lock.yaml

- name: Restore node_modules
uses: actions/cache@v3
with:
path: frontend/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('frontend/package-lock.json') }}
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run tests
run: npm run test
run: pnpm run test

build:
name: Build Application
needs: [lint, test]
needs: test
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
cache-dependency-path: frontend/pnpm-lock.yaml

- name: Restore node_modules
uses: actions/cache@v3
with:
path: frontend/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('frontend/package-lock.json') }}
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build
run: npm run build
run: pnpm run build

- name: Upload build artifacts
uses: actions/upload-artifact@v4
Expand Down
95 changes: 0 additions & 95 deletions ACTIVE_SHIPMENTS_IMPLEMENTATION.md

This file was deleted.

90 changes: 83 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,14 @@ This repository is the **frontend** of the Navin platform — a React applicatio
### Prerequisites

- [Node.js](https://nodejs.org/) v18 or later
- npm (included with Node.js)
- [pnpm](https://pnpm.io/) v10 or later (required package manager)

To install pnpm:
```bash
npm install -g pnpm
# or
curl -fsSL https://get.pnpm.io/install.sh | sh -
```

### Fork & Clone

Expand All @@ -62,13 +69,14 @@ This repository is the **frontend** of the Navin platform — a React applicatio
4. **Install dependencies:**

```bash
npm install
cd frontend
pnpm install
```

5. **Start the development server:**

```bash
npm run dev
pnpm run dev
```

---
Expand Down Expand Up @@ -122,13 +130,13 @@ Before pushing, always run these:

```bash
# Check formatting
npm run lint
pnpm run lint

# Run any existing tests
npm run test
pnpm run test

# Verify the build works
npm run build
pnpm run build
```

Fix any errors or warnings before pushing.
Expand Down Expand Up @@ -242,7 +250,75 @@ We want contributors focused on building, not cleaning up others' mistakes pleas
- Write clean, readable code — favor clarity over cleverness
- Use consistent naming: `PascalCase` for components, `camelCase` for variables and functions
- Keep components small and focused — one responsibility per component
- Avoid inline styles; use CSS classes or CSS modules
- Use Tailwind CSS utility classes for styling (see Tailwind guidelines below)

### Tailwind CSS Guidelines

We use Tailwind CSS for all styling. Follow these best practices:

#### Use Design Tokens
Always use our custom design tokens from `tailwind.config.js`:
```jsx
// Good: Using design tokens
className="bg-background-card text-primary border-border"

// Bad: Hardcoded colors
className="bg-[#0F1419] text-[#00D9FF] border-[#1E2433]"
```

#### Keep Utilities Readable
If a component has more than 10 utility classes, consider:
1. Breaking it into smaller components
2. Creating a reusable component with variants
3. Grouping related utilities logically

```jsx
// Good: Grouped logically
className="
flex items-center justify-between gap-4
px-6 py-3 rounded-2xl
bg-background-card border border-border
hover:border-accent-blue transition-all duration-300
"

// Bad: Random order
className="px-6 hover:border-accent-blue flex bg-background-card py-3 items-center"
```

#### Create Reusable Components
For repeated patterns, create reusable components:
```jsx
// Good: Reusable Button component
<Button variant="primary" size="lg">Click Me</Button>

// Bad: Repeating utilities everywhere
<button className="px-8 py-3.5 bg-accent-blue text-white rounded-full...">
```

#### Mobile-First Responsive Design
Tailwind uses mobile-first breakpoints:
```jsx
// Good: Mobile-first
className="flex-col md:flex-row p-4 md:p-8"

// Bad: Desktop-first
className="flex-row md:flex-col p-8 md:p-4"
```

#### When to Use CSS Files
Only create separate CSS files for:
- Complex animations with `@keyframes`
- Third-party library overrides
- Very complex pseudo-elements that are hard to read inline

For everything else, use Tailwind utilities.

#### Migration Reference
See `docs/TAILWIND_MIGRATION.md` for:
- Complete migration patterns
- Common component examples
- Troubleshooting guide
- Design token reference

### Component Structure

Expand Down
Loading