tab-seperated modals + eslint fix + much more bug fixed and improvements

This commit is contained in:
Daniel
2023-06-10 02:01:14 +03:30
parent dcdef77387
commit 2df4aad077
64 changed files with 713 additions and 373 deletions
+1 -1
View File
@@ -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." });
+1 -1
View File
@@ -12,7 +12,7 @@ interface User {
password: string;
}
export default async function (
export default async function Index(
req: NextApiRequest,
res: NextApiResponse<Data>
) {
+1 -1
View File
@@ -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;
+4 -1
View File
@@ -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) {
+4 -1
View File
@@ -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) {
+1 -1
View File
@@ -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) {
+1 -1
View File
@@ -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) {
+1 -1
View File
@@ -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
View File
@@ -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}
+4 -4
View File
@@ -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
View File
@@ -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
View File
@@ -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: "",
+1 -1
View File
@@ -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
View File
@@ -8,7 +8,7 @@ interface FormData {
password: string;
}
export default function () {
export default function Register() {
const router = useRouter();
const [form, setForm] = useState<FormData>({
+6 -7
View File
@@ -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
View File
@@ -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();