tab-seperated modals + eslint fix + much more bug fixed and improvements
This commit is contained in:
@@ -7,7 +7,7 @@ import path from "path";
|
||||
import fs from "fs";
|
||||
import getPermission from "@/lib/api/getPermission";
|
||||
|
||||
export default async function (req: NextApiRequest, res: NextApiResponse) {
|
||||
export default async function Index(req: NextApiRequest, res: NextApiResponse) {
|
||||
if (!req.query.params)
|
||||
return res.status(401).json({ response: "Invalid parameters." });
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ interface User {
|
||||
password: string;
|
||||
}
|
||||
|
||||
export default async function (
|
||||
export default async function Index(
|
||||
req: NextApiRequest,
|
||||
res: NextApiResponse<Data>
|
||||
) {
|
||||
|
||||
@@ -5,7 +5,7 @@ import { prisma } from "@/lib/api/db";
|
||||
import path from "path";
|
||||
import fs from "fs";
|
||||
|
||||
export default async function (req: NextApiRequest, res: NextApiResponse) {
|
||||
export default async function Index(req: NextApiRequest, res: NextApiResponse) {
|
||||
const session = await getServerSession(req, res, authOptions);
|
||||
|
||||
const userId = session?.user.id;
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
import getCollection from "@/lib/api/controllers/public/getCollection";
|
||||
import type { NextApiRequest, NextApiResponse } from "next";
|
||||
|
||||
export default async function (req: NextApiRequest, res: NextApiResponse) {
|
||||
export default async function collections(
|
||||
req: NextApiRequest,
|
||||
res: NextApiResponse
|
||||
) {
|
||||
const collectionId = Number(req.query.collectionId);
|
||||
|
||||
if (!collectionId) {
|
||||
|
||||
@@ -6,7 +6,10 @@ import postCollection from "@/lib/api/controllers/collections/postCollection";
|
||||
import updateCollection from "@/lib/api/controllers/collections/updateCollection";
|
||||
import deleteCollection from "@/lib/api/controllers/collections/deleteCollection";
|
||||
|
||||
export default async function (req: NextApiRequest, res: NextApiResponse) {
|
||||
export default async function collections(
|
||||
req: NextApiRequest,
|
||||
res: NextApiResponse
|
||||
) {
|
||||
const session = await getServerSession(req, res, authOptions);
|
||||
|
||||
if (!session?.user?.email) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import postLink from "@/lib/api/controllers/links/postLink";
|
||||
import deleteLink from "@/lib/api/controllers/links/deleteLink";
|
||||
import updateLink from "@/lib/api/controllers/links/updateLink";
|
||||
|
||||
export default async function (req: NextApiRequest, res: NextApiResponse) {
|
||||
export default async function links(req: NextApiRequest, res: NextApiResponse) {
|
||||
const session = await getServerSession(req, res, authOptions);
|
||||
|
||||
if (!session?.user?.email) {
|
||||
|
||||
@@ -3,7 +3,7 @@ import { getServerSession } from "next-auth/next";
|
||||
import { authOptions } from "pages/api/auth/[...nextauth]";
|
||||
import getTags from "@/lib/api/controllers/tags/getTags";
|
||||
|
||||
export default async function (req: NextApiRequest, res: NextApiResponse) {
|
||||
export default async function tags(req: NextApiRequest, res: NextApiResponse) {
|
||||
const session = await getServerSession(req, res, authOptions);
|
||||
|
||||
if (!session?.user?.email) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { authOptions } from "pages/api/auth/[...nextauth]";
|
||||
import getUsers from "@/lib/api/controllers/users/getUsers";
|
||||
import updateUser from "@/lib/api/controllers/users/updateUser";
|
||||
|
||||
export default async function (req: NextApiRequest, res: NextApiResponse) {
|
||||
export default async function users(req: NextApiRequest, res: NextApiResponse) {
|
||||
const session = await getServerSession(req, res, authOptions);
|
||||
|
||||
if (!session?.user?.email) {
|
||||
|
||||
+23
-12
@@ -2,8 +2,7 @@ import Dropdown from "@/components/Dropdown";
|
||||
import LinkCard from "@/components/LinkCard";
|
||||
import Modal from "@/components/Modal";
|
||||
import LinkModal from "@/components/Modal/LinkModal";
|
||||
import CollectionInfo from "@/components/Modal/Collection/CollectionInfo";
|
||||
import DeleteCollection from "@/components/Modal/Collection/DeleteCollection";
|
||||
import CollectionModal from "@/components/Modal/Collection";
|
||||
import useCollectionStore from "@/store/collections";
|
||||
import useLinkStore from "@/store/links";
|
||||
import { CollectionIncludingMembers } from "@/types/global";
|
||||
@@ -18,10 +17,9 @@ import { ChangeEvent, useEffect, useState } from "react";
|
||||
import MainLayout from "@/layouts/MainLayout";
|
||||
import { useSession } from "next-auth/react";
|
||||
import ProfilePhoto from "@/components/ProfilePhoto";
|
||||
import TeamManagement from "@/components/Modal/Collection/TeamManagement";
|
||||
import SortLinkDropdown from "@/components/SortLinkDropdown";
|
||||
|
||||
export default function () {
|
||||
export default function Index() {
|
||||
const router = useRouter();
|
||||
|
||||
const { links } = useLinkStore();
|
||||
@@ -250,8 +248,11 @@ export default function () {
|
||||
) : null}
|
||||
|
||||
{collectionInfoModal && activeCollection ? (
|
||||
<Modal toggleModal={toggleCollectionInfoModal}>
|
||||
<CollectionInfo
|
||||
<Modal
|
||||
toggleModal={toggleCollectionInfoModal}
|
||||
className="h-[35rem]"
|
||||
>
|
||||
<CollectionModal
|
||||
toggleCollectionModal={toggleCollectionInfoModal}
|
||||
activeCollection={activeCollection}
|
||||
method="UPDATE"
|
||||
@@ -260,19 +261,29 @@ export default function () {
|
||||
) : null}
|
||||
|
||||
{collectionMembersModal && activeCollection ? (
|
||||
<Modal toggleModal={toggleCollectionMembersModal}>
|
||||
<TeamManagement
|
||||
<Modal
|
||||
toggleModal={toggleCollectionMembersModal}
|
||||
className="h-[35rem]"
|
||||
>
|
||||
<CollectionModal
|
||||
defaultIndex={1}
|
||||
toggleCollectionModal={toggleCollectionMembersModal}
|
||||
activeCollection={activeCollection}
|
||||
method="UPDATE"
|
||||
/>
|
||||
</Modal>
|
||||
) : null}
|
||||
|
||||
{deleteCollectionModal && activeCollection ? (
|
||||
<Modal toggleModal={toggleDeleteCollectionModal}>
|
||||
<DeleteCollection
|
||||
collection={activeCollection}
|
||||
toggleDeleteCollectionModal={toggleDeleteCollectionModal}
|
||||
<Modal
|
||||
toggleModal={toggleDeleteCollectionModal}
|
||||
className="h-[35rem]"
|
||||
>
|
||||
<CollectionModal
|
||||
defaultIndex={2}
|
||||
toggleCollectionModal={toggleDeleteCollectionModal}
|
||||
activeCollection={activeCollection}
|
||||
method="UPDATE"
|
||||
/>
|
||||
</Modal>
|
||||
) : null}
|
||||
|
||||
@@ -13,10 +13,10 @@ import Modal from "@/components/Modal";
|
||||
import MainLayout from "@/layouts/MainLayout";
|
||||
import ClickAwayHandler from "@/components/ClickAwayHandler";
|
||||
import RadioButton from "@/components/RadioButton";
|
||||
import CollectionInfo from "@/components/Modal/Collection/CollectionInfo";
|
||||
import CollectionModal from "@/components/Modal/Collection";
|
||||
import { useSession } from "next-auth/react";
|
||||
|
||||
export default function () {
|
||||
export default function Collections() {
|
||||
const { collections } = useCollectionStore();
|
||||
const [expandDropdown, setExpandDropdown] = useState(false);
|
||||
const [sortDropdown, setSortDropdown] = useState(false);
|
||||
@@ -212,8 +212,8 @@ export default function () {
|
||||
</div>
|
||||
|
||||
{collectionModal ? (
|
||||
<Modal toggleModal={toggleCollectionModal}>
|
||||
<CollectionInfo
|
||||
<Modal toggleModal={toggleCollectionModal} className="h-[35rem]">
|
||||
<CollectionModal
|
||||
activeCollection={{
|
||||
name: "",
|
||||
description: "",
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ import Link from "next/link";
|
||||
import CollectionItem from "@/components/Dashboard/CollectionItem";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
export default function () {
|
||||
export default function Dashboard() {
|
||||
const { collections } = useCollectionStore();
|
||||
const { links } = useLinkStore();
|
||||
const { tags } = useTagStore();
|
||||
@@ -29,7 +29,7 @@ export default function () {
|
||||
);
|
||||
|
||||
// console.log(links.length);
|
||||
}, [collections]);
|
||||
}, [collections, links]);
|
||||
|
||||
return (
|
||||
// ml-80
|
||||
|
||||
+1
-4
@@ -1,6 +1,5 @@
|
||||
import { signIn } from "next-auth/react";
|
||||
import Link from "next/link";
|
||||
import { useRouter } from "next/router";
|
||||
import { useState } from "react";
|
||||
|
||||
interface FormData {
|
||||
@@ -8,9 +7,7 @@ interface FormData {
|
||||
password: string;
|
||||
}
|
||||
|
||||
export default function () {
|
||||
const router = useRouter();
|
||||
|
||||
export default function Login() {
|
||||
const [form, setForm] = useState<FormData>({
|
||||
email: "",
|
||||
password: "",
|
||||
|
||||
@@ -46,7 +46,7 @@ export default function PublicCollections() {
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col gap-5 my-8">
|
||||
{data?.links.map((e, i) => {
|
||||
{data?.links?.map((e, i) => {
|
||||
return <LinkCard key={i} link={e} count={i} />;
|
||||
})}
|
||||
</div>
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ interface FormData {
|
||||
password: string;
|
||||
}
|
||||
|
||||
export default function () {
|
||||
export default function Register() {
|
||||
const router = useRouter();
|
||||
|
||||
const [form, setForm] = useState<FormData>({
|
||||
|
||||
@@ -42,18 +42,17 @@ export default function Links() {
|
||||
setSortBy(event.target.value);
|
||||
};
|
||||
|
||||
const { name, url, title, collection, tags } = searchFilter;
|
||||
|
||||
useEffect(() => {
|
||||
const linksArray = [
|
||||
...links.filter((link) => {
|
||||
if (
|
||||
(name && link.name.toLowerCase().includes(routeQuery)) ||
|
||||
(url && link.url.toLowerCase().includes(routeQuery)) ||
|
||||
(title && link.title.toLowerCase().includes(routeQuery)) ||
|
||||
(collection &&
|
||||
(searchFilter.name && link.name.toLowerCase().includes(routeQuery)) ||
|
||||
(searchFilter.url && link.url.toLowerCase().includes(routeQuery)) ||
|
||||
(searchFilter.title &&
|
||||
link.title.toLowerCase().includes(routeQuery)) ||
|
||||
(searchFilter.collection &&
|
||||
link.collection.name.toLowerCase().includes(routeQuery)) ||
|
||||
(tags &&
|
||||
(searchFilter.tags &&
|
||||
link.tags.some((tag) =>
|
||||
tag.name.toLowerCase().includes(routeQuery)
|
||||
))
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import { Tag } from "@prisma/client";
|
||||
import useTagStore from "@/store/tags";
|
||||
import SortLinkDropdown from "@/components/SortLinkDropdown";
|
||||
|
||||
export default function () {
|
||||
export default function Index() {
|
||||
const router = useRouter();
|
||||
|
||||
const { links } = useLinkStore();
|
||||
|
||||
Reference in New Issue
Block a user