From 0e817a24ce989f37640690810716ab1a49dd4890 Mon Sep 17 00:00:00 2001 From: Dan Ko Date: Thu, 29 Aug 2024 12:39:45 -0400 Subject: [PATCH 01/16] fix long word overwrap and add tests for feature card component --- .../features/components/Card.test.tsx | 181 ++++++++++++++++++ .../[teamId]/features/components/Card.tsx | 4 +- 2 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx diff --git a/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx b/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx new file mode 100644 index 00000000..0cabc4c0 --- /dev/null +++ b/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx @@ -0,0 +1,181 @@ +import { render } from "@testing-library/react"; +import { configureStore } from "@reduxjs/toolkit"; +import { Provider } from "react-redux"; +import React from "react"; +import Card from "./Card"; +import { rootReducer } from "@/store/store"; +import { useUser } from "@/store/hooks"; + +jest.mock("./EditPopover", () =>
mock child component
); +jest.mock("@/store/hooks", () => ({ + useUser: jest.fn(), +})); +jest.mock("@hello-pangea/dnd", () => ({ + DragDropContext: ({ children }: { children: React.ReactNode }) => ( +
{children}
+ ), + Droppable: ({ + children, + }: { + children: (provided: { + droppableProps: Record; + innerRef: React.RefObject; + }) => React.ReactNode; + }) => ( +
+ {children({ + droppableProps: {}, + innerRef: React.createRef(), + })} +
+ ), + Draggable: ({ + children, + }: { + children: (provided: { + draggableProps: Record; + dragHandleProps: Record; + innerRef: React.RefObject; + }) => React.ReactNode; + }) => ( +
+ {children({ + draggableProps: {}, + dragHandleProps: {}, + innerRef: React.createRef(), + })} +
+ ), +})); + +describe("Feature Card component", () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + it("renders edit button if current user's id matches id of user who added feature", () => { + const mockSetEditMode = jest.fn(); + + const store = configureStore({ + reducer: rootReducer, + }); + + const feature = { + id: 1, + order: 1, + teamMemberId: 1, + category: { + id: 1, + name: "Must Have", + }, + addedBy: { + member: { + id: "user1", + firstName: "test", + lastName: "user", + avatar: + "https://gravatar.com/avatar/c8cf6521c193fc743c7fadcd8be04e983724764efa65b3c3913b6d22f086a11f?s=200&r=g&d=robohash", + }, + }, + description: + "This is a really long description to test ellipsis button visibility", + }; + + (useUser as jest.Mock).mockReturnValue({ id: "user1" }); + + const card = render( + + + , + ); + + const editButton = card.getByRole("button", { name: /feature menu/i }); + const avatar = card.queryByRole("img", { name: /avatar/i }); + + expect(editButton).toBeInTheDocument(); + expect(avatar).not.toBeInTheDocument(); + }); + + it("renders avatar if current user's id doesn't match id of user who added feature", () => { + const mockSetEditMode = jest.fn(); + + const store = configureStore({ + reducer: rootReducer, + }); + + const feature = { + id: 1, + order: 1, + teamMemberId: 1, + category: { + id: 1, + name: "Must Have", + }, + addedBy: { + member: { + id: "user1", + firstName: "test", + lastName: "user", + avatar: + "https://gravatar.com/avatar/c8cf6521c193fc743c7fadcd8be04e983724764efa65b3c3913b6d22f086a11f?s=200&r=g&d=robohash", + }, + }, + description: + "This is a really long description to test ellipsis button visibility", + }; + + (useUser as jest.Mock).mockReturnValue({ id: "user2" }); + + const card = render( + + + , + ); + + const editButton = card.queryByRole("button", { name: /feature menu/i }); + const avatar = card.getByRole("img", { name: /avatar/i }); + + expect(editButton).not.toBeInTheDocument(); + expect(avatar).toBeInTheDocument(); + }); + + it("wraps long word to new line", () => { + const mockSetEditMode = jest.fn(); + + const store = configureStore({ + reducer: rootReducer, + }); + + const feature = { + id: 1, + order: 1, + teamMemberId: 1, + category: { + id: 1, + name: "Must Have", + }, + addedBy: { + member: { + id: "user1", + firstName: "test", + lastName: "user", + avatar: + "https://gravatar.com/avatar/c8cf6521c193fc743c7fadcd8be04e983724764efa65b3c3913b6d22f086a11f?s=200&r=g&d=robohash", + }, + }, + description: + "This is a really long description to test ellipsis button visibility", + }; + + (useUser as jest.Mock).mockReturnValue({ id: "user2" }); + + const card = render( + + + , + ); + + const description = card.getByText(feature.description); + expect(description.closest("span")).toHaveClass("break-all"); + }); +}); diff --git a/src/app/(main)/my-voyage/[teamId]/features/components/Card.tsx b/src/app/(main)/my-voyage/[teamId]/features/components/Card.tsx index 800e8397..a8502957 100644 --- a/src/app/(main)/my-voyage/[teamId]/features/components/Card.tsx +++ b/src/app/(main)/my-voyage/[teamId]/features/components/Card.tsx @@ -67,7 +67,9 @@ export default function Card({ feature, index, setEditMode }: CardProps) { )}
- {description} + + {description} + {`Added by ${ isCurrentUser ? "you" : firstName + " " + lastName }`} From b40c02d53e3a3907ca7bc30ecb1f1f22b5e02f65 Mon Sep 17 00:00:00 2001 From: Dan Ko Date: Thu, 29 Aug 2024 12:57:00 -0400 Subject: [PATCH 02/16] refactor tests --- .../features/components/Card.test.tsx | 126 ++----- .../features/components/fixtures/Features.ts | 350 ++++-------------- 2 files changed, 101 insertions(+), 375 deletions(-) diff --git a/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx b/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx index 0cabc4c0..4d863834 100644 --- a/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx +++ b/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx @@ -3,6 +3,7 @@ import { configureStore } from "@reduxjs/toolkit"; import { Provider } from "react-redux"; import React from "react"; import Card from "./Card"; +import { type Feature, features } from "./fixtures/Features"; import { rootReducer } from "@/store/store"; import { useUser } from "@/store/hooks"; @@ -48,45 +49,30 @@ jest.mock("@hello-pangea/dnd", () => ({ ), })); +// "current user" id is 25b7b76c-1567-4910-9d50-e78819daccf1 +const renderWithStore = (feature: Feature, userId: string) => { + const store = configureStore({ + reducer: rootReducer, + }); + + (useUser as jest.Mock).mockReturnValue({ id: userId }); + + return render( + + + , + ); +}; + describe("Feature Card component", () => { beforeEach(() => { jest.clearAllMocks(); }); it("renders edit button if current user's id matches id of user who added feature", () => { - const mockSetEditMode = jest.fn(); - - const store = configureStore({ - reducer: rootReducer, - }); - - const feature = { - id: 1, - order: 1, - teamMemberId: 1, - category: { - id: 1, - name: "Must Have", - }, - addedBy: { - member: { - id: "user1", - firstName: "test", - lastName: "user", - avatar: - "https://gravatar.com/avatar/c8cf6521c193fc743c7fadcd8be04e983724764efa65b3c3913b6d22f086a11f?s=200&r=g&d=robohash", - }, - }, - description: - "This is a really long description to test ellipsis button visibility", - }; - - (useUser as jest.Mock).mockReturnValue({ id: "user1" }); - - const card = render( - - - , + const card = renderWithStore( + features[0], + "25b7b76c-1567-4910-9d50-e78819daccf1", ); const editButton = card.getByRole("button", { name: /feature menu/i }); @@ -97,39 +83,9 @@ describe("Feature Card component", () => { }); it("renders avatar if current user's id doesn't match id of user who added feature", () => { - const mockSetEditMode = jest.fn(); - - const store = configureStore({ - reducer: rootReducer, - }); - - const feature = { - id: 1, - order: 1, - teamMemberId: 1, - category: { - id: 1, - name: "Must Have", - }, - addedBy: { - member: { - id: "user1", - firstName: "test", - lastName: "user", - avatar: - "https://gravatar.com/avatar/c8cf6521c193fc743c7fadcd8be04e983724764efa65b3c3913b6d22f086a11f?s=200&r=g&d=robohash", - }, - }, - description: - "This is a really long description to test ellipsis button visibility", - }; - - (useUser as jest.Mock).mockReturnValue({ id: "user2" }); - - const card = render( - - - , + const card = renderWithStore( + features[0], + "5d6eb1aa-6e9c-4b26-a363-6a35e5d76daa", ); const editButton = card.queryByRole("button", { name: /feature menu/i }); @@ -140,42 +96,12 @@ describe("Feature Card component", () => { }); it("wraps long word to new line", () => { - const mockSetEditMode = jest.fn(); - - const store = configureStore({ - reducer: rootReducer, - }); - - const feature = { - id: 1, - order: 1, - teamMemberId: 1, - category: { - id: 1, - name: "Must Have", - }, - addedBy: { - member: { - id: "user1", - firstName: "test", - lastName: "user", - avatar: - "https://gravatar.com/avatar/c8cf6521c193fc743c7fadcd8be04e983724764efa65b3c3913b6d22f086a11f?s=200&r=g&d=robohash", - }, - }, - description: - "This is a really long description to test ellipsis button visibility", - }; - - (useUser as jest.Mock).mockReturnValue({ id: "user2" }); - - const card = render( - - - , + const card = renderWithStore( + features[0], + "5d6eb1aa-6e9c-4b26-a363-6a35e5d76daa", ); - const description = card.getByText(feature.description); + const description = card.getByText(features[0].description); expect(description.closest("span")).toHaveClass("break-all"); }); }); diff --git a/src/app/(main)/my-voyage/[teamId]/features/components/fixtures/Features.ts b/src/app/(main)/my-voyage/[teamId]/features/components/fixtures/Features.ts index 82035022..9c646b10 100644 --- a/src/app/(main)/my-voyage/[teamId]/features/components/fixtures/Features.ts +++ b/src/app/(main)/my-voyage/[teamId]/features/components/fixtures/Features.ts @@ -23,289 +23,89 @@ export interface FeaturesList { features: Feature[]; } -export const featuresLists: FeaturesList[] = [ +export const features = [ { - categoryId: 25, - categoryName: "must have", - features: [ - { - id: 50, - description: "User Accounts", - order: 0, - teamMemberId: 33, - category: { - id: 25, - name: "must have", - }, - addedBy: { - member: { - id: "25b7b76c-1567-4910-9d50-e78819daccf1", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=wavatar&r=x", - firstName: "Joso", - lastName: "Mađar", - }, - }, - }, - { - id: 51, - description: "Admin dashboard", - order: 1, - teamMemberId: 33, - category: { - id: 25, - name: "must have", - }, - addedBy: { - member: { - id: "25b7b76c-1567-4910-9d50-e78819daccf1", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=wavatar&r=x", - firstName: "Joso", - lastName: "Mađar", - }, - }, - }, - { - id: 52, - description: "Friend List", - order: 2, - teamMemberId: 35, - category: { - id: 25, - name: "must have", - }, - addedBy: { - member: { - id: "5d6eb1aa-6e9c-4b26-a363-6a35e5d76daa", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=monsterid&r=x", - firstName: "Larry", - lastName: "Castro", - }, - }, - }, - { - id: 62, - description: "Stripe integration", - order: 3, - teamMemberId: 36, - category: { - id: 25, - name: "must have", - }, - addedBy: { - member: { - id: "dff75faa-1f39-446d-a60c-9589e5ead90f", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=identicon&r=x", - firstName: "Leonarda", - lastName: "Rowe", - }, - }, + id: 50, + description: "User Accounts", + order: 0, + teamMemberId: 33, + category: { + id: 25, + name: "must have", + }, + addedBy: { + member: { + id: "25b7b76c-1567-4910-9d50-e78819daccf1", + avatar: + "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=wavatar&r=x", + firstName: "Joso", + lastName: "Mađar", }, - ], + }, }, { - categoryId: 26, - categoryName: "should have", - features: [ - { - id: 49, - description: "Themes", - order: 0, - teamMemberId: 33, - category: { - id: 26, - name: "should have", - }, - addedBy: { - member: { - id: "25b7b76c-1567-4910-9d50-e78819daccf1", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=wavatar&r=x", - firstName: "Joso", - lastName: "Mađar", - }, - }, - }, - { - id: 54, - description: "Save links", - order: 1, - teamMemberId: 35, - category: { - id: 26, - name: "should have", - }, - addedBy: { - member: { - id: "5d6eb1aa-6e9c-4b26-a363-6a35e5d76daa", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=monsterid&r=x", - firstName: "Larry", - lastName: "Castro", - }, - }, - }, - { - id: 55, - description: "Charts and Graphs", - order: 2, - teamMemberId: 34, - category: { - id: 26, - name: "should have", - }, - addedBy: { - member: { - id: "3eca1a73-01aa-448c-8410-dce17ff08938", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=robohash&r=x", - firstName: "Jessica", - lastName: "Williamson", - }, - }, - }, - { - id: 56, - description: "Chat", - order: 3, - teamMemberId: 34, - category: { - id: 26, - name: "should have", - }, - addedBy: { - member: { - id: "dff75faa-1f39-446d-a60c-9589e5ead90f", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=identicon&r=x", - firstName: "Leonarda", - lastName: "Rowe", - }, - }, - }, - { - id: 57, - description: "Share images", - order: 4, - teamMemberId: 34, - category: { - id: 26, - name: "should have", - }, - addedBy: { - member: { - id: "3eca1a73-01aa-448c-8410-dce17ff08938", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=robohash&r=x", - firstName: "Jessica", - lastName: "Williamson", - }, - }, - }, - { - id: 60, - description: "Notifications", - order: 5, - teamMemberId: 36, - category: { - id: 26, - name: "should have", - }, - addedBy: { - member: { - id: "dff75faa-1f39-446d-a60c-9589e5ead90f", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=identicon&r=x", - firstName: "Leonarda", - lastName: "Rowe", - }, - }, + id: 51, + description: "Admin dashboard", + order: 1, + teamMemberId: 33, + category: { + id: 25, + name: "must have", + }, + addedBy: { + member: { + id: "25b7b76c-1567-4910-9d50-e78819daccf1", + avatar: + "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=wavatar&r=x", + firstName: "Joso", + lastName: "Mađar", }, - { - id: 61, - description: "Mobile app", - order: 6, - teamMemberId: 36, - category: { - id: 26, - name: "should have", - }, - addedBy: { - member: { - id: "dff75faa-1f39-446d-a60c-9589e5ead90f", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=identicon&r=x", - firstName: "Leonarda", - lastName: "Rowe", - }, - }, - }, - ], + }, }, { - categoryId: 27, - categoryName: "nice to have", - features: [ - { - id: 53, - description: "Share on LinkedIn", - order: 0, - teamMemberId: 35, - category: { - id: 27, - name: "nice to have", - }, - addedBy: { - member: { - id: "5d6eb1aa-6e9c-4b26-a363-6a35e5d76daa", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=monsterid&r=x", - firstName: "Larry", - lastName: "Castro", - }, - }, - }, - { - id: 58, - description: "Share PDF", - order: 1, - teamMemberId: 36, - category: { - id: 27, - name: "nice to have", - }, - addedBy: { - member: { - id: "dff75faa-1f39-446d-a60c-9589e5ead90f", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=identicon&r=x", - firstName: "Leonarda", - lastName: "Rowe", - }, - }, + id: 52, + description: "Friend List", + order: 2, + teamMemberId: 35, + category: { + id: 25, + name: "must have", + }, + addedBy: { + member: { + id: "5d6eb1aa-6e9c-4b26-a363-6a35e5d76daa", + avatar: + "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=monsterid&r=x", + firstName: "Larry", + lastName: "Castro", }, - { - id: 59, - description: "Upload files", - order: 2, - teamMemberId: 36, - category: { - id: 27, - name: "nice to have", - }, - addedBy: { - member: { - id: "dff75faa-1f39-446d-a60c-9589e5ead90f", - avatar: - "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=identicon&r=x", - firstName: "Leonarda", - lastName: "Rowe", - }, - }, + }, + }, + { + id: 62, + description: "Stripe integration", + order: 3, + teamMemberId: 36, + category: { + id: 25, + name: "must have", + }, + addedBy: { + member: { + id: "dff75faa-1f39-446d-a60c-9589e5ead90f", + avatar: + "https://gravatar.com/avatar/3bfaef00e02a22f99e17c66e7a9fdd31?s=400&d=identicon&r=x", + firstName: "Leonarda", + lastName: "Rowe", }, - ], + }, + }, +]; + +export const featuresLists: FeaturesList[] = [ + { + categoryId: 25, + categoryName: "must have", + features, }, ]; From 981a86857c81f7cdc92f618588197de5e37b1756 Mon Sep 17 00:00:00 2001 From: Dan Ko Date: Thu, 29 Aug 2024 12:59:38 -0400 Subject: [PATCH 03/16] add dummy test cases to be implemented later --- .../[teamId]/features/components/Card.test.tsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx b/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx index 4d863834..d0409490 100644 --- a/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx +++ b/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx @@ -75,10 +75,10 @@ describe("Feature Card component", () => { "25b7b76c-1567-4910-9d50-e78819daccf1", ); - const editButton = card.getByRole("button", { name: /feature menu/i }); + const cardAction = card.getByRole("button", { name: /feature menu/i }); const avatar = card.queryByRole("img", { name: /avatar/i }); - expect(editButton).toBeInTheDocument(); + expect(cardAction).toBeInTheDocument(); expect(avatar).not.toBeInTheDocument(); }); @@ -88,10 +88,10 @@ describe("Feature Card component", () => { "5d6eb1aa-6e9c-4b26-a363-6a35e5d76daa", ); - const editButton = card.queryByRole("button", { name: /feature menu/i }); + const cardAction = card.queryByRole("button", { name: /feature menu/i }); const avatar = card.getByRole("img", { name: /avatar/i }); - expect(editButton).not.toBeInTheDocument(); + expect(cardAction).not.toBeInTheDocument(); expect(avatar).toBeInTheDocument(); }); @@ -104,4 +104,9 @@ describe("Feature Card component", () => { const description = card.getByText(features[0].description); expect(description.closest("span")).toHaveClass("break-all"); }); + + // some more tests that could be implemented + it("renders input when edit button is visible and clicked", () => {}); + + it("deletes a feature when delete button is visible and clicked", () => {}); }); From d78981402b49c8d1899b17237ba962a7f15069f1 Mon Sep 17 00:00:00 2001 From: Dan Ko Date: Thu, 29 Aug 2024 13:01:49 -0400 Subject: [PATCH 04/16] add another test case --- .../(main)/my-voyage/[teamId]/features/components/Card.test.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx b/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx index d0409490..9450a940 100644 --- a/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx +++ b/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx @@ -108,5 +108,7 @@ describe("Feature Card component", () => { // some more tests that could be implemented it("renders input when edit button is visible and clicked", () => {}); + it("adds new feature when input is saved", () => {}); + it("deletes a feature when delete button is visible and clicked", () => {}); }); From a201cdc7b4a9525bf407f7a472b8d72b771e777c Mon Sep 17 00:00:00 2001 From: Dan Ko Date: Thu, 29 Aug 2024 13:02:43 -0400 Subject: [PATCH 05/16] update test case --- .../(main)/my-voyage/[teamId]/features/components/Card.test.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx b/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx index 9450a940..583aebf3 100644 --- a/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx +++ b/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx @@ -108,7 +108,7 @@ describe("Feature Card component", () => { // some more tests that could be implemented it("renders input when edit button is visible and clicked", () => {}); - it("adds new feature when input is saved", () => {}); + it("edits feature when input is saved", () => {}); it("deletes a feature when delete button is visible and clicked", () => {}); }); From e93a4a4a57372d8e78c4ada591ca6b34c7ca5a11 Mon Sep 17 00:00:00 2001 From: Dan Ko Date: Thu, 29 Aug 2024 13:06:14 -0400 Subject: [PATCH 06/16] remove test cases as they make more sense in different files --- .../my-voyage/[teamId]/features/components/Card.test.tsx | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx b/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx index 583aebf3..e7aaea03 100644 --- a/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx +++ b/src/app/(main)/my-voyage/[teamId]/features/components/Card.test.tsx @@ -104,11 +104,4 @@ describe("Feature Card component", () => { const description = card.getByText(features[0].description); expect(description.closest("span")).toHaveClass("break-all"); }); - - // some more tests that could be implemented - it("renders input when edit button is visible and clicked", () => {}); - - it("edits feature when input is saved", () => {}); - - it("deletes a feature when delete button is visible and clicked", () => {}); }); From 82787d55e168db24746cbd7c390c3639500a4abd Mon Sep 17 00:00:00 2001 From: JaneMoroz Date: Thu, 29 Aug 2024 20:36:31 +0300 Subject: [PATCH 07/16] fix: fix top nav and side bar bg, border colors, shadows and etc. --- src/components/navbar/ChinguMenu.tsx | 27 ++++++++++++++------------- src/components/navbar/Navbar.tsx | 6 +++--- src/components/sidebar/PageButton.tsx | 2 +- src/components/sidebar/Sidebar.tsx | 12 ++++++------ 4 files changed, 24 insertions(+), 23 deletions(-) diff --git a/src/components/navbar/ChinguMenu.tsx b/src/components/navbar/ChinguMenu.tsx index 8b1b35be..aafd4063 100644 --- a/src/components/navbar/ChinguMenu.tsx +++ b/src/components/navbar/ChinguMenu.tsx @@ -5,19 +5,20 @@ import routePaths from "@/utils/routePaths"; export default function ChinguMenu() { return ( - -
- Chingu Logo -

- Chingu -

-
+ + Chingu Logo +

+ Chingu +

); } diff --git a/src/components/navbar/Navbar.tsx b/src/components/navbar/Navbar.tsx index f8f2efe2..84097420 100644 --- a/src/components/navbar/Navbar.tsx +++ b/src/components/navbar/Navbar.tsx @@ -6,11 +6,11 @@ interface NavbarProps { export default function Navbar({ children }: NavbarProps) { return ( -