adilallo/maintanence/ComponentOrganizationPolish #40

Merged
an.di merged 15 commits from adilallo/maintanence/ComponentOrganizationPolish into main 2026-02-07 05:31:44 +00:00
38 changed files with 40 additions and 39 deletions
Showing only changes of commit e3478e6105 - Show all commits
@@ -3,7 +3,7 @@
import { forwardRef, memo, useCallback } from "react"; import { forwardRef, memo, useCallback } from "react";
import { ContextMenuItemView } from "./ContextMenuItem.view"; import { ContextMenuItemView } from "./ContextMenuItem.view";
import type { ContextMenuItemProps } from "./ContextMenuItem.types"; import type { ContextMenuItemProps } from "./ContextMenuItem.types";
import { normalizeContextMenuItemSize } from "../../../lib/propNormalization"; import { normalizeContextMenuItemSize } from "../../../../lib/propNormalization";
const ContextMenuItemContainer = forwardRef< const ContextMenuItemContainer = forwardRef<
HTMLDivElement, HTMLDivElement,
@@ -3,7 +3,7 @@
import { forwardRef, memo, useCallback } from "react"; import { forwardRef, memo, useCallback } from "react";
import { SelectOptionView } from "./SelectOption.view"; import { SelectOptionView } from "./SelectOption.view";
import type { SelectOptionProps } from "./SelectOption.types"; import type { SelectOptionProps } from "./SelectOption.types";
import { normalizeContextMenuItemSize } from "../../../../lib/propNormalization"; import { normalizeContextMenuItemSize } from "../../../../../lib/propNormalization";
const SelectOptionContainer = forwardRef<HTMLDivElement, SelectOptionProps>( const SelectOptionContainer = forwardRef<HTMLDivElement, SelectOptionProps>(
( (
@@ -2,7 +2,7 @@
import { useTranslation } from "../../../contexts/MessagesContext"; import { useTranslation } from "../../../contexts/MessagesContext";
import Button from "../../buttons/Button"; import Button from "../../buttons/Button";
import Stepper from "../../progress/Stepper"; import Stepper from "../../progress/Progress/Stepper";
import type { ModalFooterProps } from "./ModalFooter.types"; import type { ModalFooterProps } from "./ModalFooter.types";
export function ModalFooterView({ export function ModalFooterView({
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import Alert from "../../app/components/Alert"; import Alert from "../../app/components/modals/Alert";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type AlertProps = React.ComponentProps<typeof Alert>; type AlertProps = React.ComponentProps<typeof Alert>;
+1 -1
View File
@@ -1,7 +1,7 @@
import React from "react"; import React from "react";
import { renderWithProviders as render, screen } from "../utils/test-utils"; import { renderWithProviders as render, screen } from "../utils/test-utils";
import { describe, it, expect } from "vitest"; import { describe, it, expect } from "vitest";
import AskOrganizer from "../../app/components/AskOrganizer"; import AskOrganizer from "../../app/components/sections/AskOrganizer";
import { import {
componentTestSuite, componentTestSuite,
ComponentTestSuiteConfig, ComponentTestSuiteConfig,
+1 -1
View File
@@ -3,7 +3,7 @@ import { describe, it, expect, vi } from "vitest";
import { render, screen } from "@testing-library/react"; import { render, screen } from "@testing-library/react";
import userEvent from "@testing-library/user-event"; import userEvent from "@testing-library/user-event";
import "@testing-library/jest-dom/vitest"; import "@testing-library/jest-dom/vitest";
import Button from "../../app/components/Button"; import Button from "../../app/components/buttons/Button";
import { import {
componentTestSuite, componentTestSuite,
ComponentTestSuiteConfig, ComponentTestSuiteConfig,
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import Checkbox from "../../app/components/Checkbox"; import Checkbox from "../../app/components/controls/Checkbox";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type CheckboxProps = React.ComponentProps<typeof Checkbox>; type CheckboxProps = React.ComponentProps<typeof Checkbox>;
+1 -1
View File
@@ -1,7 +1,7 @@
import React from "react"; import React from "react";
import { render, screen } from "@testing-library/react"; import { render, screen } from "@testing-library/react";
import { describe, it, expect, vi } from "vitest"; import { describe, it, expect, vi } from "vitest";
import ContentBanner from "../../app/components/ContentBanner"; import ContentBanner from "../../app/components/sections/ContentBanner";
import type { BlogPost } from "../../lib/content"; import type { BlogPost } from "../../lib/content";
vi.mock("next/link", () => ({ vi.mock("next/link", () => ({
+2 -2
View File
@@ -3,8 +3,8 @@ import { describe, it, expect, vi, beforeEach } from "vitest";
import { screen, fireEvent, waitFor } from "@testing-library/react"; import { screen, fireEvent, waitFor } from "@testing-library/react";
import "@testing-library/jest-dom/vitest"; import "@testing-library/jest-dom/vitest";
import { renderWithProviders } from "../utils/test-utils"; import { renderWithProviders } from "../utils/test-utils";
import Create from "../../app/components/Create"; import Create from "../../app/components/modals/Create";
import TextInput from "../../app/components/TextInput"; import TextInput from "../../app/components/controls/TextInput";
type CreateProps = React.ComponentProps<typeof Create>; type CreateProps = React.ComponentProps<typeof Create>;
+1 -1
View File
@@ -1,7 +1,7 @@
import React from "react"; import React from "react";
import { renderWithProviders as render, screen } from "../utils/test-utils"; import { renderWithProviders as render, screen } from "../utils/test-utils";
import { describe, it, expect } from "vitest"; import { describe, it, expect } from "vitest";
import FeatureGrid from "../../app/components/FeatureGrid"; import FeatureGrid from "../../app/components/sections/FeatureGrid";
import { import {
componentTestSuite, componentTestSuite,
ComponentTestSuiteConfig, ComponentTestSuiteConfig,
+1 -1
View File
@@ -1,7 +1,7 @@
import React from "react"; import React from "react";
import { renderWithProviders as render, screen } from "../utils/test-utils"; import { renderWithProviders as render, screen } from "../utils/test-utils";
import { describe, it, expect } from "vitest"; import { describe, it, expect } from "vitest";
import Footer from "../../app/components/Footer"; import Footer from "../../app/components/navigation/Footer";
import { import {
componentTestSuite, componentTestSuite,
ComponentTestSuiteConfig, ComponentTestSuiteConfig,
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import Header from "../../app/components/Header"; import Header from "../../app/components/navigation/Header";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type HeaderProps = React.ComponentProps<typeof Header>; type HeaderProps = React.ComponentProps<typeof Header>;
+1 -1
View File
@@ -1,7 +1,7 @@
import React from "react"; import React from "react";
import { renderWithProviders as render, screen } from "../utils/test-utils"; import { renderWithProviders as render, screen } from "../utils/test-utils";
import { describe, it, expect } from "vitest"; import { describe, it, expect } from "vitest";
import HeroBanner from "../../app/components/HeroBanner"; import HeroBanner from "../../app/components/sections/HeroBanner";
import { import {
componentTestSuite, componentTestSuite,
ComponentTestSuiteConfig, ComponentTestSuiteConfig,
+1 -1
View File
@@ -2,7 +2,7 @@ import React from "react";
import { describe, it, expect, vi } from "vitest"; import { describe, it, expect, vi } from "vitest";
import { render, screen, fireEvent } from "@testing-library/react"; import { render, screen, fireEvent } from "@testing-library/react";
import "@testing-library/jest-dom/vitest"; import "@testing-library/jest-dom/vitest";
import IconCard from "../../app/components/IconCard"; import IconCard from "../../app/components/cards/IconCard";
import { import {
componentTestSuite, componentTestSuite,
type ComponentTestSuiteConfig, type ComponentTestSuiteConfig,
+1 -1
View File
@@ -1,7 +1,7 @@
import React from "react"; import React from "react";
import { render, screen } from "@testing-library/react"; import { render, screen } from "@testing-library/react";
import { describe, it, expect } from "vitest"; import { describe, it, expect } from "vitest";
import Logo from "../../app/components/Logo"; import Logo from "../../app/components/icons/Logo";
import { import {
componentTestSuite, componentTestSuite,
ComponentTestSuiteConfig, ComponentTestSuiteConfig,
+1 -1
View File
@@ -2,7 +2,7 @@ import { describe, it, expect, vi } from "vitest";
import { screen } from "@testing-library/react"; import { screen } from "@testing-library/react";
import userEvent from "@testing-library/user-event"; import userEvent from "@testing-library/user-event";
import { renderWithProviders as render } from "../utils/test-utils"; import { renderWithProviders as render } from "../utils/test-utils";
import MultiSelect from "../../app/components/MultiSelect"; import MultiSelect from "../../app/components/controls/MultiSelect";
import { import {
componentTestSuite, componentTestSuite,
type ComponentTestSuiteConfig, type ComponentTestSuiteConfig,
+1 -1
View File
@@ -2,7 +2,7 @@ import React from "react";
import { describe, it, expect } from "vitest"; import { describe, it, expect } from "vitest";
import { render, screen } from "@testing-library/react"; import { render, screen } from "@testing-library/react";
import "@testing-library/jest-dom/vitest"; import "@testing-library/jest-dom/vitest";
import Progress from "../../app/components/Progress"; import Progress from "../../app/components/progress/Progress";
import { import {
componentTestSuite, componentTestSuite,
ComponentTestSuiteConfig, ComponentTestSuiteConfig,
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import RadioButton from "../../app/components/RadioButton"; import RadioButton from "../../app/components/controls/RadioButton";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type RadioButtonProps = React.ComponentProps<typeof RadioButton>; type RadioButtonProps = React.ComponentProps<typeof RadioButton>;
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import RadioGroup from "../../app/components/RadioGroup"; import RadioGroup from "../../app/components/controls/RadioGroup";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type RadioGroupProps = React.ComponentProps<typeof RadioGroup>; type RadioGroupProps = React.ComponentProps<typeof RadioGroup>;
+2 -2
View File
@@ -1,7 +1,7 @@
import React from "react"; import React from "react";
import { render, screen } from "@testing-library/react"; import { render, screen } from "@testing-library/react";
import { describe, it, expect, vi } from "vitest"; import { describe, it, expect, vi } from "vitest";
import RelatedArticles from "../../app/components/RelatedArticles"; import RelatedArticles from "../../app/components/sections/RelatedArticles";
import type { BlogPost } from "../../lib/content"; import type { BlogPost } from "../../lib/content";
vi.mock("next/link", () => ({ vi.mock("next/link", () => ({
@@ -12,7 +12,7 @@ vi.mock("next/link", () => ({
), ),
})); }));
vi.mock("../../app/components/ContentThumbnailTemplate", () => ({ vi.mock("../../app/components/content/ContentThumbnailTemplate", () => ({
default: ({ post }: { post: BlogPost }) => ( default: ({ post }: { post: BlogPost }) => (
<div data-testid={`thumbnail-${post.slug}`}> <div data-testid={`thumbnail-${post.slug}`}>
<a href={`/blog/${post.slug}`}> <a href={`/blog/${post.slug}`}>
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import SectionHeader from "../../app/components/SectionHeader"; import SectionHeader from "../../app/components/sections/SectionHeader";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type SectionHeaderProps = React.ComponentProps<typeof SectionHeader>; type SectionHeaderProps = React.ComponentProps<typeof SectionHeader>;
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import SelectInput from "../../app/components/SelectInput"; import SelectInput from "../../app/components/controls/SelectInput";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type SelectInputProps = React.ComponentProps<typeof SelectInput>; type SelectInputProps = React.ComponentProps<typeof SelectInput>;
+1 -1
View File
@@ -2,7 +2,7 @@ import React from "react";
import { describe, it, expect } from "vitest"; import { describe, it, expect } from "vitest";
import { render, screen } from "@testing-library/react"; import { render, screen } from "@testing-library/react";
import "@testing-library/jest-dom/vitest"; import "@testing-library/jest-dom/vitest";
import Stepper from "../../app/components/Stepper"; import Stepper from "../../app/components/progress/Progress/Stepper";
import { import {
componentTestSuite, componentTestSuite,
ComponentTestSuiteConfig, ComponentTestSuiteConfig,
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import Switch from "../../app/components/Switch"; import Switch from "../../app/components/controls/Switch";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type SwitchProps = React.ComponentProps<typeof Switch>; type SwitchProps = React.ComponentProps<typeof Switch>;
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import TextArea from "../../app/components/TextArea"; import TextArea from "../../app/components/controls/TextArea";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type TextAreaProps = React.ComponentProps<typeof TextArea>; type TextAreaProps = React.ComponentProps<typeof TextArea>;
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import TextInput from "../../app/components/TextInput"; import TextInput from "../../app/components/controls/TextInput";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type TextInputProps = React.ComponentProps<typeof TextInput>; type TextInputProps = React.ComponentProps<typeof TextInput>;
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import Toggle from "../../app/components/Toggle"; import Toggle from "../../app/components/controls/Toggle";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type ToggleProps = React.ComponentProps<typeof Toggle>; type ToggleProps = React.ComponentProps<typeof Toggle>;
+1 -1
View File
@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import ToggleGroup from "../../app/components/ToggleGroup"; import ToggleGroup from "../../app/components/controls/ToggleGroup";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type ToggleGroupProps = React.ComponentProps<typeof ToggleGroup>; type ToggleGroupProps = React.ComponentProps<typeof ToggleGroup>;
+1 -1
View File
@@ -3,7 +3,7 @@ import { describe, it, expect } from "vitest";
import { render, screen } from "@testing-library/react"; import { render, screen } from "@testing-library/react";
import userEvent from "@testing-library/user-event"; import userEvent from "@testing-library/user-event";
import "@testing-library/jest-dom/vitest"; import "@testing-library/jest-dom/vitest";
import Tooltip from "../../app/components/Tooltip"; import Tooltip from "../../app/components/modals/Tooltip";
import { componentTestSuite } from "../utils/componentTestSuite"; import { componentTestSuite } from "../utils/componentTestSuite";
type TooltipProps = React.ComponentProps<typeof Tooltip>; type TooltipProps = React.ComponentProps<typeof Tooltip>;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 882 KiB

After

Width:  |  Height:  |  Size: 882 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 393 KiB

After

Width:  |  Height:  |  Size: 423 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

+5 -4
View File
@@ -1,5 +1,6 @@
import { describe, it, expect, vi, beforeEach } from "vitest"; import { describe, it, expect, vi, beforeEach } from "vitest";
import { render, screen, waitFor } from "@testing-library/react"; import { screen, waitFor } from "@testing-library/react";
import { renderWithProviders as render } from "../utils/test-utils";
import React from "react"; import React from "react";
import BlogPostPage from "../../app/blog/[slug]/page"; import BlogPostPage from "../../app/blog/[slug]/page";
@@ -47,7 +48,7 @@ vi.mock("../../lib/content", () => ({
})); }));
// Mock components // Mock components
vi.mock("../../app/components/ContentBanner", () => { vi.mock("../../app/components/sections/ContentBanner", () => {
return { return {
default: ({ post }) => ( default: ({ post }) => (
<div data-testid="content-banner"> <div data-testid="content-banner">
@@ -58,7 +59,7 @@ vi.mock("../../app/components/ContentBanner", () => {
}; };
}); });
vi.mock("../../app/components/RelatedArticles", () => { vi.mock("../../app/components/sections/RelatedArticles", () => {
return { return {
default: ({ relatedPosts }) => ( default: ({ relatedPosts }) => (
<div data-testid="related-articles"> <div data-testid="related-articles">
@@ -73,7 +74,7 @@ vi.mock("../../app/components/RelatedArticles", () => {
}; };
}); });
vi.mock("../../app/components/AskOrganizer", () => { vi.mock("../../app/components/sections/AskOrganizer", () => {
return { return {
default: ({ title, subtitle, buttonText }) => ( default: ({ title, subtitle, buttonText }) => (
<div data-testid="ask-organizer"> <div data-testid="ask-organizer">
+1 -1
View File
@@ -1,6 +1,6 @@
import { render, screen, cleanup } from "@testing-library/react"; import { render, screen, cleanup } from "@testing-library/react";
import { describe, test, expect, afterEach } from "vitest"; import { describe, test, expect, afterEach } from "vitest";
import LogoWall from "../../app/components/LogoWall"; import LogoWall from "../../app/components/sections/LogoWall";
afterEach(() => { afterEach(() => {
cleanup(); cleanup();
+1 -1
View File
@@ -1,6 +1,6 @@
import { render, screen } from "@testing-library/react"; import { render, screen } from "@testing-library/react";
import { describe, it, expect } from "vitest"; import { describe, it, expect } from "vitest";
import NumberCard from "../../app/components/NumberCard"; import NumberCard from "../../app/components/cards/NumberCard";
describe("NumberCard Component", () => { describe("NumberCard Component", () => {
const defaultProps = { const defaultProps = {
+1 -1
View File
@@ -4,7 +4,7 @@ import {
cleanup, cleanup,
} from "../utils/test-utils"; } from "../utils/test-utils";
import { describe, test, expect, afterEach } from "vitest"; import { describe, test, expect, afterEach } from "vitest";
import NumberedCards from "../../app/components/NumberedCards"; import NumberedCards from "../../app/components/sections/NumberedCards";
afterEach(() => { afterEach(() => {
cleanup(); cleanup();
+1 -1
View File
@@ -4,7 +4,7 @@ import {
cleanup, cleanup,
} from "../utils/test-utils"; } from "../utils/test-utils";
import { vi, describe, test, expect, afterEach } from "vitest"; import { vi, describe, test, expect, afterEach } from "vitest";
import QuoteBlock from "../../app/components/QuoteBlock"; import QuoteBlock from "../../app/components/sections/QuoteBlock";
afterEach(() => { afterEach(() => {
cleanup(); cleanup();