fix(27): lint fixes — unused param, import order, formatting
All checks were successful
CI / ci (push) Successful in 1m8s
CI / e2e (push) Has been skipped
CI / deploy (push) Successful in 13s

This commit is contained in:
2026-04-10 23:54:46 +02:00
parent 3144d290d4
commit a576f53d33
4 changed files with 17 additions and 30 deletions

View File

@@ -59,9 +59,7 @@ test.describe("Dashboard", () => {
// The old "collection card with item count of 6" test referenced a dashboard card // The old "collection card with item count of 6" test referenced a dashboard card
// that no longer exists post-Phase-27. Mark as fixme until discovery feed is seeded. // that no longer exists post-Phase-27. Mark as fixme until discovery feed is seeded.
test.fixme( test.fixme("shows collection card with item count of 6", async ({ page }) => {
"shows collection card with item count of 6",
async ({ page }) => {
// NOTE: The old Collection dashboard card is removed. The landing page now // NOTE: The old Collection dashboard card is removed. The landing page now
// shows discovery sections (Popular Setups, Recently Added, etc.). // shows discovery sections (Popular Setups, Recently Added, etc.).
// This test needs to be replaced with a discovery-feed-aware assertion. // This test needs to be replaced with a discovery-feed-aware assertion.
@@ -70,8 +68,7 @@ test.describe("Dashboard", () => {
.first(); .first();
await expect(collectionCard).toBeVisible(); await expect(collectionCard).toBeVisible();
await expect(collectionCard.getByText("6")).toBeVisible(); await expect(collectionCard.getByText("6")).toBeVisible();
}, });
);
// Planning card removed from dashboard — threads are accessed via Collection > Planning tab // Planning card removed from dashboard — threads are accessed via Collection > Planning tab
test.fixme("shows active thread count on Planning card", async ({ page }) => { test.fixme("shows active thread count on Planning card", async ({ page }) => {

View File

@@ -10,18 +10,15 @@ interface TabItemProps {
isActive: boolean; isActive: boolean;
} }
function TabItemWrapper({ function TabItemWrapper({ icon, label, isActive }: TabItemProps) {
icon,
label,
isActive,
children,
}: TabItemProps & { children?: React.ReactNode }) {
const activeClass = "text-gray-900"; const activeClass = "text-gray-900";
const inactiveClass = "text-gray-400"; const inactiveClass = "text-gray-400";
const colorClass = isActive ? activeClass : inactiveClass; const colorClass = isActive ? activeClass : inactiveClass;
return ( return (
<span className={`flex flex-col items-center gap-0.5 py-2 px-4 ${colorClass}`}> <span
className={`flex flex-col items-center gap-0.5 py-2 px-4 ${colorClass}`}
>
<LucideIcon name={icon} size={20} /> <LucideIcon name={icon} size={20} />
<span className="text-xs">{label}</span> <span className="text-xs">{label}</span>
</span> </span>
@@ -83,10 +80,7 @@ export function BottomTabBar() {
)} )}
{/* Search tab — always a button, opens CatalogSearchOverlay */} {/* Search tab — always a button, opens CatalogSearchOverlay */}
<button <button type="button" onClick={() => openCatalogSearch("collection")}>
type="button"
onClick={() => openCatalogSearch("collection")}
>
<TabItemWrapper icon="search" label="Search" isActive={false} /> <TabItemWrapper icon="search" label="Search" isActive={false} />
</button> </button>
</div> </div>

View File

@@ -13,10 +13,10 @@ import "../app.css";
import { AddToCollectionModal } from "../components/AddToCollectionModal"; import { AddToCollectionModal } from "../components/AddToCollectionModal";
import { AddToThreadModal } from "../components/AddToThreadModal"; import { AddToThreadModal } from "../components/AddToThreadModal";
import { AuthPromptModal } from "../components/AuthPromptModal"; import { AuthPromptModal } from "../components/AuthPromptModal";
import { BottomTabBar } from "../components/BottomTabBar";
import { CatalogSearchOverlay } from "../components/CatalogSearchOverlay"; import { CatalogSearchOverlay } from "../components/CatalogSearchOverlay";
import { ConfirmDialog } from "../components/ConfirmDialog"; import { ConfirmDialog } from "../components/ConfirmDialog";
import { ExternalLinkDialog } from "../components/ExternalLinkDialog"; import { ExternalLinkDialog } from "../components/ExternalLinkDialog";
import { BottomTabBar } from "../components/BottomTabBar";
import { FabMenu } from "../components/FabMenu"; import { FabMenu } from "../components/FabMenu";
import { OnboardingWizard } from "../components/OnboardingWizard"; import { OnboardingWizard } from "../components/OnboardingWizard";
import { TopNav } from "../components/TopNav"; import { TopNav } from "../components/TopNav";

View File

@@ -66,11 +66,7 @@ function CollectionPage() {
exit="exit" exit="exit"
transition={{ duration: 0.12, ease: "easeInOut" }} transition={{ duration: 0.12, ease: "easeInOut" }}
> >
{tab === "gear" ? ( {tab === "gear" ? <CollectionView /> : <PlanningView />}
<CollectionView />
) : (
<PlanningView />
)}
</motion.div> </motion.div>
</AnimatePresence> </AnimatePresence>
</div> </div>