Skip to content

Commit 5ecbdab

Browse files
committed
update sonner
1 parent 9c63a6f commit 5ecbdab

5 files changed

Lines changed: 35 additions & 83 deletions

File tree

app/(main)/(auth)/login/github.tsx

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,15 @@ const provider = new GithubAuthProvider();
77

88
// Display
99
import { FirebaseError } from "firebase/app";
10-
import { useToast } from "@/components/ui/use-toast";
1110
import { Button } from "@/components/ui/button";
1211
import { FaGithub } from "react-icons/fa";
1312
import { useRouter, useSearchParams } from "next/navigation";
13+
import { toast } from "sonner";
1414

1515
export default function GitHubAuth() {
1616
const router = useRouter();
1717
const searchParams = useSearchParams();
1818
const redirect = searchParams.get("redirectTo");
19-
const { toast } = useToast();
2019

2120
const login = async () => {
2221
try {
@@ -29,22 +28,14 @@ export default function GitHubAuth() {
2928
} catch (err: any) {
3029
if (err instanceof FirebaseError) {
3130
if (err.code === "auth/account-exists-with-different-credential") {
32-
toast({
33-
variant: "destructive",
34-
description:
35-
"Account Exists with Different Login Method. Please first login and then link within your Account page.",
36-
});
31+
toast(
32+
"Account Exists with Different Login Method. Please first login and then link within your Account page.",
33+
);
3734
} else {
38-
toast({
39-
variant: "destructive",
40-
description: err.message,
41-
});
35+
toast(`${err.message}`);
4236
}
4337
} else {
44-
toast({
45-
variant: "destructive",
46-
description: JSON.stringify(err),
47-
});
38+
toast(JSON.stringify(err));
4839
console.error(err);
4940
}
5041
}

app/(main)/(auth)/login/google.tsx

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const provider = new GoogleAuthProvider();
77

88
// Display
99
import { FirebaseError } from "firebase/app";
10-
import { useToast } from "@/components/ui/use-toast";
10+
import { toast } from "sonner";
1111
import { Button } from "@/components/ui/button";
1212
import { FaGoogle } from "react-icons/fa";
1313
import { useRouter, useSearchParams } from "next/navigation";
@@ -16,7 +16,6 @@ export default function GoogleAuth() {
1616
const router = useRouter();
1717
const searchParams = useSearchParams();
1818
const redirect = searchParams.get("redirectTo");
19-
const { toast } = useToast();
2019

2120
const login = async () => {
2221
try {
@@ -29,22 +28,15 @@ export default function GoogleAuth() {
2928
} catch (err: any) {
3029
if (err instanceof FirebaseError) {
3130
if (err.code === "auth/account-exists-with-different-credential") {
32-
toast({
33-
variant: "destructive",
34-
description:
35-
"Account Exists with Different Login Method. Please first login and then link within your Account page.",
36-
});
31+
toast(
32+
"Account Exists with Different Login Method. Please first login and then link within your Account page.",
33+
);
3734
} else {
38-
toast({
39-
variant: "destructive",
40-
description: err.message,
41-
});
35+
toast(`${err.message}`);
4236
}
4337
} else {
44-
toast({
45-
variant: "destructive",
46-
description: JSON.stringify(err),
47-
});
38+
toast(JSON.stringify(err));
39+
4840
console.error(err);
4941
}
5042
}

app/(main)/(course)/course/[courseSlug]/lesson/[lessonSlug]/lesson-complete.tsx

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import { useCompletedLesson, useFirestoreUser } from "@/lib/firebase.hooks";
33
import { Checkbox } from "@/components/ui/checkbox";
44
import type { LessonsInCourseQueryResult } from "@/sanity/types";
5-
import { useToast } from "@/components/ui/use-toast";
5+
import { toast } from "sonner";
66
import type { BaseCompletedLesson } from "@/lib/types";
77

88
export default function LessonComplete({
@@ -17,21 +17,15 @@ export default function LessonComplete({
1717
lesson,
1818
course,
1919
});
20-
const { toast } = useToast();
2120

2221
const makeComplete = async (isChecked: boolean | "indeterminate") => {
2322
if (!currentUser?.uid) {
24-
toast({
25-
variant: "destructive",
26-
description: "You must be logged in to complete a lesson.",
27-
});
23+
toast("You must be logged in to complete a lesson.");
2824
return;
2925
}
3026
if (isChecked) {
3127
await addComplete();
32-
toast({
33-
description: "What a rockstar! 🎉",
34-
});
28+
toast("What a rockstar! 🎉");
3529
} else {
3630
await removeComplete();
3731
}
@@ -41,7 +35,7 @@ export default function LessonComplete({
4135
{currentUser?.uid ? (
4236
<div className="flex items-center gap-2">
4337
<Checkbox
44-
checked={completeLesson?._id ? true : false}
38+
checked={!!completeLesson?._id}
4539
onCheckedChange={makeComplete}
4640
/>
4741
</div>

app/(main)/(user)/settings/profile/profile.tsx

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { doc, getFirestore, setDoc } from "firebase/firestore";
1616
import { getAuth } from "firebase/auth";
1717
import { app } from "@/lib/firebase";
1818
import type { User } from "@/lib/firebase.types";
19-
import { useToast } from "@/components/ui/use-toast";
19+
import { toast } from "sonner";
2020
import { Button } from "@/components/ui/button";
2121
import { useFirestoreUser } from "@/lib/firebase.hooks";
2222
import { Avatar, AvatarFallback } from "@/components/ui/avatar";
@@ -27,7 +27,6 @@ import UploadProfileImage from "./upload-profile-image";
2727
export default function Profile() {
2828
const { user } = useFirestoreUser();
2929
const [saving, setSaving] = useState(false);
30-
const { toast } = useToast();
3130
const [cookies] = useCookies(["app.idt"]);
3231
const [jwt, setJwt] = useState<any | null>(null);
3332

@@ -50,34 +49,28 @@ export default function Profile() {
5049
const uid = getAuth(app)?.currentUser?.uid;
5150
if (!uid) {
5251
setSaving(false);
53-
toast({
54-
variant: "destructive",
55-
description: "missing uid, try logging in again",
56-
});
52+
toast("missing uid, try logging in again");
5753
return;
5854
}
5955
const profile: NonNullable<User["settings"]>["profile"] = values;
6056
try {
6157
await setDoc(
62-
doc(getFirestore(), "users/" + uid),
58+
doc(getFirestore(), `users/${uid}`),
6359
{
6460
settings: { profile },
6561
},
6662
{ merge: true },
6763
);
68-
toast({
69-
description: "Saved.",
70-
});
64+
toast("Saved.");
7165
} catch (error) {
72-
toast({
73-
variant: "destructive",
74-
description: JSON.stringify(error),
75-
});
66+
toast(JSON.stringify(error));
7667
}
7768
setSaving(false);
7869
};
7970

80-
if (!user) return <CardContent>Loadig...</CardContent>;
71+
if (!user) {
72+
return <CardContent>Loadig...</CardContent>;
73+
}
8174

8275
return (
8376
<form onSubmit={handleSubmit}>

app/(main)/(user)/settings/profile/upload-profile-image.tsx

Lines changed: 10 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* eslint-disable @next/next/no-img-element */
22
"use client";
33
import { useState, useCallback } from "react";
4-
import { useToast } from "@/components/ui/use-toast";
4+
import { toast } from "sonner";
55
import { Button } from "@/components/ui/button";
66
import { useFirestoreUser } from "@/lib/firebase.hooks";
77
import {
@@ -31,7 +31,6 @@ export default function UploadProfileImage() {
3131
const [uploading, setUploading] = useState(false);
3232
const [removing, setRemoving] = useState(false);
3333
const [progress, setProgress] = useState(0);
34-
const { toast } = useToast();
3534

3635
const reset = () => {
3736
setUploading(false);
@@ -43,18 +42,15 @@ export default function UploadProfileImage() {
4342
setUploading(true);
4443

4544
if (!currentUser?.uid) {
46-
toast({ variant: "destructive", description: "Please login first" });
45+
toast("Please login first");
4746
reset();
4847
return;
4948
}
5049

5150
const file = acceptedFiles.at(0);
5251

5352
if (!file) {
54-
toast({
55-
variant: "destructive",
56-
description: "File not found or invalid",
57-
});
53+
toast("File not found or invalid");
5854
reset();
5955
return;
6056
}
@@ -74,10 +70,7 @@ export default function UploadProfileImage() {
7470
},
7571
(error: any) => {
7672
console.error(error);
77-
toast({
78-
variant: "destructive",
79-
description: "Failed to upload image",
80-
});
73+
toast("Failed to upload image");
8174
reset();
8275
},
8376
async () => {
@@ -86,30 +79,22 @@ export default function UploadProfileImage() {
8679
);
8780
try {
8881
await setDoc(
89-
doc(getFirestore(), "users/" + currentUser.uid),
82+
doc(getFirestore(), `users/${currentUser.uid}`),
9083
{
9184
settings: { profile: { picture: url } },
9285
},
9386
{ merge: true },
9487
);
95-
toast({
96-
description: "Saved.",
97-
});
88+
toast("Saved.");
9889
} catch (error) {
99-
toast({
100-
variant: "destructive",
101-
description: JSON.stringify(error),
102-
});
90+
toast(JSON.stringify(error));
10391
}
10492
reset();
10593
},
10694
);
10795
} catch (error) {
10896
console.error(error);
109-
toast({
110-
variant: "destructive",
111-
description: "Failed to upload image",
112-
});
97+
toast("Failed to upload image");
11398
}
11499
// eslint-disable-next-line react-hooks/exhaustive-deps
115100
}, []);
@@ -125,14 +110,11 @@ export default function UploadProfileImage() {
125110

126111
const removeProfileImage = async () => {
127112
if (!currentUser?.uid) {
128-
toast({
129-
variant: "destructive",
130-
description: "Must be logged in to remove image",
131-
});
113+
toast("Must be logged in to remove image");
132114
return;
133115
}
134116
await setDoc(
135-
doc(getFirestore(), "users/" + currentUser.uid),
117+
doc(getFirestore(), `users/${currentUser.uid}`),
136118
{
137119
settings: { profile: { picture: null } },
138120
},

0 commit comments

Comments
 (0)