diff --git a/packages/frontend/src/components/log-out-button.tsx b/packages/frontend/src/components/log-out-button.tsx
index e7b3f9b..7176726 100644
--- a/packages/frontend/src/components/log-out-button.tsx
+++ b/packages/frontend/src/components/log-out-button.tsx
@@ -1,6 +1,6 @@
-import { LogOut } from "lucide-react";
import { useNavigate } from "react-router-dom";
import { Button } from "@/components/ui/button";
+import Icon from "@/components/ui/icon";
import { clearAuth, cn, getCsrfToken, getServerURL } from "@/lib/utils";
export default function LogOutButton({
@@ -37,7 +37,7 @@ export default function LogOutButton({
size={noStyle ? "none" : "default"}
>
Log out
-
+
);
}
diff --git a/packages/frontend/src/components/login-form.tsx b/packages/frontend/src/components/login-form.tsx
index dad2608..842c01f 100644
--- a/packages/frontend/src/components/login-form.tsx
+++ b/packages/frontend/src/components/login-form.tsx
@@ -1,7 +1,6 @@
/** biome-ignore-all lint/correctness/useExhaustiveDependencies: <> */
import { USER_NAME_MAX_LENGTH, USER_USERNAME_MAX_LENGTH } from "@sprint/shared";
-import { AlertTriangle, X } from "lucide-react";
import { useEffect, useState } from "react";
import { useNavigate, useSearchParams } from "react-router-dom";
import Avatar from "@/components/avatar";
@@ -10,6 +9,7 @@ import { useSession } from "@/components/session-provider";
import { Button } from "@/components/ui/button";
import { Dialog, DialogContent, DialogTitle, DialogTrigger } from "@/components/ui/dialog";
import { Field } from "@/components/ui/field";
+import Icon from "@/components/ui/icon";
import { IconButton } from "@/components/ui/icon-button";
import { Label } from "@/components/ui/label";
import { UploadAvatar } from "@/components/upload-avatar";
@@ -153,9 +153,9 @@ export default function LogInForm() {
setShowWarning(false);
}}
>
-
+
-
+
This application is currently under construction. Your data is very likely to be
diff --git a/packages/frontend/src/components/multi-assignee-select.tsx b/packages/frontend/src/components/multi-assignee-select.tsx
index e4ceff2..9a143b2 100644
--- a/packages/frontend/src/components/multi-assignee-select.tsx
+++ b/packages/frontend/src/components/multi-assignee-select.tsx
@@ -1,5 +1,5 @@
import type { UserRecord } from "@sprint/shared";
-import { Plus } from "lucide-react";
+import Icon from "@/components/ui/icon";
import { IconButton } from "@/components/ui/icon-button";
import { UserSelect } from "@/components/user-select";
@@ -62,7 +62,7 @@ export function MultiAssigneeSelect({
{index === assigneeIds.length - 1 && canAddMore && (
-
+
)}
>
diff --git a/packages/frontend/src/components/organisations-dialog.tsx b/packages/frontend/src/components/organisations-dialog.tsx
index 80d107d..a0d8ac3 100644
--- a/packages/frontend/src/components/organisations-dialog.tsx
+++ b/packages/frontend/src/components/organisations-dialog.tsx
@@ -7,7 +7,6 @@ import {
type ProjectResponse,
type SprintRecord,
} from "@sprint/shared";
-import { ChevronDown, ChevronUp, EllipsisVertical, Plus, X } from "lucide-react";
import { type ReactNode, useCallback, useEffect, useState } from "react";
import { toast } from "sonner";
import { AddMemberDialog } from "@/components/add-member-dialog";
@@ -28,6 +27,7 @@ import {
DropdownMenuItem,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu";
+import Icon from "@/components/ui/icon";
import { IconButton } from "@/components/ui/icon-button";
import { Input } from "@/components/ui/input";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
@@ -571,9 +571,15 @@ function OrganisationsDialog({
>
{member.OrganisationMember.role ===
"admin" ? (
-
+
) : (
-
+
)}
-
+
>
)}
@@ -609,7 +615,7 @@ function OrganisationsDialog({
}}
trigger={
}
/>
@@ -683,7 +689,10 @@ function OrganisationsDialog({
trigger={
}
sprints={sprints}
@@ -726,7 +735,10 @@ function OrganisationsDialog({
noStyle
className="hover:opacity-80 cursor-pointer"
>
-
+
-
+
Move up
-
+
Move down
-
+
Remove
@@ -815,7 +833,7 @@ function OrganisationsDialog({
ISSUE_STATUS_MAX_LENGTH
}
>
-
+
{statusError && (
@@ -833,7 +851,7 @@ function OrganisationsDialog({
}}
className="flex gap-2 w-full min-w-0"
>
- Create status
+ Create status
))}
diff --git a/packages/frontend/src/components/server-configuration-dialog.tsx b/packages/frontend/src/components/server-configuration-dialog.tsx
index b5f1f30..5db0c3e 100644
--- a/packages/frontend/src/components/server-configuration-dialog.tsx
+++ b/packages/frontend/src/components/server-configuration-dialog.tsx
@@ -1,7 +1,7 @@
-import { CheckIcon, ServerIcon, Undo2 } from "lucide-react";
import { type ReactNode, useState } from "react";
import { createPortal } from "react-dom";
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog";
+import Icon from "@/components/ui/icon";
import { IconButton } from "@/components/ui/icon-button";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
@@ -118,7 +118,7 @@ export function ServerConfigurationDialog({ trigger }: { trigger?: ReactNode })
className="absolute top-2 right-2"
title={"Server Configuration"}
>
-
+
)}
@@ -152,7 +152,7 @@ export function ServerConfigurationDialog({ trigger }: { trigger?: ReactNode })
disabled={!canSave || isCheckingHealth}
onClick={handleSave}
>
-
+
-
+
{!isValid && (
diff --git a/packages/frontend/src/components/theme-toggle.tsx b/packages/frontend/src/components/theme-toggle.tsx
index b2b7417..9847db7 100644
--- a/packages/frontend/src/components/theme-toggle.tsx
+++ b/packages/frontend/src/components/theme-toggle.tsx
@@ -1,5 +1,5 @@
-import { Moon, Sun } from "lucide-react";
import { useTheme } from "@/components/theme-provider";
+import Icon from "@/components/ui/icon";
import { IconButton } from "@/components/ui/icon-button";
import { cn } from "@/lib/utils";
@@ -20,7 +20,7 @@ function ThemeToggle({ className }: { className?: string }) {
onClick={() => setTheme(isDark ? "light" : "dark")}
title={isDark ? "Switch to light mode" : "Switch to dark mode"}
>
- {isDark ? : }
+ {isDark ? : }
);
}
diff --git a/packages/frontend/src/components/timer-modal.tsx b/packages/frontend/src/components/timer-modal.tsx
index 31f161f..b534e47 100644
--- a/packages/frontend/src/components/timer-modal.tsx
+++ b/packages/frontend/src/components/timer-modal.tsx
@@ -1,8 +1,8 @@
-import { Timer } from "lucide-react";
import { useState } from "react";
import { IssueTimer } from "@/components/issue-timer";
import { Button } from "@/components/ui/button";
import { Dialog, DialogContent, DialogTrigger } from "@/components/ui/dialog";
+import Icon from "@/components/ui/icon";
export function TimerModal({ issueId }: { issueId: number }) {
const [open, setOpen] = useState(false);
@@ -11,7 +11,7 @@ export function TimerModal({ issueId }: { issueId: number }) {