Revert "undo commit"

This reverts commit 9103f67db5.
This commit is contained in:
daniel31x13
2024-11-03 03:27:52 -05:00
parent e37702aa14
commit dbd096ab76
176 changed files with 2362 additions and 9401 deletions
+7 -18
View File
@@ -2,36 +2,29 @@ import { CollectionIncludingMembersAndLinkCount, Member } from "@/types/global";
import getPublicUserData from "./getPublicUserData";
import { toast } from "react-hot-toast";
import { TFunction } from "i18next";
import { User } from "@prisma/client";
const addMemberToCollection = async (
owner: User,
memberIdentifier: string,
ownerUsername: string,
memberUsername: string,
collection: CollectionIncludingMembersAndLinkCount,
setMember: (newMember: Member) => null | undefined,
t: TFunction<"translation", undefined>
) => {
const checkIfMemberAlreadyExists = collection.members.find((e) => {
const username = (e.user.username || "").toLowerCase();
const email = (e.user.email || "").toLowerCase();
return (
username === memberIdentifier.toLowerCase() ||
email === memberIdentifier.toLowerCase()
);
return username === memberUsername.toLowerCase();
});
if (
// no duplicate members
!checkIfMemberAlreadyExists &&
// member can't be empty
memberIdentifier.trim() !== "" &&
memberUsername.trim() !== "" &&
// member can't be the owner
memberIdentifier.trim().toLowerCase() !== owner.username?.toLowerCase() &&
memberIdentifier.trim().toLowerCase() !== owner.email?.toLowerCase()
memberUsername.trim().toLowerCase() !== ownerUsername.toLowerCase()
) {
// Lookup, get data/err, list ...
const user = await getPublicUserData(memberIdentifier.trim().toLowerCase());
const user = await getPublicUserData(memberUsername.trim().toLowerCase());
if (user.username) {
setMember({
@@ -44,16 +37,12 @@ const addMemberToCollection = async (
id: user.id,
name: user.name,
username: user.username,
email: user.email,
image: user.image,
},
});
}
} else if (checkIfMemberAlreadyExists) toast.error(t("user_already_member"));
else if (
memberIdentifier.trim().toLowerCase() === owner.username?.toLowerCase() ||
memberIdentifier.trim().toLowerCase() === owner.email?.toLowerCase()
)
else if (memberUsername.trim().toLowerCase() === ownerUsername.toLowerCase())
toast.error(t("you_are_already_collection_owner"));
};
-18
View File
@@ -1,18 +0,0 @@
import * as Icons from "@phosphor-icons/react";
import { icons as iconData } from "@phosphor-icons/core";
import { IconEntry as CoreEntry } from "@phosphor-icons/core";
interface IconEntry extends CoreEntry {
Icon: Icons.Icon;
}
export const icons: ReadonlyArray<IconEntry> = iconData.map((entry) => ({
...entry,
Icon: Icons[entry.pascal_name as keyof typeof Icons] as Icons.Icon,
}));
// if (process.env.NODE_ENV === "development") {
// console.log(`${icons.length} icons`);
// }
export const iconCount = Intl.NumberFormat("en-US").format(icons.length * 6);
-47
View File
@@ -1,47 +0,0 @@
import { useUpdateLink } from "@/hooks/store/links";
import { LinkIncludingShortenedCollectionAndTags } from "@/types/global";
import toast from "react-hot-toast";
import { useTranslation } from "next-i18next";
import { useUser } from "@/hooks/store/user";
const usePinLink = () => {
const { t } = useTranslation();
const updateLink = useUpdateLink();
const { data: user = {} } = useUser();
// Return a function that can be used to pin/unpin the link
const pinLink = async (link: LinkIncludingShortenedCollectionAndTags) => {
const isAlreadyPinned = link?.pinnedBy && link.pinnedBy[0] ? true : false;
const load = toast.loading(t("updating"));
try {
await updateLink.mutateAsync(
{
...link,
pinnedBy: isAlreadyPinned ? [{ id: undefined }] : [{ id: user.id }],
},
{
onSettled: (data, error) => {
toast.dismiss(load);
if (error) {
toast.error(error.message);
} else {
toast.success(
isAlreadyPinned ? t("link_unpinned") : t("link_pinned")
);
}
},
}
);
} catch (e) {
toast.dismiss(load);
console.error(e);
}
};
return pinLink;
};
export default usePinLink;
+1 -1
View File
@@ -9,7 +9,7 @@ export const resizeImage = (file: File): Promise<Blob> =>
"JPEG", // output format
100, // quality
0, // rotation
(uri) => {
(uri: any) => {
resolve(uri as Blob);
},
"blob" // output type
+2 -7
View File
@@ -7,15 +7,10 @@ export function isPWA() {
}
export function isIphone() {
return (
/iPhone/.test(navigator.userAgent) &&
!(window as unknown as { MSStream?: any }).MSStream
);
return /iPhone/.test(navigator.userAgent) && !(window as any).MSStream;
}
export function dropdownTriggerer(
e: React.FocusEvent<HTMLElement> | React.MouseEvent<HTMLElement>
) {
export function dropdownTriggerer(e: any) {
let targetEl = e.currentTarget;
if (targetEl && targetEl.matches(":focus")) {
setTimeout(function () {