fix: react-doctor no-barrel-import 20→1 (direct design-system imports)

Convert ./design-system barrel imports to direct file paths across
19 admin components. Remaining 1 (db/client.ts) is Drizzle schema
which legitimately requires namespace import for drizzle() helper.
This commit is contained in:
Nora
2026-06-26 03:49:54 -06:00
parent e97eb33bf1
commit 8f61fed997
19 changed files with 48 additions and 43 deletions
+8 -13
View File
@@ -16,19 +16,14 @@ import { markPickupComplete } from "@/actions/pickup";
import { createAdminOrder, type AdminCreateOrderItem } from "@/actions/orders/create-admin-order";
import { formatDate } from "@/lib/format-date";
import AdminBadge from "./design-system/AdminBadge";
import {
AdminButton,
AdminSearchInput,
AdminFilterTabs,
AdminIconButton,
useToast,
AdminInput,
AdminTextInput,
AdminSelect,
EmptyState,
KPIStat,
} from "./design-system";
import { Skeleton } from "./design-system";
import AdminButton, { AdminIconButton } from "./design-system/AdminButton";
import AdminSearchInput from "./design-system/AdminSearchInput";
import AdminFilterTabs from "./design-system/AdminFilterTabs";
import { useToast } from "./Toast";
import { AdminInput, AdminTextInput, AdminSelect } from "./design-system/AdminFormElements";
import EmptyState from "./EmptyState";
import KPIStat from "./KPIStat";
import { Skeleton } from "./design-system/Skeleton";
type OrderItem = {
id: string;
+1 -1
View File
@@ -10,7 +10,7 @@ import {
uploadOlatheSweetLogoDark,
type BrandSettings,
} from "@/actions/brand-settings";
import { AdminInput, AdminTextInput, AdminTextarea, AdminSelect } from "./design-system";
import { AdminInput, AdminTextInput, AdminTextarea, AdminSelect } from "./design-system/AdminFormElements";
type Props = {
settings: BrandSettings | null;
+1 -1
View File
@@ -4,7 +4,7 @@ import { useState, useCallback } from "react";
import type { Contact, ContactSource } from "@/actions/communications/contacts";
import { getContacts, deleteContact, exportContacts } from "@/actions/communications/contacts";
import { formatDate } from "@/lib/format-date";
import { AdminButton } from "./design-system";
import AdminButton from "./design-system/AdminButton";
const SOURCE_COLORS: Record<ContactSource, string> = {
order: "bg-blue-100 text-blue-700",
+2 -2
View File
@@ -3,8 +3,8 @@
import { useState } from "react";
import { useRouter } from "next/navigation";
import { updateWaterHeadgate, deleteWaterHeadgate } from "@/actions/water-log/admin";
import { AdminInput, AdminTextInput, AdminSelect } from "./design-system";
import { AdminButton } from "./design-system";
import { AdminInput, AdminTextInput, AdminSelect } from "./design-system/AdminFormElements";
import AdminButton from "./design-system/AdminButton";
type Headgate = {
id: string;
+1 -1
View File
@@ -4,7 +4,7 @@
import { useState, useEffect, useCallback } from "react";
import { getMessageLogs, type MessageLogEntry } from "@/actions/communications/send";
import { formatDate } from "@/lib/format-date";
import { AdminButton } from "./design-system";
import AdminButton from "./design-system/AdminButton";
const PAGE_SIZE = 20;
+1 -1
View File
@@ -6,7 +6,7 @@ import { useState, useRef } from "react";
import { useRouter } from "next/navigation";
import { uploadProductImage } from "@/actions/products/upload-image";
import { createProduct } from "@/actions/products/create-product";
import { AdminInput, AdminTextInput, AdminTextarea, AdminSelect } from "./design-system";
import { AdminInput, AdminTextInput, AdminTextarea, AdminSelect } from "./design-system/AdminFormElements";
async function resizeImage(file: File, maxWidth: number): Promise<ArrayBuffer> {
return new Promise((resolve, reject) => {
+3 -1
View File
@@ -4,7 +4,9 @@ import { useState } from "react";
import { useRouter } from "next/navigation";
import Link from "next/link";
import { createStop } from "@/actions/stops/create-stop";
import { AdminInput, AdminTextInput, AdminSelect, AdminButton, useToast } from "./design-system";
import { AdminInput, AdminTextInput, AdminSelect } from "./design-system/AdminFormElements";
import AdminButton from "./design-system/AdminButton";
import { useToast } from "./Toast";
type Stop = {
city: string;
+3 -1
View File
@@ -3,7 +3,9 @@
import { useState } from "react";
import { useRouter } from "next/navigation";
import { updateOrder, updateOrderItem, deleteOrderItem } from "@/actions/orders/update-order";
import { AdminInput, AdminTextInput, AdminTextarea, useToast, AdminButton } from "./design-system";
import { AdminInput, AdminTextInput, AdminTextarea } from "./design-system/AdminFormElements";
import { useToast } from "./Toast";
import AdminButton from "./design-system/AdminButton";
type OrderItem = {
id: string;
+2 -1
View File
@@ -5,7 +5,8 @@ import { useRouter } from "next/navigation";
import { formatDate } from "@/lib/format-date";
import { updateOrder } from "@/actions/orders/update-order";
import { createRefund } from "@/actions/orders/create-refund";
import { useToast, AdminButton, AdminInput } from "./design-system";
import { useToast } from "./Toast";
import AdminButton from "./design-system/AdminButton";
type Refund = {
id: string;
+3 -2
View File
@@ -6,8 +6,9 @@ import { useState, useEffect } from "react";
import { savePaymentSettings, type PaymentProvider, type PaymentSettings } from "@/actions/payments";
import { syncSquareNow, getSyncLog, type SyncLogEntry } from "@/actions/square-sync-ui";
import WebhookLogsSection from "@/components/admin/WebhookLogsSection";
import { AdminInput, AdminTextInput, AdminSelect, AdminButton } from "./design-system";
import { AdminToggle } from "./design-system/AdminToggle";
import { AdminInput, AdminTextInput, AdminSelect } from "./design-system/AdminFormElements";
import AdminButton from "./design-system/AdminButton";
import AdminToggle from "./design-system/AdminToggle";
type InventoryMode = "none" | "rc_to_square" | "square_to_rc" | "bidirectional";
+1 -1
View File
@@ -6,7 +6,7 @@ import { useState, useRef } from "react";
import { useRouter } from "next/navigation";
import { uploadProductImage, deleteProductImage } from "@/actions/products/upload-image";
import { updateProduct } from "@/actions/products/update-product";
import { AdminInput, AdminTextInput, AdminTextarea, AdminSelect } from "./design-system";
import { AdminInput, AdminTextInput, AdminTextarea, AdminSelect } from "./design-system/AdminFormElements";
async function resizeImage(file: File, maxWidth: number): Promise<ArrayBuffer> {
return new Promise((resolve, reject) => {
+3 -2
View File
@@ -20,8 +20,9 @@ import {
type TimeTrackingSettings,
type NotificationLogEntry,
} from "@/actions/time-tracking";
import { AdminToggle } from "./design-system/AdminToggle";
import { AdminInput, AdminTextInput, AdminSelect, AdminButton } from "./design-system";
import AdminToggle from "./design-system/AdminToggle";
import { AdminInput, AdminTextInput, AdminSelect } from "./design-system/AdminFormElements";
import AdminButton from "./design-system/AdminButton";
const DAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
@@ -6,15 +6,13 @@ import { Truck, Search, Package, ExternalLink, Sprout, X } from "lucide-react";
import { updateShippingStatus } from "@/actions/shipping";
import { getFedExRates, type FedExRate, type FedExServiceType } from "@/actions/shipping/fedex-rates";
import { createFedExShipment } from "@/actions/shipping/fedex-labels";
import {
AdminButton,
AdminSearchInput,
AdminFilterTabs,
AdminBadge,
AdminEmptyState,
AdminCard,
GlassModal,
} from "./design-system";
import AdminButton from "./design-system/AdminButton";
import AdminSearchInput from "./design-system/AdminSearchInput";
import AdminFilterTabs from "./design-system/AdminFilterTabs";
import AdminBadge from "./design-system/AdminBadge";
import AdminEmptyState from "./design-system/AdminEmptyState";
import AdminCard from "./design-system/AdminCard";
import GlassModal from "./GlassModal";
type OrderItem = {
id: string;
@@ -7,8 +7,9 @@ import {
testFedExConnection,
type ShippingSettings,
} from "@/actions/shipping/settings";
import { AdminInput, AdminTextInput, AdminTextarea, AdminSelect, AdminButton } from "./design-system";
import { AdminToggle } from "./design-system/AdminToggle";
import { AdminInput, AdminTextInput, AdminTextarea, AdminSelect } from "./design-system/AdminFormElements";
import AdminButton from "./design-system/AdminButton";
import AdminToggle from "./design-system/AdminToggle";
const SERVICE_OPTIONS = [
{ value: "FEDEX_OVERNIGHT", label: "FedEx Overnight" },
+3 -1
View File
@@ -3,7 +3,9 @@
import { useState } from "react";
import { useRouter } from "next/navigation";
import { updateStop } from "@/actions/stops/update-stop";
import { AdminInput, AdminTextInput, AdminSelect, AdminButton, useToast } from "./design-system";
import { AdminInput, AdminTextInput, AdminSelect } from "./design-system/AdminFormElements";
import AdminButton from "./design-system/AdminButton";
import { useToast } from "./Toast";
type Brand = {
id: string;
@@ -21,7 +21,8 @@ import {
} from "@/actions/time-tracking";
import { formatDate } from "@/lib/format-date";
import TimeTrackingSettingsClient from "./TimeTrackingSettingsClient";
import { AdminButton, AdminFilterTabs } from "./design-system";
import AdminButton from "./design-system/AdminButton";
import AdminFilterTabs from "./design-system/AdminFilterTabs";
// One-color outline icons
const Icons = {
+1 -1
View File
@@ -48,7 +48,7 @@ import {
type WaterLogReportRow,
} from "@/lib/water-log-reporting";
import { WaterGauge, SeasonMark } from "@/components/water/icons";
import { AdminButton } from "./design-system";
import AdminButton from "./design-system/AdminButton";
import { formatDate, formatDateTime } from "@/lib/format-date";
type Props = {
@@ -3,7 +3,8 @@
import { useState } from "react";
import { useRouter } from "next/navigation";
import { updateWaterEntry, deleteWaterEntry } from "@/actions/water-log/admin";
import { AdminInput, AdminTextInput, AdminTextarea, AdminSelect, AdminButton } from "./design-system";
import { AdminInput, AdminTextInput, AdminTextarea, AdminSelect } from "./design-system/AdminFormElements";
import AdminButton from "./design-system/AdminButton";
type WaterEntry = {
id: string;
+1 -1
View File
@@ -3,7 +3,7 @@
import { useState } from "react";
import { useRouter } from "next/navigation";
import { updateWaterIrrigator, resetWaterIrrigatorPin, deleteWaterUser } from "@/actions/water-log/admin";
import { AdminButton } from "./design-system";
import AdminButton from "./design-system/AdminButton";
type WaterUser = {
id: string;