Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
7e6813d
copy to ui with eng docs
MichaelUnkey Jun 26, 2025
e95d1e4
Small change to eng docs
MichaelUnkey Jun 30, 2025
74a32af
First set of toaster changed in dashboard
MichaelUnkey Jul 8, 2025
d58ed48
Merge branch 'main' of https://github.com/unkeyed/unkey into move-toa…
MichaelUnkey Jul 8, 2025
a1b2812
Merge branch 'main' of https://github.com/unkeyed/unkey into move-toa…
MichaelUnkey Jul 8, 2025
b844b6e
swapped some toasts
MichaelUnkey Jul 8, 2025
311c623
Merge branch 'main' of https://github.com/unkeyed/unkey into move-toa…
MichaelUnkey Jul 8, 2025
4a32840
openapi file revert
MichaelUnkey Jul 8, 2025
00dfee7
Merge branch 'main' of https://github.com/unkeyed/unkey into move-toa…
MichaelUnkey Jul 8, 2025
1b15a12
[autofix.ci] apply automated fixes
autofix-ci[bot] Jul 8, 2025
192e108
next set converted
MichaelUnkey Jul 8, 2025
905d52d
rabbit
MichaelUnkey Jul 8, 2025
009bafa
[autofix.ci] apply automated fixes
autofix-ci[bot] Jul 8, 2025
582cec8
more rabbit
MichaelUnkey Jul 8, 2025
db6987a
rabbit
MichaelUnkey Jul 9, 2025
d8e19a8
Merge branch 'main' of https://github.com/unkeyed/unkey into move-toa…
MichaelUnkey Jul 9, 2025
3988327
Merge branch 'main' of https://github.com/unkeyed/unkey into Move-toa…
MichaelUnkey Jul 9, 2025
df429b9
react component to string
MichaelUnkey Jul 9, 2025
ec162b9
use copy button
MichaelUnkey Jul 10, 2025
9f22261
Merge branch 'main' into move-toaster-to-ui-step-3
MichaelUnkey Jul 10, 2025
b90fc2d
Merge branch 'main' of https://github.com/unkeyed/unkey into Move-toa…
MichaelUnkey Jul 10, 2025
d84d970
set changed
MichaelUnkey Jul 10, 2025
ea95942
Merge branch 'move-toaster-to-ui-step-2' into Move-toaster-to-UI-step-5
MichaelUnkey Jul 10, 2025
34277d3
Merge branch 'main' of https://github.com/unkeyed/unkey into Move-toa…
MichaelUnkey Jul 10, 2025
7f790f3
Merge branch 'main' of https://github.com/unkeyed/unkey into move-toa…
MichaelUnkey Jul 10, 2025
53d0716
Merge branch 'move-toaster-to-ui-step-3' into Move-toaster-to-UI-step-4
MichaelUnkey Jul 10, 2025
2fa2b37
Merge branch 'main' into Move-toaster-to-UI-step-4
perkinsjr Jul 10, 2025
2292a57
swap button
MichaelUnkey Jul 10, 2025
a393d29
Merge branch 'Move-toaster-to-UI-step-4' of https://github.com/unkeye…
MichaelUnkey Jul 10, 2025
ac1a253
Merge branch 'Move-toaster-to-UI-step-4' into Move-toaster-to-UI-step-5
MichaelUnkey Jul 10, 2025
d4f86fe
merge fix
MichaelUnkey Jul 10, 2025
c834581
small fix
MichaelUnkey Jul 10, 2025
e0bcd3b
Merge branch 'main' into Move-toaster-to-UI-step-5
perkinsjr Jul 10, 2025
95ca66e
fix
MichaelUnkey Jul 10, 2025
b7fe4e6
Merge branch 'Move-toaster-to-UI-step-5' of https://github.com/unkeye…
MichaelUnkey Jul 10, 2025
ce0e622
rabbit
MichaelUnkey Jul 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
"use client";

import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { zodResolver } from "@hookform/resolvers/zod";
import { CircleInfo } from "@unkey/icons";
Expand All @@ -14,6 +13,7 @@ import {
SelectItem,
SelectTrigger,
SelectValue,
toast,
} from "@unkey/ui";
import type { PropsWithChildren } from "react";
import { Controller, useForm } from "react-hook-form";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
"use client";

import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { zodResolver } from "@hookform/resolvers/zod";
import { Button, DialogContainer, Input } from "@unkey/ui";
import { Button, DialogContainer, Input, toast } from "@unkey/ui";
import { useRouter } from "next/navigation";
import { useForm } from "react-hook-form";
import { z } from "zod";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { LLMSearch } from "@unkey/ui";
import { transformStructuredOutputToFilters } from "@unkey/ui";
import { LLMSearch, toast, transformStructuredOutputToFilters } from "@unkey/ui";
import { useFilters } from "../../../../hooks/use-filters";

export const LogsSearch = () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import { DeleteDialog } from "@/app/(app)/ratelimits/[namespaceId]/_components/d
import { IdentifierDialog } from "@/app/(app)/ratelimits/[namespaceId]/_components/identifier-dialog";
import type { OverrideDetails } from "@/app/(app)/ratelimits/[namespaceId]/types";
import { type MenuItem, TableActionPopover } from "@/components/logs/table-action.popover";
import { toast } from "@/components/ui/toaster";
import { Clone, Layers3, PenWriting3, Trash } from "@unkey/icons";
import { toast } from "@unkey/ui";
import { useRouter } from "next/navigation";
import { useFilters } from "../../../../hooks/use-filters";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { LLMSearch } from "@unkey/ui";
import { transformStructuredOutputToFilters } from "@unkey/ui";
import { LLMSearch, toast, transformStructuredOutputToFilters } from "@unkey/ui";
import { useFilters } from "../../../../hooks/use-filters";

export const LogsSearch = () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"use client";

import { type MenuItem, TableActionPopover } from "@/components/logs/table-action.popover";
import { toast } from "@/components/ui/toaster";
import { Clone, InputSearch } from "@unkey/icons";
import { toast } from "@unkey/ui";
import { useFilters } from "../../../hooks/use-filters";

export const LogsTableAction = ({ identifier }: { identifier: string }) => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"use client";

import { type MenuItem, TableActionPopover } from "@/components/logs/table-action.popover";
import { toast } from "@/components/ui/toaster";
import { Clone, PenWriting3, Trash } from "@unkey/icons";
import { toast } from "@unkey/ui";
import { DeleteDialog } from "../../_components/delete-dialog";
import { IdentifierDialog } from "../../_components/identifier-dialog";
import type { OverrideDetails } from "../../types";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
"use client";

import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { Clone } from "@unkey/icons";
import { Button, Input, SettingCard } from "@unkey/ui";
import { Button, CopyButton, Input, SettingCard, toast } from "@unkey/ui";
import { useEffect, useState } from "react";
import { DeleteNamespaceDialog } from "../../_components/namespace-delete-dialog";
import { SettingsClientSkeleton } from "./skeleton";
Expand Down Expand Up @@ -66,7 +64,6 @@ export const SettingsClient = ({ namespaceId }: Props) => {
}

const { namespace } = data;

return (
<>
<div className="py-3 w-full flex items-center justify-center">
Expand Down Expand Up @@ -119,26 +116,11 @@ export const SettingsClient = ({ namespaceId }: Props) => {
border="bottom"
contentWidth="w-full lg:w-[320px] h-full justify-end items-end"
>
<div className="flex flex-row justify-end items-center gap-x-2 mt-1 w-full h-9">
<Input
readOnly
defaultValue={namespace.id}
placeholder="Namespace name"
className="w-full focus:ring-0 focus:ring-offset-0 h-full"
rightIcon={
<button
type="button"
onClick={() => {
navigator.clipboard.writeText(namespace.id);
toast.success("Copied to clipboard", {
description: namespace.id,
});
}}
>
<Clone size="md-regular" />
</button>
}
/>
<div className="flex flex-row justify-end items-center pl-4 pr-3 w-full h-9 border border-gray-5 hover:border-gray-8 bg-gray-2 dark:bg-black rounded-lg min-w-[327px]">
<pre className="flex-1 text-xs text-left overflow-x-auto">
<code>{namespace.id}</code>
</pre>
<CopyButton value={namespace.id} variant="ghost" size="sm" />
</div>
</SettingCard>
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { LLMSearch } from "@unkey/ui";
import { LLMSearch, toast } from "@unkey/ui";
import { useRef } from "react";

type LogsSearchProps = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@

import { revalidate } from "@/app/actions";
import { NavbarActionButton } from "@/components/navigation/action-button";
import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { zodResolver } from "@hookform/resolvers/zod";
import { Button, DialogContainer, FormInput } from "@unkey/ui";
import { Button, DialogContainer, FormInput, toast } from "@unkey/ui";
import { Plus } from "lucide-react";
import { useRouter } from "next/navigation";
import { useState } from "react";
Expand Down Expand Up @@ -47,11 +46,11 @@ export const CreateNamespaceButton = ({

const create = trpc.ratelimit.namespace.create.useMutation({
async onSuccess(res) {
toast.success("Your Namespace has been created");
router.refresh();
await revalidate("/ratelimits");
ratelimit.namespace.query.invalidate();
router.push(`/ratelimits/${res.id}`);
toast.success("Your Namespace has been created");
setIsOpen(false);
},
onError(err) {
Expand Down
4 changes: 1 addition & 3 deletions apps/dashboard/app/(app)/settings/billing/client.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
"use client";
import { toast } from "@/components/ui/toaster";
import type { Workspace } from "@/lib/db";
import { formatNumber } from "@/lib/fmt";
import { trpc } from "@/lib/trpc/client";
import { cn } from "@/lib/utils";
import { Button, Empty, SettingCard } from "@unkey/ui";
import { Button, Empty, SettingCard, toast } from "@unkey/ui";
import ms from "ms";
import Link from "next/link";
import { useRouter } from "next/navigation";
Expand Down Expand Up @@ -89,7 +88,6 @@ const Mutations = () => {

export const Client: React.FC<Props> = (props) => {
const mutations = Mutations();

const allowUpdate =
props.subscription && ["active", "trialing"].includes(props.subscription.status);
const allowCancel =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
"use client";
import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { zodResolver } from "@hookform/resolvers/zod";
import { Button, FormInput, SettingCard } from "@unkey/ui";
import { Button, FormInput, SettingCard, toast } from "@unkey/ui";
import { useRouter } from "next/navigation";
import { useState } from "react";
import { useForm } from "react-hook-form";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
"use client";

import { Alert, AlertDescription } from "@/components/ui/alert";
import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import type { Permission } from "@unkey/db";
import {
Expand All @@ -12,6 +11,7 @@ import {
CardFooter,
CardHeader,
CardTitle,
toast,
} from "@unkey/ui";
import { Loader2 } from "lucide-react";
import { useRouter } from "next/navigation";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
"use client";

import { Label } from "@/components/ui/label";
import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { Checkbox } from "@unkey/ui";
import { Checkbox, toast } from "@unkey/ui";
import { Loader2 } from "lucide-react";
import { useRouter } from "next/navigation";
import { useState } from "react";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
"use client";
import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { cn } from "@/lib/utils";
import { zodResolver } from "@hookform/resolvers/zod";
import { Button, Card, CardContent, CardFooter, CardHeader, CardTitle, FormInput } from "@unkey/ui";
import {
Button,
Card,
CardContent,
CardFooter,
CardHeader,
CardTitle,
FormInput,
toast,
} from "@unkey/ui";
import { useRouter } from "next/navigation";
import { Controller, useForm } from "react-hook-form";
import { z } from "zod";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { transformStructuredOutputToFilters } from "@/components/logs/validation/utils/transform-structured-output-filter-format";
import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { LLMSearch } from "@unkey/ui";
import { LLMSearch, toast } from "@unkey/ui";
import { useFilters } from "../../../../hooks/use-filters";

export const RootKeysSearch = () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { toast } from "@unkey/ui";

export const useDeleteRootKey = (
onSuccess: (data: { keyIds: string[]; message: string }) => void,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { ConfirmPopover } from "@/components/confirmation-popover";
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible";
import { Dialog, DialogContent } from "@/components/ui/dialog";
import { Label } from "@/components/ui/label";
import { toast } from "@/components/ui/toaster";
import { trpc } from "@/lib/trpc/client";
import { Check, CircleInfo, Key2 } from "@unkey/icons";
import { type UnkeyPermission, unkeyPermissionValidation } from "@unkey/rbac";
Expand All @@ -21,6 +20,7 @@ import {
InfoTooltip,
Input,
VisibleButton,
toast,
} from "@unkey/ui";
import { ArrowRight, ChevronRight } from "lucide-react";
import { useRouter } from "next/navigation";
Expand Down
13 changes: 2 additions & 11 deletions apps/dashboard/components/navigation/copyable-id-button.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"use client";
import { Button, CopyButton, toast } from "@unkey/ui";
import { Button, CopyButton } from "@unkey/ui";
import { useRef } from "react";

type CopyableIDButtonProps = {
Expand Down Expand Up @@ -52,9 +52,6 @@ export const CopyableIDButton = ({ value, className = "" }: CopyableIDButtonProp
} else {
// Programmatically click the CopyButton if text isn't selected
copyButtonRef.current?.click();
toast.success("Copied to clipboard", {
description: value,
});
}
};

Expand All @@ -76,13 +73,7 @@ export const CopyableIDButton = ({ value, className = "" }: CopyableIDButtonProp
variant="ghost"
value={value}
ref={copyButtonRef}
onClick={(e) => {
e.preventDefault();
e.stopPropagation();
toast.success("Copied to clipboard", {
description: value,
});
}}
toastMessage={value}
className="pointer-events-none flex-shrink-0"
/>
</div>
Expand Down
4 changes: 3 additions & 1 deletion internal/ui/src/components/buttons/copy-button.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ async function copyToClipboardWithMeta(value: string, _meta?: Record<string, unk
}

export const CopyButton = React.forwardRef<HTMLButtonElement, CopyButtonProps>(
({ value, src, variant = "outline", className, toastMessage, ...props }, ref) => {
({ value, src, variant = "outline", className, toastMessage, onClick, ...props }, ref) => {
const [copied, setCopied] = React.useState(false);

React.useEffect(() => {
Expand Down Expand Up @@ -63,6 +63,8 @@ export const CopyButton = React.forwardRef<HTMLButtonElement, CopyButtonProps>(
});
}
setCopied(true);
// Call the onClick prop if provided
onClick?.(e);
}
}}
aria-label="Copy to clipboard"
Expand Down
Loading