= ({
className="border-b border-gray-300 bg-gray-0 text-gray-800 dark:border-gray-300-dark dark:bg-gray-0-dark dark:text-gray-800-dark"
>
> = ({ className, children, ...props }) => (
- |
+ |
{children}
|
);
@@ -281,10 +278,7 @@ const HeaderTd: FC<
>
> = ({ className, children, ...props }) => (
{children}
@@ -294,7 +288,7 @@ const HeaderTd: FC<
const SortArrow: FC<{ isAsc: boolean }> = ({ isAsc }) => (
diff --git a/front_end/src/app/(main)/(leaderboards)/leaderboard/components/leaderboard_table/table_row.tsx b/front_end/src/app/(main)/(leaderboards)/leaderboard/components/leaderboard_table/table_row.tsx
index 87f9ac6e4..64cbecafc 100644
--- a/front_end/src/app/(main)/(leaderboards)/leaderboard/components/leaderboard_table/table_row.tsx
+++ b/front_end/src/app/(main)/(leaderboards)/leaderboard/components/leaderboard_table/table_row.tsx
@@ -1,4 +1,3 @@
-import classNames from "classnames";
import Link from "next/link";
import { FC } from "react";
@@ -8,6 +7,7 @@ import {
LeaderboardEntry,
LeaderboardType,
} from "@/types/scoring";
+import cn from "@/utils/cn";
import { abbreviatedNumber } from "@/utils/number_formatters";
import MedalIcon from "../../../components/medal_icon";
@@ -44,7 +44,7 @@ const LeaderboardRow: FC = ({
return (
= ({
= ({
|
)}
> = ({ className, children }) => (
|
> = ({ highlight, className, children }) => (
| |
= ({ className }) => (
= ({ medalEntries, userId }) => {
{categories.map((category) => (
= async ({ profileId }) => {
{categories?.map((category, index) => (
= async ({ profileId }) => {
{categories?.map((category, index) => (
diff --git a/front_end/src/app/(main)/(tournaments)/tournament/[slug]/page.tsx b/front_end/src/app/(main)/(tournaments)/tournament/[slug]/page.tsx
index a617b183e..d56bafecd 100644
--- a/front_end/src/app/(main)/(tournaments)/tournament/[slug]/page.tsx
+++ b/front_end/src/app/(main)/(tournaments)/tournament/[slug]/page.tsx
@@ -1,4 +1,3 @@
-import classNames from "classnames";
import { Metadata } from "next";
import dynamic from "next/dynamic";
import Image from "next/image";
@@ -19,6 +18,7 @@ import ProjectsApi from "@/services/projects";
import { SearchParams } from "@/types/navigation";
import { ProjectPermissions } from "@/types/post";
import { ProjectVisibility, TournamentType } from "@/types/projects";
+import cn from "@/utils/cn";
import { formatDate } from "@/utils/date_formatters";
import TournamentFeed from "../components/tournament_feed";
@@ -72,7 +72,7 @@ export default async function TournamentSlug({ params }: Props) {
+
{beforePanel}
{!hideClose && (
@@ -42,10 +42,9 @@ function ModalPanel({
{title ? (
{title}
diff --git a/front_end/src/app/(main)/accounts/profile/[id]/components/profile_page_tab.tsx b/front_end/src/app/(main)/accounts/profile/[id]/components/profile_page_tab.tsx
index 8857bec83..e36a4bbe1 100644
--- a/front_end/src/app/(main)/accounts/profile/[id]/components/profile_page_tab.tsx
+++ b/front_end/src/app/(main)/accounts/profile/[id]/components/profile_page_tab.tsx
@@ -1,11 +1,11 @@
"use client";
-import classNames from "classnames";
import { useTranslations } from "next-intl";
import { FC } from "react";
import ButtonGroup, { GroupButton } from "@/components/ui/button_group";
import { ProfilePageMode } from "@/types/users";
+import cn from "@/utils/cn";
type Props = {
mode: ProfilePageMode;
@@ -42,11 +42,11 @@ const ProfilePageTabs: FC = ({ mode, id }) => {
buttons={managementModeButtons}
onChange={() => {}}
variant="tertiary"
- className={classNames(
- "hover:!dark:bg-blue-800 !bg-blue-100 !font-light capitalize !leading-5 !text-blue-900 hover:!bg-blue-200 dark:!border-blue-950 dark:!bg-blue-950 dark:!text-white"
+ className={cn(
+ "bg-blue-100 font-light capitalize leading-5 text-blue-900 hover:bg-blue-200 dark:border-blue-950 dark:bg-blue-950 dark:text-white hover:dark:bg-blue-800"
)}
- activeClassName={classNames(
- "!bg-blue-900 !text-white hover:!bg-blue-800 dark:!bg-blue-100 dark:!text-blue-900 dark:hover:!bg-blue-200"
+ activeClassName={cn(
+ "bg-blue-900 text-white hover:bg-blue-800 dark:bg-blue-100 dark:text-blue-900 dark:hover:bg-blue-200"
)}
/>
);
diff --git a/front_end/src/app/(main)/accounts/settings/components/question_notifications.tsx b/front_end/src/app/(main)/accounts/settings/components/question_notifications.tsx
index ca2086b25..70eeb6539 100644
--- a/front_end/src/app/(main)/accounts/settings/components/question_notifications.tsx
+++ b/front_end/src/app/(main)/accounts/settings/components/question_notifications.tsx
@@ -2,7 +2,6 @@
import { faXmark } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
-import classNames from "classnames";
import { useLocale, useTranslations } from "next-intl";
import React, { FC, useCallback, useState } from "react";
@@ -13,6 +12,7 @@ import Button from "@/components/ui/button";
import { Post, PostSubscriptionType } from "@/types/post";
import { CurrentUser } from "@/types/users";
import { Require } from "@/types/utils";
+import cn from "@/utils/cn";
import { formatDate } from "@/utils/date_formatters";
type PostWithSubscriptions = Require;
@@ -101,12 +101,12 @@ const QuestionNotifications: FC = ({
{posts.map((post, index) => (
= ({
|
= ({
{getSubscriptionsLabel(t, locale, post)}
|
= ({
)}
|
= ({
}) => {
return (
= ({
}) => {
return (
= ({ community }) => {
}
/>
| |