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:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
@@ -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,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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
@@ -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,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 = {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user