Rebrand to Pocket Network & add comprehensive test coverage#239
Rebrand to Pocket Network & add comprehensive test coverage#239jorgecuesta merged 22 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the monorepo’s UI/UX to a Pocket Network Foundation theme (including a theme toggle and new logo assets), while also adding Jest-based unit testing across multiple apps/packages and refactoring some middleman DAL/actions for consistency and caching.
Changes:
- Rebrand UI components to new design tokens + add Pocket brand logo + add theme toggle.
- Add Jest/ts-jest configuration and unit tests across apps/packages (crypto, env/utils, share calculations, time utilities, provider services).
- Refactor middleman server actions/DAL (auth helper aliases, ownership assertions, cached application settings fetch, query updates) and reduce polling intervals.
Reviewed changes
Copilot reviewed 134 out of 142 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| turbo.json | Adds a test task to Turbo pipeline. |
| packages/ui/src/theme-toggle.tsx | New client theme toggle component. |
| packages/ui/src/context/Notifications/index.tsx | Updates notification UI colors to new tokens. |
| packages/ui/src/components/WalletPicker/index.tsx | Updates wallet picker styling to new theme tokens. |
| packages/ui/src/components/WalletPicker/components/WalletPickerItem.tsx | Updates wallet picker item hover/text styles. |
| packages/ui/src/components/UserMenu.tsx | Updates trigger styling and text colors. |
| packages/ui/src/components/TransactionHash.tsx | Updates link styling + mono font for hashes. |
| packages/ui/src/components/tooltip.tsx | Updates tooltip surface/border/shadow styling. |
| packages/ui/src/components/textarea.tsx | Updates textarea colors, borders, focus styles. |
| packages/ui/src/components/table.tsx | Updates table row/head/footer styling to new tokens. |
| packages/ui/src/components/switch.tsx | Updates switch colors to PNF palette. |
| packages/ui/src/components/Summary.tsx | Updates Summary component borders/text colors. |
| packages/ui/src/components/sonner.tsx | Updates toast theming to new tokens. |
| packages/ui/src/components/skeleton.tsx | Updates skeleton background token. |
| packages/ui/src/components/sidebar.tsx | Rebrands sidebar/inset/menu styles to new tokens. |
| packages/ui/src/components/sheet.tsx | Updates sheet overlay/content/title/description styles. |
| packages/ui/src/components/separator.tsx | Updates separator token usage. |
| packages/ui/src/components/select.tsx | Updates select trigger/content/item/separator styles. |
| packages/ui/src/components/RewardsByAddresses/ItemsSelector.tsx | Updates selected chip color to PNF blue. |
| packages/ui/src/components/radio.tsx | Updates radio group item colors/border tokens. |
| packages/ui/src/components/QuickDetails/DetailResolver.tsx | Updates icon colors to tokenized text colors. |
| packages/ui/src/components/progress.tsx | Updates progress track/fill colors. |
| packages/ui/src/components/popover.tsx | Updates popover surface/border styling. |
| packages/ui/src/components/PocketBrandLogo/index.tsx | New logo component that switches by theme. |
| packages/ui/src/components/OverrideSidebar.tsx | Updates background token. |
| packages/ui/src/components/NoData.tsx | Updates empty-state icon/text colors. |
| packages/ui/src/components/multi-select.tsx | Updates multi-select hover/text token usage. |
| packages/ui/src/components/label.tsx | Updates label text color token. |
| packages/ui/src/components/input.tsx | Updates input colors, selection, focus styles. |
| packages/ui/src/components/form.tsx | Updates form description color token. |
| packages/ui/src/components/ErrorRetry.tsx | Updates error icon color token. |
| packages/ui/src/components/dropzone.tsx | Updates dropzone styling tokens and error colors. |
| packages/ui/src/components/dropdown-menu.tsx | Updates dropdown styling tokens and separators. |
| packages/ui/src/components/drawer.tsx | Updates drawer overlay/content/title/description tokens. |
| packages/ui/src/components/DialogContentSectionHeader.tsx | Updates section header token usage. |
| packages/ui/src/components/dialog.tsx | Updates dialog overlay/content/title/description tokens. |
| packages/ui/src/components/DataTable/SortDropdown.tsx | Updates DataTable dropdown item hover token. |
| packages/ui/src/components/DataTable/RowsPerPage.tsx | Updates rows-per-page dropdown hover token. |
| packages/ui/src/components/DataTable/Pagination.tsx | Updates pagination dropdown hover token. |
| packages/ui/src/components/DataTable/index.tsx | Updates table skeleton/error/header styling tokens. |
| packages/ui/src/components/DataTable/FilterDropdown.tsx | Updates filter dropdown item hover token. |
| packages/ui/src/components/Currency.tsx | Updates currency text token usage. |
| packages/ui/src/components/command.tsx | Updates command palette theming tokens. |
| packages/ui/src/components/checkbox.tsx | Updates checkbox colors to PNF palette. |
| packages/ui/src/components/button.tsx | Updates button variants to new theme tokens/colors. |
| packages/ui/src/components/BaseQuickInfoTooltip.tsx | Updates tooltip popover surface/text tokens. |
| packages/ui/src/components/BaseLineBarChart/BaseLineBarChart.tsx | Swaps hardcoded chart colors for CSS variables. |
| packages/ui/src/components/badge.tsx | Updates badge shapes/variants and adds new variants. |
| packages/ui/src/components/avatar.tsx | Updates avatar fallback background token. |
| packages/ui/src/components/AppTopBar/index.tsx | Uses Pocket brand logo as default + updates topbar tokens. |
| packages/ui/src/components/AppSidebar.tsx | Removes unused commented sidebar block / Soothe logo import. |
| packages/ui/src/components/Amount.tsx | Updates $POKT suffix color token. |
| packages/ui/src/components/Address.tsx | Updates address link styling + mono font. |
| packages/ui/src/components/ActivityHeader.tsx | Updates header typography/colors to new tokens/font. |
| packages/ui/src/components/AbortConfirmationDialog.tsx | Updates dialog surface/border/text tokens. |
| packages/ui/src/assets/logo/pocket-logo-white.svg | Adds Pocket white logo asset. |
| packages/ui/src/assets/logo/pocket-logo-black.svg | Adds Pocket black logo asset. |
| packages/ui/src/assets/index.ts | Exposes new logo exports and updates default PocketLogo. |
| packages/ui/package.json | Exports PocketBrandLogo and theme-toggle entrypoints. |
| packages/pocket/src/utils.test.ts | Adds unit tests for isValidPrivateKey. |
| packages/pocket/package.json | Adds Jest tooling + test script. |
| packages/pocket/jest.config.ts | Adds Jest config for pocket package. |
| packages/domain/src/provider/utils/services.test.ts | Adds unit tests for getRevShare. |
| packages/commons/src/utils.test.ts | Adds unit tests for env parsing/check helpers. |
| packages/commons/package.json | Adds Jest tooling + test script. |
| packages/commons/jest.config.ts | Adds Jest config for commons package. |
| apps/provider/src/lib/crypto.test.ts | Adds unit tests for provider crypto helpers. |
| apps/provider/package.json | Adds Jest tooling + test script; dependency ordering updates. |
| apps/provider/jest.config.ts | Adds Jest config for provider app. |
| apps/middleman/src/styles/layout.ts | Switches Google font from Jost to Rubik. |
| apps/middleman/src/lib/utils/time.test.ts | Adds tests for formatDuration. |
| apps/middleman/src/lib/utils/shareCalculations.test.ts | Adds extensive tests for share/performance calculations. |
| apps/middleman/src/lib/utils/actions.ts | Adds requireAuth, requireAdmin, assertOwnership helpers. |
| apps/middleman/src/lib/dal/nodes.ts | Replaces raw SQL with Drizzle selectDistinct query. |
| apps/middleman/src/lib/dal/applicationSettings.ts | Wraps settings fetch in react.cache() for per-request dedupe. |
| apps/middleman/src/lib/crypto.test.ts | Adds tests for middleman crypto helpers (with env mock). |
| apps/middleman/src/app/layout.tsx | Uses Rubik font; switches theme attribute to data-theme; adds ThemeToggle; layout width tweaks. |
| apps/middleman/src/app/detail/TransactionDetail.tsx | Updates transaction detail styling tokens. |
| apps/middleman/src/app/detail/NodeDetail.tsx | Updates node detail styling tokens and borders. |
| apps/middleman/src/app/components/Sidebar.tsx | Updates active/inactive sidebar item styling tokens. |
| apps/middleman/src/app/components/EngagementLinks.tsx | Updates background token usage. |
| apps/middleman/src/app/components/CurrentUser.tsx | Updates loading state styling tokens. |
| apps/middleman/src/app/auth/layout.tsx | Switches auth layout font to Rubik. |
| apps/middleman/src/app/auth/error/page.tsx | Updates auth error card styling tokens. |
| apps/middleman/src/app/app/unstake/components/UnstakeSuccessStep/index.tsx | Updates unstake success UI tokens/borders. |
| apps/middleman/src/app/app/unstake/components/ReviewStep/UnstakingProcess.tsx | Updates dialog/tokenized divider colors. |
| apps/middleman/src/app/app/unstake/components/OwnerAddressSelectionStep.tsx | Updates tokens, skeleton colors, border focus tokens. |
| apps/middleman/src/app/app/unstake/components/NodeSelectionStep.tsx | Updates tokens, skeleton colors, list borders/hover tokens. |
| apps/middleman/src/app/app/unstake/components/Loading.tsx | Updates loader token color. |
| apps/middleman/src/app/app/unstake/components/InformationStep.tsx | Updates tokens + replaces error coloring with theme tokens. |
| apps/middleman/src/app/app/stake/components/ReviewStep/StakingProcess.tsx | Updates dialog divider tokens. |
| apps/middleman/src/app/app/stake/components/PlanDetailsSection.tsx | Updates borders/text tokens. |
| apps/middleman/src/app/app/stake/components/PickStakeAmountStep/index.tsx | Updates container/border tokens and fee block styling. |
| apps/middleman/src/app/app/stake/components/PickStakeAmountStep/AmountPickerSlider.tsx | Updates slider track/thumb colors to tokens. |
| apps/middleman/src/app/app/stake/components/PickStakeAmountStep/AmountDisplay.tsx | Updates borders/text tokens and currency label tokens. |
| apps/middleman/src/app/app/stake/components/PickOfferStep/ProviderOfferItem.tsx | Updates offer card styles and tooltip tokens. |
| apps/middleman/src/app/app/stake/components/PickOfferStep/index.tsx | Updates container + empty state token colors. |
| apps/middleman/src/app/app/stake/components/OwnerAddressStep/index.tsx | Updates borders and “personal plan” accent tokens. |
| apps/middleman/src/app/app/stake/components/Loading.tsx | Updates loading shell border/background tokens. |
| apps/middleman/src/app/app/providers/clientPage.tsx | Updates providers page text/loading/error tokens + borders. |
| apps/middleman/src/app/app/overview/page.tsx | Updates overview page subtext token. |
| apps/middleman/src/app/app/import-suppliers/components/SelectProviderStep.tsx | Updates tokens for list, statuses, empty/error states. |
| apps/middleman/src/app/app/import-suppliers/components/ImportSuccessStep.tsx | Updates import success UI tokens/borders. |
| apps/middleman/src/app/app/import-suppliers/components/ImportProcess.tsx | Updates import process UI tokens + dialog divider tokens. |
| apps/middleman/src/app/app/(lists)/transactions/table/index.tsx | Reduces polling interval from 5s to 15s. |
| apps/middleman/src/app/app/(lists)/nodes/table/columns.tsx | Updates $POKT label token color. |
| apps/middleman/src/app/app/(lists)/nodes/page.tsx | Updates nodes page subtext token. |
| apps/middleman/src/app/admin/setup/stepper.tsx | Updates stepper accent tokens. |
| apps/middleman/src/app/admin/(internal)/transactions/table/index.tsx | Reduces polling interval from 5s to 15s. |
| apps/middleman/src/app/admin/(internal)/settings/Form.tsx | Updates admin settings form surfaces/inputs tokens. |
| apps/middleman/src/app/(landing)/page.tsx | Replaces prior landing composition with LandingPage and static metadata. |
| apps/middleman/src/app/(landing)/layout.tsx | Adds client landing layout that collapses sidebar via useSidebar(). |
| apps/middleman/src/app/(landing)/components/Services.tsx | Updates landing services section tokens. |
| apps/middleman/src/app/(landing)/components/Hero.tsx | Redesigns hero background/typography using tokenized gradients. |
| apps/middleman/src/app/(landing)/components/Header.tsx | Uses PocketBrandLogo + updates header tokens. |
| apps/middleman/src/app/(landing)/components/Footer.tsx | Updates footer branding text and logo + tokens. |
| apps/middleman/src/app/(landing)/components/Divider.tsx | Updates divider border token. |
| apps/middleman/src/app/(landing)/components/About.tsx | Updates about content and replaces Soothe branding with Pocket branding. |
| apps/middleman/src/actions/Unstake.ts | Uses requireAuth alias and simplifies transaction insert creation. |
| apps/middleman/src/actions/Transactions.ts | Uses requireAuth/requireAdmin helpers. |
| apps/middleman/src/actions/Stake.ts | Uses requireAuth alias and simplifies insert creation. |
| apps/middleman/src/actions/Providers.ts | Uses requireAuth alias and minor refactors. |
| apps/middleman/src/actions/Nodes.ts | Uses requireAuth + centralized ownership assertion. |
| apps/middleman/src/actions/ImportSuppliers.ts | Uses requireAuth + centralized ownership assertion helper. |
| apps/middleman/src/actions/ApplicationSettings.ts | Simplifies settings fetch path (relies on DAL always returning settings). |
| apps/middleman/public/pocket-logo-white.svg | Adds Pocket logo asset to app public directory. |
| apps/middleman/package.json | Adds Jest tooling + test script. |
| apps/middleman/jest.config.ts | Adds Jest config for middleman app. |
| .gitignore | Ignores branding build artifacts and local dev helpers. |
| .claude/launch.json | Adds a launch configuration for middleman debugging. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@TheFeloniousMonk I've opened a new pull request, #240, to work on those changes. Once the pull request is ready, I'll request review from you. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 139 out of 147 changed files in this pull request and generated 9 comments.
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (2)
apps/middleman/src/app/(landing)/components/Header.tsx:9
- There are several unused imports here (
Link,PlaceholderLogo,EngagementLinks, and the social SVG icons). With typical TS/ESLint settings this will fail lint/typecheck. Remove the unused imports (or re-enable the commented-out usage) to keep the landing bundle clean.
import Link from 'next/link';
import {ComponentType} from "react";
import {PlaceholderLogo} from "@igniter/ui/assets";
import { PocketBrandLogo } from "@igniter/ui/components/PocketBrandLogo";
import EngagementLinks from "@/app/components/EngagementLinks";
import GithubIcon from "@/app/assets/icons/dark/socials/github.svg";
import DiscordIcon from "@/app/assets/icons/dark/socials/discord.svg";
import XIcon from "@/app/assets/icons/dark/socials/x.svg";
import CurrentUser from "@/app/components/CurrentUser";
apps/middleman/src/app/(landing)/components/Footer.tsx:8
- Unused imports (
Link,PlaceholderLogo,EngagementLinks, and the social SVG icons) remain after switching toPocketBrandLogoand commenting out the links section. These will typically break lint/typecheck; remove the unused imports or restore the usage.
import {ComponentType} from "react";
import Link from "next/link";
import {PlaceholderLogo} from "@igniter/ui/assets";
import { PocketBrandLogo } from "@igniter/ui/components/PocketBrandLogo";
import EngagementLinks from "@/app/components/EngagementLinks";
import GithubIcon from "@/app/assets/icons/dark/socials/github.svg";
import DiscordIcon from "@/app/assets/icons/dark/socials/discord.svg";
import XIcon from "@/app/assets/icons/dark/socials/x.svg";
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
CRITICAL fixes: - C1: Replace undefined --button-2-border with border-border-primary in Notifications action buttons - C2: Replace undefined --divider with border-border-primary in BaseQuickInfoTooltip separator, remove commented-out code - C3: Replace hardcoded #10161e with bg-bg-input in AmountDisplay (breaks light mode) - C4: Darken light-mode tokens for WCAG AA compliance: --text-tertiary #8b98a9→#6b7a8e, --warning #c89b2f→#9a7520, --success #0dab76→#087a54, --error #d93d42→#c43539 - C5: Add mounted guard to FooterLogo to prevent hydration mismatch (resolvedTheme undefined during SSR) - C6: Replace external CDN URLs with local SVG components in FooterLogo WARNING fixes: - W2: Add @media (prefers-reduced-motion: reduce) to disable orb animations, pulse, fade-in-up, and skip particle canvas RAF loop - W5: Delete 7 dead landing page components (Header, Hero, About, Footer, Services, EmptySpace, Divider) - W6: Fix PocketBrandLogo showing black logo on dark theme before mount — return empty placeholder until mounted - W8: Add dark theme values to :root as SSR/JS-disabled fallback so tokens are never undefined on first paint - W9: Replace self-referencing var(--radius-*) in @theme inline with direct pixel values - W12: Replace text-[var(--color-destructive)] with text-error in StakingProcess, UnstakingProcess, ImportProcess INFO fixes: - I1: Replace undefined var(--font-family) with var(--font-sans) in landing.css - I4: Remove commented-out --slate-dividers lines in ReviewStep, StakeSuccessStep, PickStakeAmountStep - I5+I6: Remove unused --navbar-h and --sidebar-w from :root, remove duplicate --font-family/--font-mono definitions Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…oundation - Replace entire CSS theme system with PNF brand tokens (Tailwind v4 @theme blocks) - Add dark/light theme via data-theme attribute with next-themes, defaulting to dark - Migrate Jost font to Rubik (next/font/google), remove unused Geist font files - Download and integrate Pocket Network logo SVGs with theme-aware switching - Create PocketBrandLogo component and ThemeToggle component - Replace ~60+ files of hardcoded old-brand colors with semantic CSS variable tokens - Restyle all shared UI components: buttons, badges, tables, forms, dialogs, drawers, sidebar, navbar, charts, alerts, address lists, provider cards - Update all middleman page-level styles to use PNF semantic tokens - Restyle landing page hero with PNF gradient text and branded background - Update copyright and partner references from Soothe to Pocket Network - Add backwards-compatible shadcn token mappings for migration safety Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add ThemeToggle to root layout AppTopBar (visible on all pages) - Remove custom landing Header component in favor of shared navbar - Remove absolute positioning hack from landing page - Landing page now uses OverrideSidebar to hide sidebar while sharing the same navbar as authenticated pages Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inherited Soothe-branded landing page with a new design matching pocket.network's brand system. Adds hero with $POKT blue gradient, feature cards, how-it-works steps, open source section, built-by cards, and full-width footer. Includes animated background layers (particle canvas, floating orbs, dot grid) and theme-aware footer logo. Connect Wallet button triggers the existing WalletPicker. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…nsolidate action patterns - Fix PocketBrandLogo hydration mismatch by deferring theme-dependent render until mounted - Fix landing page missing header by removing OverrideSidebar hack and adding a layout that closes sidebar - Remove nested scrollable div and hardcoded sidebar width from root layout - Add requireAuth, requireAdmin, and assertOwnership utilities to reduce auth boilerplate - Extract getOwnedImportAttempt helper in ImportSuppliers to deduplicate ownership checks - Wrap DAL getApplicationSettings with React cache() for per-request dedup - Simplify action-layer getApplicationSettings by removing redundant fallback - Replace raw SQL with Drizzle ORM selectDistinct in nodes.ts - Reduce transaction table polling interval from 5s to 15s - Fix pre-existing type narrowing in ListProvidersWithPublicPlans and CalculateStakeDistribution Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add Jest infrastructure and 106 new test cases covering business logic for middleman (admin+client), provider (admin), and shared packages. Covers share calculations, crypto utilities, supplier services, revenue shares, time formatting, env validation, and private key validation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ter is visible The root layout's nested scroll container (overflow-y-scroll with fixed height) caused the header and footer to scroll away on the landing page. Use CSS :has([data-landing]) to override the scroll container and pin the header when the landing route is active. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…le resolution - Add src/**/*.test.ts to exclude in commons, domain, pocket tsconfigs so production builds don't fail on missing Jest type definitions - Fix domain jest.config.ts moduleNameMapper to correctly resolve @igniter/pocket (including proto/generated paths), @igniter/db, @igniter/logger, and @pocket/* internal aliases - All 14 turbo tasks now pass (builds + tests across all packages) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
rounded-full] → rounded-full Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CRITICAL fixes: - C1: Replace undefined --button-2-border with border-border-primary in Notifications action buttons - C2: Replace undefined --divider with border-border-primary in BaseQuickInfoTooltip separator, remove commented-out code - C3: Replace hardcoded #10161e with bg-bg-input in AmountDisplay (breaks light mode) - C4: Darken light-mode tokens for WCAG AA compliance: --text-tertiary #8b98a9→#6b7a8e, --warning #c89b2f→#9a7520, --success #0dab76→#087a54, --error #d93d42→#c43539 - C5: Add mounted guard to FooterLogo to prevent hydration mismatch (resolvedTheme undefined during SSR) - C6: Replace external CDN URLs with local SVG components in FooterLogo WARNING fixes: - W2: Add @media (prefers-reduced-motion: reduce) to disable orb animations, pulse, fade-in-up, and skip particle canvas RAF loop - W5: Delete 7 dead landing page components (Header, Hero, About, Footer, Services, EmptySpace, Divider) - W6: Fix PocketBrandLogo showing black logo on dark theme before mount — return empty placeholder until mounted - W8: Add dark theme values to :root as SSR/JS-disabled fallback so tokens are never undefined on first paint - W9: Replace self-referencing var(--radius-*) in @theme inline with direct pixel values - W12: Replace text-[var(--color-destructive)] with text-error in StakingProcess, UnstakingProcess, ImportProcess INFO fixes: - I1: Replace undefined var(--font-family) with var(--font-sans) in landing.css - I4: Remove commented-out --slate-dividers lines in ReviewStep, StakeSuccessStep, PickStakeAmountStep - I5+I6: Remove unused --navbar-h and --sidebar-w from :root, remove duplicate --font-family/--font-mono definitions Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The header was scrolling away on views with long content because the layout allowed the SidebarProvider wrapper to grow beyond the viewport. - Add h-dvh overflow-hidden to SidebarProvider wrapper to constrain the entire layout to the viewport height - Add min-h-0 to the flex-1 sidebar/content container (flex items default to min-height:auto which prevents shrinking) - Override SidebarInset's min-h-svh with !min-h-0 to prevent it from forcing the container taller than the viewport - Replace hardcoded h-[calc(100vh-72px)] with flex-1 overflow-y-auto so the content area fills remaining space dynamically - Add shrink-0 to AppTopBar header to prevent it from being compressed by flex siblings Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The providers/, about/, and documentation/ landing sub-routes were placeholder pages that only rendered the now-deleted EmptySpace component, breaking the build. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add --chart-grid CSS variable (white in dark mode, black in light mode) and use it for chart axis grid lines instead of --border-subtle - Remove fixed max-h/min-h on admin providers table so it grows with content - Remove nested border on wallet address dropdown trigger Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Apply the same table height fix to all provider app table containers (groups, delegators, miners, regions, services, and their setup counterparts). Tables now grow with content instead of being capped at 500px with internal scroll. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The provider app's ThemeProvider was using attribute="class" while all CSS theme variables are defined under [data-theme="dark"] and [data-theme="light"] selectors. This caused theme variables to not resolve, resulting in wrong background colors and transparent slideout panels. Match the middleman app's configuration. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…okens The provider app was using undefined legacy CSS variables (--color-white-3, --color-slate-2, --color-black-1, --divider, --secondary, --background, --button-2-border, etc.) that were remnants of an older Radix-based theme system. These variables are not defined in the current globals.css, causing elements to render with no colors (transparent backgrounds, invisible borders, missing text colors). Replaced all occurrences with the proper design token Tailwind classes: - --color-white-1/2 → text-text-primary/secondary - --color-white-3/4 → text-text-secondary/tertiary - --color-slate-2 → bg-bg-elevated - --color-slate-3 → bg-bg-input - --color-slate-9 → text-text-tertiary - --color-black-1/2 → bg-bg-root/bg-bg-surface - --divider → border-border-primary - --secondary → bg-bg-elevated - --background → bg-bg-root - --button-2-border → border-border-primary - --color-blue-1 → text-pnf-blue - bg-slate-2 → bg-bg-elevated Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1. Provider login redirect: Changed signIn() to use redirect:false and then window.location.href for a hard navigation. The soft client-side redirect kept the landing-page layout mounted, so the admin sidebar never appeared until a manual refresh. 2. Scrollbar on all views: Changed overflow-hidden to overflow-x-hidden on the <html> element in all root layouts (middleman main/auth, provider admin/landing). overflow-hidden blocked vertical scrolling entirely, preventing setup wizards and long pages from scrolling. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1. Setup layout: Added Sidebar, SidebarProvider, SidebarInset, and NotificationsProvider to the setup layout so it matches the internal layout. Every admin view now has the sidebar. 2. Cross-layout navigation: Replaced Next.js <Link> with plain <a> tags for "Go to portal", "Go to App", and "Go to Admin" menu items in both middleman and provider CurrentUser components. Next.js Link does client-side soft navigation which doesn't fully swap root layouts (landing vs admin), causing the sidebar to disappear. Plain <a> tags force a full page load, ensuring the correct layout mounts. 3. Middleman signIn: Applied the same redirect:false + window.location.href fix from the provider to the middleman's signIn flow for consistent hard navigation after auth. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Same fix as middleman: constrain the layout to viewport height so the header stays pinned and only the content area scrolls. - Add h-dvh overflow-hidden to the outermost flex-col wrapper - Add min-h-0 to the flex-1 container (prevents flex overflow) - Override SidebarInset min-h-svh with !min-h-0 - Add flex-1 overflow-y-auto to the content div - Applied to both (internal) and setup layouts Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the Enable/Disable and Show/Hide outline buttons in the admin
providers table with Switch toggle components. Each toggle shows the
active-state label ("Enable", "Show") beside it. The Enable toggle
is disabled when the provider is hidden.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove PriceWidget from the header and its unused import - Add horizontal padding (px-3) around the wallet address selector so the avatar icon and dropdown caret have breathing room - Avatar is vertically centered via flex items-center on the parent Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There were two Unstake buttons on the Suppliers page, both linking to the same /app/unstake route. Removed the duplicate and styled the remaining one with red text and red border (border-error, text-error) to match the destructive action styleguide. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
9059f91 to
ac57ed1
Compare
jorgecuesta
left a comment
There was a problem hiding this comment.
LGTM, we need to keep working on provider side which has some minor issues with the left navigation bar during bootstrap. On both the icons are not the expected.
Changes
Branding & Design
Landing Page
Code Quality
Build & Test Fixes
Bug Fixes
]bracket in Notifications component Tailwind class (rounded-full]→rounded-full)Refactoring
Dependencies
Test Results
@igniter/middleman@igniter/provider@igniter/domain@igniter/commons@igniter/pocket🤖 Generated with Claude Code