Skip to content

[Human App Frontend] Redesign Jobs Page - #3993

Merged
KirillKirill merged 10 commits into
kb/redesign-profile-pagefrom
kb/redesign-jobs-pages
Aug 5, 2026
Merged

[Human App Frontend] Redesign Jobs Page#3993
KirillKirill merged 10 commits into
kb/redesign-profile-pagefrom
kb/redesign-jobs-pages

Conversation

@KirillKirill

@KirillKirill KirillKirill commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Issue tracking

Part of #3996

Context behind the change

Reworks Jobs Discovery page and adds My Jobs page

How has this been tested?

locally with data from staging env

Release plan

regular

Potential risks; What to monitor; Rollback plan

not found

@KirillKirill KirillKirill self-assigned this Jul 31, 2026
@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
human-app Ready Ready Preview Aug 5, 2026 12:14pm
4 Skipped Deployments
Project Deployment Actions Updated (UTC)
faucet-frontend Ignored Ignored Preview Aug 5, 2026 12:14pm
faucet-server Ignored Ignored Preview Aug 5, 2026 12:14pm
human-dashboard-frontend Skipped Skipped Aug 5, 2026 12:14pm
staking-dashboard Skipped Skipped Aug 5, 2026 12:14pm

Request Review

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Human App Frontend worker experience by redesigning the Jobs Discovery page and related worker flows (navigation, hCaptcha entrypoints, and supporting UI components/styles).

Changes:

  • Reworks Jobs Discovery UI: adds hCaptcha widget header area and replaces oracle table with a card/list layout.
  • Updates protected layout/navigation: simplifies mobile navbar usage and adds a desktop aside menu with “Available Jobs” / “My Jobs”.
  • Refactors shared UI/styling: introduces a reusable copy-to-clipboard button, updates icons/assets, and adjusts palette/theme tokens.

Reviewed changes

Copilot reviewed 43 out of 49 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
packages/apps/human-app/frontend/src/shared/styles/dark-theme.ts Removes dark-only token usage; inlines a border color for MUI InputBase.
packages/apps/human-app/frontend/src/shared/styles/dark-color-palette.ts Adds text.light; removes onlyDarkModeColor.
packages/apps/human-app/frontend/src/shared/styles/color-palette.ts Adds text.light token to the base palette.
packages/apps/human-app/frontend/src/shared/i18n/en.json Adds/updates worker navigation + jobs/oracles/hCaptcha widget strings and a “no records” string.
packages/apps/human-app/frontend/src/shared/hooks/use-is-hcaptcha-labeling-page.ts Removes the useIsHCaptchaLabelingPage hook.
packages/apps/human-app/frontend/src/shared/hooks/index.ts Stops exporting removed useIsHCaptchaLabelingPage.
packages/apps/human-app/frontend/src/shared/consts.ts Tweaks mobile bottom tray height constant.
packages/apps/human-app/frontend/src/shared/components/ui/page-card/styles.ts Simplifies page-card shared styles into a single commonStyles.
packages/apps/human-app/frontend/src/shared/components/ui/page-card/page-card.tsx Switches root wrapper to Stack and applies new common styles.
packages/apps/human-app/frontend/src/shared/components/ui/page-card/page-card-loader.tsx Aligns loader wrapper with new page-card styles and removes theme-branching.
packages/apps/human-app/frontend/src/shared/components/ui/page-card/page-card-error.tsx Simplifies error UI (reload-only) and aligns with new styling.
packages/apps/human-app/frontend/src/shared/components/ui/no-records.tsx Localizes “no records” text and updates spacing/color.
packages/apps/human-app/frontend/src/shared/components/ui/icons.tsx Adds new icons (triangle/oracle/hCaptcha), updates CopyIcon rendering, removes old copy assets.
packages/apps/human-app/frontend/src/shared/components/ui/copy-to-clipboard-button.tsx Adds shared copy-to-clipboard icon button with “Copied” tooltip.
packages/apps/human-app/frontend/src/shared/components/expiration-modal.tsx Simplifies padding responsiveness using MUI breakpoint object syntax.
packages/apps/human-app/frontend/src/router/router.tsx Removes stats drawer injection into ProtectedLayout.
packages/apps/human-app/frontend/src/router/router-paths.ts Adds myJobs route path.
packages/apps/human-app/frontend/src/router/components/layout/protected/navbar.tsx Simplifies navbar API and makes it always sticky.
packages/apps/human-app/frontend/src/router/components/layout/protected/layout.tsx Simplifies protected layout; always renders GovernanceBanner and removes drawer/state logic.
packages/apps/human-app/frontend/src/router/components/layout/protected/desktop-aside-bar.tsx Adds desktop aside navigation with active link styling.
packages/apps/human-app/frontend/src/router/components/index.ts Stops exporting removed drawer-menu-items module.
packages/apps/human-app/frontend/src/router/components/drawer-menu-items/index.ts Removes drawer-menu-items barrel export.
packages/apps/human-app/frontend/src/router/components/drawer-menu-items/drawer-menu-items-worker.tsx Removes worker drawer menu item factory.
packages/apps/human-app/frontend/src/modules/worker/services/oracles.service.ts Adds mocked oracle list and injects it into getOracles.
packages/apps/human-app/frontend/src/modules/worker/profile/views/profile.page.tsx Replaces inline clipboard logic with shared CopyToClipboardButton.
packages/apps/human-app/frontend/src/modules/worker/jobs-discovery/jobs-discovery.page.tsx Rebuilds Jobs Discovery page layout; integrates hCaptcha widget and new oracle list.
packages/apps/human-app/frontend/src/modules/worker/jobs-discovery/hooks/use-select-oracle-navigation.ts Simplifies oracle selection navigation (removes hCaptcha special-case).
packages/apps/human-app/frontend/src/modules/worker/jobs-discovery/helpers/is-hcaptcha-oracle.ts Removes hCaptcha-oracle address helper.
packages/apps/human-app/frontend/src/modules/worker/jobs-discovery/helpers/is-hcaptcha-oracle.spec.ts Removes tests for deleted helper.
packages/apps/human-app/frontend/src/modules/worker/jobs-discovery/helpers/index.ts Stops exporting deleted helper.
packages/apps/human-app/frontend/src/modules/worker/jobs-discovery/components/oracles-table.tsx Removes old oracles table implementation.
packages/apps/human-app/frontend/src/modules/worker/jobs-discovery/components/oracles-list.tsx Adds new list/grid rendering for oracle cards + loading/error/empty states.
packages/apps/human-app/frontend/src/modules/worker/jobs-discovery/components/oracle-job-card.tsx Adds oracle card UI (address/reward/job types) and CTA styling.
packages/apps/human-app/frontend/src/modules/worker/jobs-discovery/components/index.ts Exposes new OraclesList instead of OraclesTable.
packages/apps/human-app/frontend/src/modules/worker/jobs-discovery/components/hcaptha-widget.tsx Adds hCaptcha widget block with limit state + countdown and CTA to labeling/enable flows.
packages/apps/human-app/frontend/src/modules/worker/hcaptcha-labeling/hooks/enable-hcaptcha-labeling.ts Minor formatting/cleanup.
packages/apps/human-app/frontend/src/modules/worker/hcaptcha-labeling/hcaptcha-labeling.page.tsx Redesigns labeling page layout, adds breadcrumbs, integrates stats UI (accordion/drawer).
packages/apps/human-app/frontend/src/modules/worker/hcaptcha-labeling/enable-labeler.page.tsx Redesigns enable-labeler page layout and switches error handling to notifications.
packages/apps/human-app/frontend/src/modules/worker/hcaptcha-labeling/components/user-stats-drawer.tsx Rebuilds stats drawer as a bottom sheet with close button.
packages/apps/human-app/frontend/src/modules/worker/hcaptcha-labeling/components/user-stats-details.tsx Updates stats styling; replaces dark-only token usage with palette token.
packages/apps/human-app/frontend/src/modules/worker/hcaptcha-labeling/components/user-stats-accordion.tsx Refines accordion behavior/state handling and updates sizing constants.
packages/apps/human-app/frontend/src/modules/worker/hcaptcha-labeling/components/breadcrumbs.tsx Adds breadcrumb UI for hCaptcha labeling flow.
packages/apps/human-app/frontend/src/modules/signup/operator/views/add-stake.page.tsx Replaces dark-only token usage with palette token.
packages/apps/human-app/frontend/src/assets/icons/triangle.svg Adds triangle indicator icon asset.
packages/apps/human-app/frontend/src/assets/icons/hcaptcha.svg Adds hCaptcha icon asset.
packages/apps/human-app/frontend/src/assets/icons/hcaptcha-disabled-icon.svg Adds disabled hCaptcha icon asset (light).
packages/apps/human-app/frontend/src/assets/icons/content-copy.svg Removes old copy icon asset (light).
packages/apps/human-app/frontend/src/assets/icons-dark-mode/hcaptcha-disabled-icon.svg Adds disabled hCaptcha icon asset (dark).
packages/apps/human-app/frontend/src/assets/icons-dark-mode/content-copy.svg Removes old copy icon asset (dark).
Suppressed comments (1)

packages/apps/human-app/frontend/src/modules/worker/jobs-discovery/components/hcaptha-widget.tsx:229

  • alignItems: 'space-between' is not a valid CSS flex alignment value here either (it will be ignored). Use justifyContent: 'space-between' if vertical spacing is intended.
            <Stack
              sx={{
                alignItems: 'space-between',
                maxWidth: { xs: '100%', md: '350px', lg: '450px' },
              }}

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/apps/human-app/frontend/src/modules/worker/services/oracles.service.ts Outdated
Comment thread packages/apps/human-app/frontend/src/shared/styles/dark-theme.ts
@vercel
vercel Bot temporarily deployed to Preview – human-dashboard-frontend July 31, 2026 09:18 Inactive
@vercel
vercel Bot temporarily deployed to Preview – staking-dashboard July 31, 2026 09:18 Inactive
@vercel
vercel Bot temporarily deployed to Preview – staking-dashboard July 31, 2026 09:58 Inactive
@vercel
vercel Bot temporarily deployed to Preview – human-dashboard-frontend July 31, 2026 09:58 Inactive
@vercel
vercel Bot temporarily deployed to Preview – staking-dashboard July 31, 2026 10:00 Inactive
@vercel
vercel Bot temporarily deployed to Preview – human-dashboard-frontend July 31, 2026 10:00 Inactive
@KirillKirill
KirillKirill force-pushed the kb/redesign-profile-page branch from bd55e6d to 4c31b27 Compare July 31, 2026 11:05
@KirillKirill
KirillKirill force-pushed the kb/redesign-jobs-pages branch from 229649d to dd6ec66 Compare July 31, 2026 11:06
@vercel
vercel Bot temporarily deployed to Preview – human-dashboard-frontend July 31, 2026 11:06 Inactive
@vercel
vercel Bot temporarily deployed to Preview – staking-dashboard July 31, 2026 11:06 Inactive
@vercel
vercel Bot temporarily deployed to Preview – staking-dashboard August 3, 2026 17:33 Inactive
@vercel
vercel Bot temporarily deployed to Preview – human-dashboard-frontend August 3, 2026 17:33 Inactive
@vercel
vercel Bot temporarily deployed to Preview – staking-dashboard August 5, 2026 09:21 Inactive
@vercel
vercel Bot temporarily deployed to Preview – human-dashboard-frontend August 5, 2026 09:21 Inactive
@KirillKirill
KirillKirill force-pushed the kb/redesign-profile-page branch from 4c31b27 to a11a88b Compare August 5, 2026 09:49
@KirillKirill
KirillKirill force-pushed the kb/redesign-jobs-pages branch from d620cb2 to b96e350 Compare August 5, 2026 10:03
@vercel
vercel Bot temporarily deployed to Preview – human-dashboard-frontend August 5, 2026 10:03 Inactive
@vercel
vercel Bot temporarily deployed to Preview – staking-dashboard August 5, 2026 10:03 Inactive
@vercel
vercel Bot temporarily deployed to Preview – staking-dashboard August 5, 2026 11:12 Inactive
@vercel
vercel Bot temporarily deployed to Preview – human-dashboard-frontend August 5, 2026 11:12 Inactive
};

async function getOracles(selectedJobTypes: string[]) {
// const H_CAPTCHA_ORACLE: Oracle = {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note: don't forget to put it to oracles array


type TimeUnit = keyof typeof UNIT_LABEL_KEYS;

function getRemainingTime(

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

App already has date-fns with formatDistanceToNow, so maybe let's use it?

@vercel
vercel Bot temporarily deployed to Preview – human-dashboard-frontend August 5, 2026 12:00 Inactive
@vercel
vercel Bot temporarily deployed to Preview – staking-dashboard August 5, 2026 12:00 Inactive
@KirillKirill
KirillKirill requested a review from dnechay August 5, 2026 12:00
@KirillKirill
KirillKirill force-pushed the kb/redesign-jobs-pages branch from 1e34938 to 2c19d06 Compare August 5, 2026 12:05
@vercel
vercel Bot temporarily deployed to Preview – staking-dashboard August 5, 2026 12:05 Inactive
@vercel
vercel Bot temporarily deployed to Preview – human-dashboard-frontend August 5, 2026 12:05 Inactive
@KirillKirill
KirillKirill force-pushed the kb/redesign-jobs-pages branch from 2c19d06 to 7fdf178 Compare August 5, 2026 12:12
@vercel
vercel Bot temporarily deployed to Preview – staking-dashboard August 5, 2026 12:12 Inactive
@vercel
vercel Bot temporarily deployed to Preview – human-dashboard-frontend August 5, 2026 12:12 Inactive
@KirillKirill
KirillKirill marked this pull request as ready for review August 5, 2026 13:12
@KirillKirill
KirillKirill merged commit e01a274 into kb/redesign-profile-page Aug 5, 2026
8 checks passed
@KirillKirill
KirillKirill deleted the kb/redesign-jobs-pages branch August 5, 2026 13:24
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.

3 participants