diff --git a/src/components/admin/MenuEditorTab.tsx b/src/components/admin/MenuEditorTab.tsx
index 6fbd92f..fb8aeb4 100644
--- a/src/components/admin/MenuEditorTab.tsx
+++ b/src/components/admin/MenuEditorTab.tsx
@@ -18,7 +18,7 @@ import {
verticalListSortingStrategy,
} from '@dnd-kit/sortable';
import { CSS } from '@dnd-kit/utilities';
-import { PiCaretDownDuotone } from 'react-icons/pi';
+import { PiCaretDown } from 'react-icons/pi';
import {
GripIcon,
TrashIcon,
@@ -41,9 +41,7 @@ import { useNotify } from '../../platform/hooks/useNotify';
import { useNativeDialog } from '../../platform/hooks/useNativeDialog';
const ChevronIcon = ({ expanded }: { expanded: boolean }) => (
-
+
);
function generateId(): string {
diff --git a/src/components/admin/SortableSelectedMethodCard.tsx b/src/components/admin/SortableSelectedMethodCard.tsx
index a00ae63..e0bc956 100644
--- a/src/components/admin/SortableSelectedMethodCard.tsx
+++ b/src/components/admin/SortableSelectedMethodCard.tsx
@@ -1,7 +1,7 @@
import { useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useSortable } from '@dnd-kit/sortable';
-import { PiCaretDownDuotone } from 'react-icons/pi';
+import { PiCaretDown } from 'react-icons/pi';
import { CSS } from '@dnd-kit/utilities';
import { cn } from '../../lib/utils';
import { GripIcon, TrashIcon } from '../icons/LandingIcons';
@@ -11,7 +11,7 @@ import type { PaymentMethodSubOptionInfo } from '../../types';
export type MethodWithId = AdminLandingPaymentMethod & { _id: string };
const ChevronDownIcon = ({ open }: { open: boolean }) => (
-
+
);
interface SortableSelectedMethodProps {
diff --git a/src/components/admin/trafficUsage/TrafficIcons.tsx b/src/components/admin/trafficUsage/TrafficIcons.tsx
index 619b7ee..f4ec955 100644
--- a/src/components/admin/trafficUsage/TrafficIcons.tsx
+++ b/src/components/admin/trafficUsage/TrafficIcons.tsx
@@ -6,7 +6,7 @@
// thin local wrapper over the panel's Phosphor caret icons.
// ──────────────────────────────────────────────────────────────────
-import { PiCaretDownDuotone, PiCaretUpDownDuotone, PiCaretUpDuotone } from 'react-icons/pi';
+import { PiCaretDown, PiCaretUpDown, PiCaretUp } from 'react-icons/pi';
export {
CalendarIcon,
@@ -27,9 +27,9 @@ export {
export const SortIcon = ({ direction }: { direction: false | 'asc' | 'desc' }) =>
direction === 'asc' ? (
-
+
) : direction === 'desc' ? (
-
+
) : (
-
+
);
diff --git a/src/components/dashboard/StatsGrid.tsx b/src/components/dashboard/StatsGrid.tsx
index 6463ee9..3a41585 100644
--- a/src/components/dashboard/StatsGrid.tsx
+++ b/src/components/dashboard/StatsGrid.tsx
@@ -1,4 +1,4 @@
-import { PiCaretRightDuotone } from 'react-icons/pi';
+import { PiCaretRight } from 'react-icons/pi';
import { useTranslation } from 'react-i18next';
import { Link } from 'react-router';
import { useCurrency } from '../../hooks/useCurrency';
@@ -13,7 +13,7 @@ interface StatsGridProps {
}
const ChevronIcon = ({ color }: { color: string }) => (
-
+
);
export default function StatsGrid({
diff --git a/src/components/icons/editor-icons.tsx b/src/components/icons/editor-icons.tsx
index b2649de..39a9e6e 100644
--- a/src/components/icons/editor-icons.tsx
+++ b/src/components/icons/editor-icons.tsx
@@ -1,18 +1,18 @@
import {
- PiTextBDuotone,
- PiTextItalicDuotone,
- PiTextUnderlineDuotone,
- PiTextStrikethroughDuotone,
- PiTextHOneDuotone,
- PiTextHTwoDuotone,
- PiTextHThreeDuotone,
- PiListBulletsDuotone,
- PiListNumbersDuotone,
- PiQuotesDuotone,
- PiCodeBlockDuotone,
- PiTextAlignLeftDuotone,
- PiTextAlignCenterDuotone,
- PiHighlighterDuotone,
+ PiTextB,
+ PiTextItalic,
+ PiTextUnderline,
+ PiTextStrikethrough,
+ PiTextHOne,
+ PiTextHTwo,
+ PiTextHThree,
+ PiListBullets,
+ PiListNumbers,
+ PiQuotes,
+ PiCodeBlock,
+ PiTextAlignLeft,
+ PiTextAlignCenter,
+ PiHighlighter,
} from 'react-icons/pi';
import { cn } from '@/lib/utils';
@@ -22,64 +22,64 @@ interface IconProps {
}
/**
- * Rich-text editor toolbar icons — Phosphor (react-icons/pi) Duotone, the
- * panel's icon family. Shared by the TipTap toolbars in AdminNewsCreate and
+ * Rich-text editor toolbar icons — Phosphor (react-icons/pi), the panel's
+ * icon family (regular weight). Shared by the TipTap toolbars in AdminNewsCreate and
* AdminInfoPageEditor. Names match the historical local definitions so the
* toolbars import instead of hand-rolling SVGs.
*/
export const BoldIcon = ({ className }: IconProps) => (
-
+
);
export const ItalicIcon = ({ className }: IconProps) => (
-
+
);
export const UnderlineIcon = ({ className }: IconProps) => (
-
+
);
export const StrikeIcon = ({ className }: IconProps) => (
-
+
);
export const H1Icon = ({ className }: IconProps) => (
-
+
);
export const H2Icon = ({ className }: IconProps) => (
-
+
);
export const H3Icon = ({ className }: IconProps) => (
-
+
);
export const ListBulletIcon = ({ className }: IconProps) => (
-
+
);
export const ListOrderedIcon = ({ className }: IconProps) => (
-
+
);
export const QuoteIcon = ({ className }: IconProps) => (
-
+
);
export const CodeBlockIcon = ({ className }: IconProps) => (
-
+
);
export const AlignLeftIcon = ({ className }: IconProps) => (
-
+
);
export const AlignCenterIcon = ({ className }: IconProps) => (
-
+
);
export const HighlightIcon = ({ className }: IconProps) => (
-
+
);
diff --git a/src/components/icons/extended-icons.tsx b/src/components/icons/extended-icons.tsx
index 0218acc..af336d9 100644
--- a/src/components/icons/extended-icons.tsx
+++ b/src/components/icons/extended-icons.tsx
@@ -1,76 +1,76 @@
import {
- PiSlidersHorizontalDuotone,
- PiHeadsetDuotone,
- PiArrowDownDuotone,
- PiArrowRightDuotone,
- PiArrowUpDuotone,
- PiProhibitDuotone,
- PiMoneyDuotone,
- PiBellDuotone,
- PiLightningDuotone,
- PiRobotDuotone,
- PiBroadcastDuotone,
- PiAppWindowDuotone,
- PiCalendarDotsDuotone,
- PiCreditCardDuotone,
- PiChartBarDuotone,
- PiCheckCircleDuotone,
- PiCaretUpDownDuotone,
- PiCaretDownDuotone,
- PiCaretLeftDuotone,
- PiCaretUpDuotone,
- PiCurrencyBtcDuotone,
- PiDevicesDuotone,
- PiFileTextDuotone,
+ PiSlidersHorizontal,
+ PiHeadset,
+ PiArrowDown,
+ PiArrowRight,
+ PiArrowUp,
+ PiProhibit,
+ PiMoney,
+ PiBell,
+ PiLightning,
+ PiRobot,
+ PiBroadcast,
+ PiAppWindow,
+ PiCalendarDots,
+ PiCreditCard,
+ PiChartBar,
+ PiCheckCircle,
+ PiCaretUpDown,
+ PiCaretDown,
+ PiCaretLeft,
+ PiCaretUp,
+ PiCurrencyBtc,
+ PiDevices,
+ PiFileText,
PiCircleFill,
- PiEnvelopeDuotone,
- PiWarningDuotone,
- PiArrowSquareOutDuotone,
- PiEyeDuotone,
- PiFunnelDuotone,
- PiDotsSixDuotone,
- PiDotsSixVerticalDuotone,
- PiHeartbeatDuotone,
- PiClockCounterClockwiseDuotone,
- PiImageDuotone,
- PiInfinityDuotone,
- PiLinkDuotone,
- PiMegaphoneDuotone,
- PiMinusDuotone,
- PiNewspaperDuotone,
- PiHandshakeDuotone,
- PiPushPinDuotone,
- PiPlusDuotone,
- PiPowerDuotone,
- PiQuestionDuotone,
- PiRepeatDuotone,
- PiFlagDuotone,
- PiArrowCounterClockwiseDuotone,
- PiArrowClockwiseDuotone,
- PiRocketDuotone,
- PiFloppyDiskDuotone,
- PiPaperPlaneTiltDuotone,
- PiPercentDuotone,
- PiHardDrivesDuotone,
- PiGearSixDuotone,
- PiShareNetworkDuotone,
- PiSparkleDuotone,
- PiChartLineDuotone,
- PiGiftDuotone,
- PiTimerDuotone,
- PiCircleDuotone,
- PiTagDuotone,
- PiTelegramLogoDuotone,
- PiTicketDuotone,
- PiGaugeDuotone,
- PiTrashDuotone,
- PiTrophyDuotone,
- PiPushPinSlashDuotone,
- PiUserPlusDuotone,
- PiUsersThreeDuotone,
- PiVideoCameraDuotone,
- PiXCircleDuotone,
- PiXDuotone,
+ PiEnvelope,
+ PiWarning,
+ PiArrowSquareOut,
+ PiEye,
+ PiFunnel,
+ PiDotsSix,
+ PiDotsSixVertical,
+ PiHeartbeat,
+ PiClockCounterClockwise,
+ PiImage,
+ PiInfinity,
+ PiLink,
+ PiMegaphone,
+ PiMinus,
+ PiNewspaper,
+ PiHandshake,
+ PiPushPin,
+ PiPlus,
+ PiPower,
+ PiQuestion,
+ PiRepeat,
+ PiFlag,
+ PiArrowCounterClockwise,
+ PiArrowClockwise,
+ PiRocket,
+ PiFloppyDisk,
+ PiPaperPlaneTilt,
+ PiPercent,
+ PiHardDrives,
+ PiGearSix,
+ PiShareNetwork,
+ PiSparkle,
+ PiChartLine,
+ PiGift,
+ PiTimer,
+ PiCircle,
+ PiTag,
+ PiTelegramLogo,
+ PiTicket,
+ PiGauge,
+ PiTrash,
+ PiTrophy,
+ PiPushPinSlash,
+ PiUserPlus,
+ PiUsersThree,
+ PiVideoCamera,
+ PiXCircle,
+ PiX,
} from 'react-icons/pi';
import { cn } from '@/lib/utils';
@@ -80,106 +80,106 @@ interface IconProps {
}
/**
- * Extended cabinet icon set — Phosphor (react-icons/pi) Duotone, the panel's
+ * Extended cabinet icon set — Phosphor (react-icons/pi), the panel's
* icon family. These cover the icons that used to be hand-written inline across
* feature pages and components. Names match the historical local definitions so
* every page can import from the central barrel instead of redefining SVGs.
*/
export const AdjustmentsIcon = ({ className }: IconProps) => (
-
+
);
export const AgentIcon = ({ className }: IconProps) => (
-
+
);
export const ArrowDownIcon = ({ className }: IconProps) => (
-
+
);
export const ArrowIcon = ({ className }: IconProps) => (
-
+
);
export const ArrowUpIcon = ({ className }: IconProps) => (
-
+
);
export const BanIcon = ({ className }: IconProps) => (
-
+
);
export const BanknotesIcon = ({ className }: IconProps) => (
-
+
);
export const BellIcon = ({ className }: IconProps) => (
-
+
);
export const BoltIcon = ({ className }: IconProps) => (
-
+
);
export const BotIcon = ({ className }: IconProps) => (
-
+
);
export const BroadcastIcon = ({ className }: IconProps) => (
-
+
);
export const CabinetIcon = ({ className }: IconProps) => (
-
+
);
export const CalendarIcon = ({ className }: IconProps) => (
-
+
);
export const CardIcon = ({ className }: IconProps) => (
-
+
);
export const ChannelIcon = ({ className }: IconProps) => (
-
+
);
export const ChartBarIcon = ({ className }: IconProps) => (
-
+
);
export const CheckCircleIcon = ({ className }: IconProps) => (
-
+
);
export const ChevronExpandIcon = ({ className }: IconProps) => (
-
+
);
export const ChevronIcon = ({ className }: IconProps) => (
-
+
);
export const ChevronLeftIcon = ({ className }: IconProps) => (
-
+
);
export const ChevronUpIcon = ({ className }: IconProps) => (
-
+
);
export const CryptoIcon = ({ className }: IconProps) => (
-
+
);
export const DevicesIcon = ({ className }: IconProps) => (
-
+
);
export const DocumentIcon = ({ className }: IconProps) => (
-
+
);
export const DotIcon = ({ className }: IconProps) => (
@@ -187,229 +187,223 @@ export const DotIcon = ({ className }: IconProps) => (
);
export const EmailIcon = ({ className }: IconProps) => (
-
+
);
export const ExclamationIcon = ({ className }: IconProps) => (
-
+
);
export const ExternalLinkIcon = ({ className }: IconProps) => (
-
+
);
-export const EyeIcon = ({ className }: IconProps) => (
-
-);
+export const EyeIcon = ({ className }: IconProps) => ;
export const FileTextIcon = ({ className }: IconProps) => (
-
+
);
export const FilterIcon = ({ className }: IconProps) => (
-
+
);
export const GripIcon = ({ className }: IconProps) => (
-
+
);
export const GripVerticalIcon = ({ className }: IconProps) => (
-
+
);
export const HealthIcon = ({ className }: IconProps) => (
-
+
);
export const HistoryIcon = ({ className }: IconProps) => (
-
+
);
export const ImageIcon = ({ className }: IconProps) => (
-
+
);
export const InfinityIcon = ({ className }: IconProps) => (
-
+
);
export const LinkIcon = ({ className }: IconProps) => (
-
+
);
export const MailIcon = ({ className }: IconProps) => (
-
+
);
export const MegaphoneIcon = ({ className }: IconProps) => (
-
+
);
export const MinusIcon = ({ className }: IconProps) => (
-
+
);
export const NewsIcon = ({ className }: IconProps) => (
-
+
);
export const PartnerIcon = ({ className }: IconProps) => (
-
+
);
export const PhotoIcon = ({ className }: IconProps) => (
-
+
);
export const PercentIcon = ({ className }: IconProps) => (
-
+
);
export const PinIcon = ({ className }: IconProps) => (
-
+
);
export const PlusSmallIcon = ({ className }: IconProps) => (
-
+
);
export const PowerIcon = ({ className }: IconProps) => (
-
+
);
export const QuestionIcon = ({ className }: IconProps) => (
-
+
);
export const RepeatIcon = ({ className }: IconProps) => (
-
+
);
export const ReportIcon = ({ className }: IconProps) => (
-
+
);
export const ResetIcon = ({ className }: IconProps) => (
-
+
);
export const RestartIcon = ({ className }: IconProps) => (
-
+
);
export const RocketIcon = ({ className }: IconProps) => (
-
+
);
export const SaveIcon = ({ className }: IconProps) => (
-
+
);
export const SendIcon = ({ className }: IconProps) => (
-
+
);
export const ServerSmallIcon = ({ className }: IconProps) => (
-
+
);
export const SettingsIcon = ({ className }: IconProps) => (
-
+
);
export const ShareIcon = ({ className }: IconProps) => (
-
+
);
export const SparklesIcon = ({ className }: IconProps) => (
-
+
);
export const StatBotIcon = ({ className }: IconProps) => (
-
+
);
export const StatCabinetIcon = ({ className }: IconProps) => (
-
+
);
export const StatPaidIcon = ({ className }: IconProps) => (
-
+
);
export const StatsChartIcon = ({ className }: IconProps) => (
-
+
);
export const StatTrialIcon = ({ className }: IconProps) => (
-
+
);
export const StatUptimeIcon = ({ className }: IconProps) => (
-
+
);
export const StatusIcon = ({ className }: IconProps) => (
-
+
);
-export const TagIcon = ({ className }: IconProps) => (
-
-);
+export const TagIcon = ({ className }: IconProps) => ;
export const TelegramIcon = ({ className }: IconProps) => (
-
+
);
export const TelegramSmallIcon = ({ className }: IconProps) => (
-
+
);
export const TicketIcon = ({ className }: IconProps) => (
-
+
);
export const TrafficIcon = ({ className }: IconProps) => (
-
+
);
export const TrashSmallIcon = ({ className }: IconProps) => (
-
+
);
export const TrophyIcon = ({ className }: IconProps) => (
-
+
);
export const UnpinIcon = ({ className }: IconProps) => (
-
+
);
export const UserPlusIcon = ({ className }: IconProps) => (
-
+
);
export const UsersOnlineIcon = ({ className }: IconProps) => (
-
+
);
export const VideoIcon = ({ className }: IconProps) => (
-
+
);
export const WarningIcon = ({ className }: IconProps) => (
-
+
);
export const XCircleIcon = ({ className }: IconProps) => (
-
+
);
export const XCloseIcon = ({ className }: IconProps) => (
-
+
);
-export const XMarkIcon = ({ className }: IconProps) => (
-
-);
+export const XMarkIcon = ({ className }: IconProps) => ;
diff --git a/src/components/icons/index.tsx b/src/components/icons/index.tsx
index b6109e8..0fa9967 100644
--- a/src/components/icons/index.tsx
+++ b/src/components/icons/index.tsx
@@ -1,50 +1,50 @@
import type { CSSProperties } from 'react';
import {
- PiArrowLeftDuotone,
- PiArrowRightDuotone,
- PiArrowsClockwiseDuotone,
- PiCaretDownDuotone,
- PiCaretRightDuotone,
- PiChartBarDuotone,
- PiChatCircleDuotone,
- PiCheckDuotone,
- PiClipboardTextDuotone,
- PiClockDuotone,
- PiCopyDuotone,
- PiCreditCardDuotone,
- PiDownloadSimpleDuotone,
- PiGameControllerDuotone,
- PiGearSixDuotone,
- PiGiftDuotone,
- PiGlobeDuotone,
- PiHardDrivesDuotone,
- PiHouseDuotone,
- PiInfoDuotone,
- PiListDuotone,
- PiLockDuotone,
- PiMagnifyingGlassDuotone,
- PiMegaphoneDuotone,
- PiMoonDuotone,
- PiPaletteDuotone,
- PiPauseCircleDuotone,
- PiPencilDuotone,
- PiPencilSimpleDuotone,
- PiPlayDuotone,
- PiPlusDuotone,
- PiShieldDuotone,
- PiSignOutDuotone,
- PiSparkleDuotone,
- PiStarDuotone,
+ PiArrowLeft,
+ PiArrowRight,
+ PiArrowsClockwise,
+ PiCaretDown,
+ PiCaretRight,
+ PiChartBar,
+ PiChatCircle,
+ PiCheck,
+ PiClipboardText,
+ PiClock,
+ PiCopy,
+ PiCreditCard,
+ PiDownloadSimple,
+ PiGameController,
+ PiGearSix,
+ PiGift,
+ PiGlobe,
+ PiHardDrives,
+ PiHouse,
+ PiInfo,
+ PiList,
+ PiLock,
+ PiMagnifyingGlass,
+ PiMegaphone,
+ PiMoon,
+ PiPalette,
+ PiPauseCircle,
+ PiPencil,
+ PiPencilSimple,
+ PiPlay,
+ PiPlus,
+ PiShield,
+ PiSignOut,
+ PiSparkle,
+ PiStar,
PiStarFill,
- PiSteeringWheelDuotone,
- PiStopDuotone,
- PiSunDuotone,
- PiTrashDuotone,
- PiUploadSimpleDuotone,
- PiUserDuotone,
- PiUsersDuotone,
- PiWalletDuotone,
- PiXDuotone,
+ PiDiceFive,
+ PiStop,
+ PiSun,
+ PiTrash,
+ PiUploadSimple,
+ PiUser,
+ PiUsers,
+ PiWallet,
+ PiX,
} from 'react-icons/pi';
import { cn } from '@/lib/utils';
@@ -60,7 +60,7 @@ interface IconProps {
/**
* Cabinet icons are thin wrappers over the Remnawave panel's own icon library
- * (Phosphor, via `react-icons/pi`, Duotone variants). Each export keeps the
+ * (Phosphor, via `react-icons/pi`, regular weight). Each export keeps the
* historical name + default Tailwind sizing so every consumer keeps working,
* while the cabinet now renders the exact icon set the panel uses instead of
* hand-written SVGs.
@@ -71,174 +71,168 @@ interface IconProps {
// Navigation & Layout
export const HomeIcon = ({ className }: IconProps) => (
-
+
);
export const BackIcon = ({ className }: IconProps) => (
-
+
);
export const ChevronRightIcon = ({ className }: IconProps) => (
-
+
);
export const MenuIcon = ({ className }: IconProps) => (
-
+
);
-export const CloseIcon = ({ className }: IconProps) => (
-
-);
+export const CloseIcon = ({ className }: IconProps) => ;
export const ChevronDownIcon = ({ className }: IconProps) => (
-
+
);
export const ArrowRightIcon = ({ className }: IconProps) => (
-
+
);
// Actions
export const SearchIcon = ({ className }: IconProps) => (
-
+
);
export const PlusIcon = ({ className }: IconProps) => (
-
+
);
export const EditIcon = ({ className }: IconProps) => (
-
+
);
export const PencilIcon = ({ className }: IconProps) => (
-
+
);
export const TrashIcon = ({ className }: IconProps) => (
-
+
);
export const UploadIcon = ({ className }: IconProps) => (
-
+
);
export const DownloadIcon = ({ className }: IconProps) => (
-
+
);
export const RefreshIcon = ({
className,
spinning = false,
}: IconProps & { spinning?: boolean }) => (
-
+
);
export const SyncIcon = ({ className }: IconProps) => (
-
+
);
// Status
export const CheckIcon = ({ className }: IconProps) => (
-
+
);
export const CopyIcon = ({ className }: IconProps) => (
-
+
);
-export const XIcon = ({ className }: IconProps) => (
-
-);
+export const XIcon = ({ className }: IconProps) => ;
export const LockIcon = ({ className }: IconProps) => (
-
+
);
export const InfoIcon = ({ className }: IconProps) => (
-
+
);
// User & People
export const UserIcon = ({ className }: IconProps) => (
-
+
);
export const UsersIcon = ({ className }: IconProps) => (
-
+
);
export const LogoutIcon = ({ className }: IconProps) => (
-
+
);
// Theme
-export const SunIcon = ({ className }: IconProps) => (
-
-);
+export const SunIcon = ({ className }: IconProps) => ;
export const MoonIcon = ({ className }: IconProps) => (
-
+
);
export const PaletteIcon = ({ className }: IconProps) => (
-
+
);
// Features & Content
export const SubscriptionIcon = ({ className }: IconProps) => (
-
+
);
export const WalletIcon = ({ className }: IconProps) => (
-
+
);
export const ChatIcon = ({ className }: IconProps) => (
-
+
);
export const GiftIcon = ({ className }: IconProps) => (
-
+
);
export const ClockIcon = ({ className }: IconProps) => (
-
+
);
export const StarIcon = ({ className, filled }: IconProps & { filled?: boolean }) =>
filled ? (
) : (
-
+
);
export const GamepadIcon = ({ className }: IconProps) => (
-
+
);
export const ClipboardIcon = ({ className }: IconProps) => (
-
+
);
export const CogIcon = ({ className }: IconProps) => (
-
+
);
export const WheelIcon = ({ className }: IconProps) => (
-
+
);
export const ShieldIcon = ({ className }: IconProps) => (
-
+
);
export const ServerIcon = ({ className }: IconProps) => (
-
+
);
export const CampaignIcon = ({ className }: IconProps) => (
-
+
);
// Brand mark — the genuine Remnawave panel logo (kept as-is, this is the
@@ -260,29 +254,29 @@ export const RemnawaveIcon = ({ className }: IconProps) => (
);
export const ChartIcon = ({ className }: IconProps) => (
-
+
);
export const GlobeIcon = ({ className }: IconProps) => (
-
+
);
export const PlayIcon = ({ className }: IconProps) => (
-
+
);
export const StopIcon = ({ className }: IconProps) => (
-
+
);
export const ArrowPathIcon = ({ className }: IconProps) => (
-
+
);
export const PauseIcon = ({ className, style }: IconProps & { style?: CSSProperties }) => (
-
+
);
export const CreditCardIcon = ({ className }: IconProps) => (
-
+
);
diff --git a/src/components/partner/CampaignCard.tsx b/src/components/partner/CampaignCard.tsx
index 22b5e13..0c58077 100644
--- a/src/components/partner/CampaignCard.tsx
+++ b/src/components/partner/CampaignCard.tsx
@@ -1,6 +1,6 @@
import { useCallback, useEffect, useRef, useState } from 'react';
import { useTranslation } from 'react-i18next';
-import { PiCaretDownDuotone } from 'react-icons/pi';
+import { PiCaretDown } from 'react-icons/pi';
import { CheckIcon, CopyIcon } from '@/components/icons';
import type { PartnerCampaignInfo } from '../../api/partners';
@@ -12,7 +12,7 @@ import { CampaignDetailStats } from './CampaignDetailStats';
import { StatCard } from '../stats/StatCard';
const ChevronIcon = ({ expanded }: { expanded: boolean }) => (
-
+
);
interface CampaignCardProps {
diff --git a/src/pages/AdminBulkActions.tsx b/src/pages/AdminBulkActions.tsx
index 82db4f3..5618a44 100644
--- a/src/pages/AdminBulkActions.tsx
+++ b/src/pages/AdminBulkActions.tsx
@@ -20,7 +20,7 @@ import {
type BulkActionType,
type BulkActionParams,
} from '../api/adminBulkActions';
-import { PiCaretDownDuotone } from 'react-icons/pi';
+import { PiCaretDown } from 'react-icons/pi';
import { usePlatform } from '../platform/hooks/usePlatform';
import { useCurrency } from '../hooks/useCurrency';
import { cn } from '@/lib/utils';
@@ -56,7 +56,7 @@ type SubscriptionStatusFilter = '' | 'active' | 'expired' | 'trial' | 'limited'
// className-only API), so it stays local as a thin wrapper over the panel's
// Phosphor caret, preserving the rotate-on-expand behavior.
const ChevronExpandIcon = ({ expanded }: { expanded: boolean }) => (
-
);
diff --git a/src/pages/AdminLandingEditor.tsx b/src/pages/AdminLandingEditor.tsx
index 519dfcc..0a84acc 100644
--- a/src/pages/AdminLandingEditor.tsx
+++ b/src/pages/AdminLandingEditor.tsx
@@ -1,5 +1,5 @@
import { useState, useCallback, useEffect, useRef, useMemo } from 'react';
-import { PiCaretDownDuotone } from 'react-icons/pi';
+import { PiCaretDown } from 'react-icons/pi';
import { useNavigate, useParams } from 'react-router';
import { useQuery, useQueries, useMutation, useQueryClient } from '@tanstack/react-query';
import { useTranslation } from 'react-i18next';
@@ -53,7 +53,7 @@ function isoToDatetimeLocal(iso: string): string {
}
const ChevronDownIcon = ({ open }: { open: boolean }) => (
-
+
);
// ============ Collapsible Section ============
diff --git a/src/pages/Info.tsx b/src/pages/Info.tsx
index b1e7183..9434baf 100644
--- a/src/pages/Info.tsx
+++ b/src/pages/Info.tsx
@@ -1,7 +1,7 @@
import { useState, useMemo, useCallback, useRef, useEffect } from 'react';
import { useQuery } from '@tanstack/react-query';
import { useTranslation } from 'react-i18next';
-import { PiCaretDownDuotone } from 'react-icons/pi';
+import { PiCaretDown } from 'react-icons/pi';
import DOMPurify from 'dompurify';
import { infoApi, FaqPage } from '../api/info';
import { infoPagesApi } from '../api/infoPages';
@@ -10,7 +10,7 @@ import type { FaqItem, ReplacesTab } from '../api/infoPages';
import { DocumentIcon, InfoIcon, QuestionIcon, ShieldIcon, StarIcon } from '@/components/icons';
const ChevronIcon = ({ expanded }: { expanded: boolean }) => (
-
+
);
const BUILTIN_TABS = new Set(['faq', 'rules', 'privacy', 'offer', 'loyalty']);
diff --git a/src/pages/InfoPageView.tsx b/src/pages/InfoPageView.tsx
index 4e52c51..5f8bdf7 100644
--- a/src/pages/InfoPageView.tsx
+++ b/src/pages/InfoPageView.tsx
@@ -3,7 +3,7 @@ import { useParams, useNavigate } from 'react-router';
import { useTranslation } from 'react-i18next';
import { useQuery } from '@tanstack/react-query';
import DOMPurify from 'dompurify';
-import { PiCaretDownDuotone } from 'react-icons/pi';
+import { PiCaretDown } from 'react-icons/pi';
import { BackIcon, SearchIcon } from '@/components/icons';
import { infoPagesApi } from '../api/infoPages';
import { usePlatform } from '../platform/hooks/usePlatform';
@@ -160,7 +160,7 @@ function sanitizeHtml(html: string): string {
// --- FAQ Accordion ---
const ChevronIcon = ({ open }: { open: boolean }) => (
-
);
diff --git a/src/pages/Wheel.tsx b/src/pages/Wheel.tsx
index 1164bbf..9f6d4d0 100644
--- a/src/pages/Wheel.tsx
+++ b/src/pages/Wheel.tsx
@@ -10,13 +10,13 @@ import { Card } from '@/components/data-display/Card/Card';
import { Button } from '@/components/primitives/Button/Button';
import { motion, AnimatePresence } from 'framer-motion';
import { staggerContainer, staggerItem } from '@/components/motion/transitions';
-import { PiCaretDownDuotone } from 'react-icons/pi';
+import { PiCaretDown } from 'react-icons/pi';
import { StarIcon, CalendarIcon, HistoryIcon, CloseIcon } from '@/components/icons';
import { cn } from '@/lib/utils';
// Icons
const ChevronIcon = ({ expanded }: { expanded: boolean }) => (
-
);