refactor: some renaming and corrections
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
- Custom url shortener for links in the newsletter
|
||||
- Cron every 10 minutes: people are more likely to open the newsletter if delivered around the time when they subscribed (if cron becomes not enough, then the cost of sending all the emails might be a bigger issue)
|
||||
|
||||
## Vercel basics
|
||||
## Commands
|
||||
|
||||
Install vercel cli
|
||||
|
||||
@@ -43,3 +43,9 @@ Reset Prisma database
|
||||
```bash
|
||||
yarn db:reset
|
||||
```
|
||||
|
||||
Run on Docker
|
||||
|
||||
```bash
|
||||
docker-compose up --build
|
||||
```
|
||||
|
||||
@@ -19,9 +19,16 @@ export async function GET(request: Request) {
|
||||
where: {
|
||||
confirmed: true,
|
||||
deleted: false,
|
||||
lastMail: {
|
||||
lt: new Date(Date.now() - 1000 * 60 * 60 * 24 + 1000 * 10 * 60) // 24h - 10m
|
||||
}
|
||||
OR: [
|
||||
{
|
||||
lastMail: {
|
||||
lt: new Date(Date.now() - 1000 * 60 * 60 * 24 + 1000 * 10 * 60) // 24h - 10m
|
||||
}
|
||||
},
|
||||
{
|
||||
lastMail: null
|
||||
}
|
||||
]
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
@@ -38,7 +45,7 @@ export async function GET(request: Request) {
|
||||
const news = await prisma.news.findMany({
|
||||
where: {
|
||||
createdAt: {
|
||||
gt: new Date(Date.now() - 1000 * 60 * 60)
|
||||
gt: new Date(Date.now() - 1000 * 60 * 60 * 24)
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -6,10 +6,15 @@ export async function GET() {
|
||||
orderBy: {
|
||||
createdAt: 'desc'
|
||||
},
|
||||
take: 100
|
||||
take: 50,
|
||||
select: {
|
||||
id: true,
|
||||
title: true,
|
||||
by: true
|
||||
}
|
||||
});
|
||||
|
||||
if (news && news.length === 100) {
|
||||
if (news) {
|
||||
return ApiResponse(200, JSON.stringify(news));
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import { useRouter, useSearchParams } from 'next/navigation';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { z } from 'zod';
|
||||
import { CustomCard } from '../../components/custom/card';
|
||||
import { Card } from '../../components/custom/card';
|
||||
import { ResponseSchema } from '../../utils/schemas';
|
||||
|
||||
export default function Confirmation() {
|
||||
@@ -55,7 +55,7 @@ export default function Confirmation() {
|
||||
}
|
||||
|
||||
return (
|
||||
<CustomCard
|
||||
<Card
|
||||
style='text-center'
|
||||
title={loading ? 'Verifying' : 'Confirmed!'}
|
||||
content={render()}
|
||||
|
||||
@@ -3,7 +3,7 @@ import { zodResolver } from '@hookform/resolvers/zod';
|
||||
import { useEffect, useRef, useState } from 'react';
|
||||
import { useForm } from 'react-hook-form';
|
||||
import { z } from 'zod';
|
||||
import { CustomCard } from '../components/custom/card';
|
||||
import { Card } from '../components/custom/card';
|
||||
import ErrorMessage from '../components/custom/error';
|
||||
import { Button } from '../components/ui/button';
|
||||
import {
|
||||
@@ -108,7 +108,7 @@ export default function Home() {
|
||||
}
|
||||
|
||||
return (
|
||||
<CustomCard
|
||||
<Card
|
||||
style='text-center'
|
||||
title='Hackernews + newsletter'
|
||||
description='Top stories from Hackernews. Once a day. Every day.'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
'use client';
|
||||
import { CustomCard } from '../../components/custom/card';
|
||||
import { Card } from '../../components/custom/card';
|
||||
|
||||
export default function Privacy() {
|
||||
const body = (
|
||||
@@ -25,7 +25,6 @@ export default function Privacy() {
|
||||
</p>
|
||||
<br />
|
||||
<h2 className='styledH2'>Interpretation and Definitions</h2>
|
||||
<br />
|
||||
<h3 className='styledH3'>Interpretation</h3>
|
||||
<p>
|
||||
The words of which the initial letter is capitalized have meanings
|
||||
@@ -116,9 +115,7 @@ export default function Privacy() {
|
||||
</ul>
|
||||
<br />
|
||||
<h2 className='styledH2'>Collecting and Using Your Personal Data</h2>
|
||||
<br />
|
||||
<h3 className='styledH3'>Types of Data Collected</h3>
|
||||
<br />
|
||||
<h4 className='styledH4'>Personal Data</h4>
|
||||
<p>
|
||||
While using Our Service, We may ask You to provide Us with certain
|
||||
@@ -432,7 +429,7 @@ export default function Privacy() {
|
||||
);
|
||||
|
||||
return (
|
||||
<CustomCard
|
||||
<Card
|
||||
title='Privacy Policy'
|
||||
description='Last updated: December 03, 2023'
|
||||
content={body}
|
||||
|
||||
@@ -3,7 +3,7 @@ import { zodResolver } from '@hookform/resolvers/zod';
|
||||
import { useEffect, useRef, useState } from 'react';
|
||||
import { useForm } from 'react-hook-form';
|
||||
import { z } from 'zod';
|
||||
import { CustomCard } from '../../components/custom/card';
|
||||
import { Card } from '../../components/custom/card';
|
||||
import ErrorMessage from '../../components/custom/error';
|
||||
import { Button } from '../../components/ui/button';
|
||||
import {
|
||||
@@ -108,7 +108,7 @@ export default function Unsubscribe() {
|
||||
}
|
||||
|
||||
return (
|
||||
<CustomCard
|
||||
<Card
|
||||
style='text-center'
|
||||
title='Unsubscribe'
|
||||
description='You sure you want to leave? :('
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
import { z } from 'zod';
|
||||
import { NewsSchema } from '../../../../utils/schemas';
|
||||
import { NewsTileSchema } from '../../../../utils/schemas';
|
||||
import { TileContent } from './tileContent';
|
||||
|
||||
type CardProps = {
|
||||
newsA?: z.infer<typeof NewsSchema>;
|
||||
newsB?: z.infer<typeof NewsSchema>;
|
||||
newsA?: z.infer<typeof NewsTileSchema>;
|
||||
newsB?: z.infer<typeof NewsTileSchema>;
|
||||
};
|
||||
|
||||
export function Tile({ newsA, newsB }: CardProps) {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { useState } from 'react';
|
||||
import { z } from 'zod';
|
||||
import { getRandomColor } from '../../../../utils/getRandomColor';
|
||||
import { NewsSchema } from '../../../../utils/schemas';
|
||||
import { NewsTileSchema } from '../../../../utils/schemas';
|
||||
|
||||
type CardContentProps = {
|
||||
story: z.infer<typeof NewsSchema>;
|
||||
story: z.infer<typeof NewsTileSchema>;
|
||||
side: boolean;
|
||||
};
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import { usePathname } from 'next/navigation';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { z } from 'zod';
|
||||
import { NewsSchema } from '../../../../utils/schemas';
|
||||
import { NewsTile, NewsTileSchema } from '../../../../utils/schemas';
|
||||
import { Tile } from './tile';
|
||||
|
||||
type TilesProps = {
|
||||
@@ -19,11 +19,11 @@ export const Tiles = ({ children }: TilesProps) => {
|
||||
width: 0,
|
||||
height: 0
|
||||
});
|
||||
const [news, setNews] = useState<z.infer<typeof NewsSchema>[]>();
|
||||
const [news, setNews] = useState<z.infer<typeof NewsTileSchema>[]>();
|
||||
|
||||
useEffect(() => {
|
||||
async function getNews() {
|
||||
const news = await fetch('/api/news').then(res => res.json());
|
||||
const news: NewsTile[] = await fetch('/api/news').then(res => res.json());
|
||||
|
||||
if (news) {
|
||||
setNews(news);
|
||||
@@ -83,7 +83,7 @@ export const Tiles = ({ children }: TilesProps) => {
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className='flex flex-col justify-between'>
|
||||
<div className='-ml-12 -mt-10 flex flex-col justify-between'>
|
||||
{Array.from({ length: rows }).map((_, index) =>
|
||||
renderRow(columns, index)
|
||||
)}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
import { ReactNode, useEffect, useState } from 'react';
|
||||
import { useMediaQuery } from 'react-responsive';
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle
|
||||
CardTitle,
|
||||
Card as CardUI
|
||||
} from '../../components/ui/card';
|
||||
import Footer from './footer';
|
||||
|
||||
type CustomCardProps = {
|
||||
type CardProps = {
|
||||
title: string;
|
||||
description?: string;
|
||||
content: ReactNode;
|
||||
@@ -18,13 +18,13 @@ type CustomCardProps = {
|
||||
footer?: boolean;
|
||||
};
|
||||
|
||||
export const CustomCard = ({
|
||||
export const Card = ({
|
||||
title,
|
||||
description,
|
||||
content,
|
||||
style,
|
||||
footer = true
|
||||
}: CustomCardProps) => {
|
||||
}: CardProps) => {
|
||||
const [isLoaded, setIsLoaded] = useState(false);
|
||||
const isMobile = useMediaQuery({ query: '(max-width: 767px)' });
|
||||
|
||||
@@ -39,7 +39,7 @@ export const CustomCard = ({
|
||||
if (isMobile) {
|
||||
console.log(isMobile);
|
||||
return (
|
||||
<Card className={`max-h-[90vh] w-[90%] p-4`}>
|
||||
<CardUI className={`max-h-[90vh] w-[90%] p-4`}>
|
||||
<CardHeader className='text-center'>
|
||||
<CardTitle>{title}</CardTitle>
|
||||
<CardDescription>{description}</CardDescription>
|
||||
@@ -52,12 +52,16 @@ export const CustomCard = ({
|
||||
<Footer />
|
||||
</CardFooter>
|
||||
)}
|
||||
</Card>
|
||||
</CardUI>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Card className={`${style ?? 'sm:w-2/3 md:w-2/5 lg:w-1/3 xl:w-1/4'} p-4`}>
|
||||
<CardUI
|
||||
className={`${
|
||||
style ?? 'sm:w-2/3 md:w-2/5 lg:w-1/3 xl:w-1/4'
|
||||
} p-4 shadow-2xl`}
|
||||
>
|
||||
<CardHeader className='text-center'>
|
||||
<CardTitle>{title}</CardTitle>
|
||||
<CardDescription>{description}</CardDescription>
|
||||
@@ -70,6 +74,6 @@ export const CustomCard = ({
|
||||
<Footer />
|
||||
</CardFooter>
|
||||
)}
|
||||
</Card>
|
||||
</CardUI>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import NextLink from 'next/link';
|
||||
import { Button } from '../ui/button';
|
||||
|
||||
type LinkProps = {
|
||||
@@ -9,7 +8,7 @@ type LinkProps = {
|
||||
export function Link({ path, text }: LinkProps) {
|
||||
return (
|
||||
<Button asChild>
|
||||
<NextLink href={path}>{text}</NextLink>
|
||||
<a href={path}>{text}</a>
|
||||
</Button>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -11,10 +11,13 @@ export function Footer() {
|
||||
<div className='ml-8 flex items-center justify-between pb-4'>
|
||||
<div>
|
||||
<h4 className='text-lg font-semibold'>Contact Us</h4>
|
||||
<p>{process.env.BRAND_NAME}</p>
|
||||
<a href={`mailto:${process.env.BRAND_EMAIL}`}>
|
||||
Email: {process.env.BRAND_EMAIL}
|
||||
</a>
|
||||
<p>{process.env.NEXT_PUBLIC_BRAND_NAME}</p>
|
||||
<p>
|
||||
Email:{' '}
|
||||
<a href={`mailto:${process.env.NEXT_PUBLIC_BRAND_EMAIL}`}>
|
||||
Email: {process.env.NEXT_PUBLIC_BRAND_EMAIL}
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
7401
package-lock.json
generated
7401
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -14,8 +14,8 @@ model User {
|
||||
code String @unique
|
||||
confirmed Boolean @default(false)
|
||||
deleted Boolean @default(false)
|
||||
createdAt DateTime @default(now()) @map(name: "created_at")
|
||||
lastMail DateTime @default(now()) @updatedAt @map(name: "updated_at")
|
||||
createdAt DateTime @default(now())
|
||||
lastMail DateTime?
|
||||
|
||||
@@map(name: "users")
|
||||
}
|
||||
|
||||
@@ -3,11 +3,7 @@ import { fontFamily } from 'tailwindcss/defaultTheme';
|
||||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
darkMode: ['class'],
|
||||
content: [
|
||||
'./pages/**/*.{ts,tsx}',
|
||||
'./components/**/*.{ts,tsx}',
|
||||
'./app/**/*.{ts,tsx}'
|
||||
],
|
||||
content: ['./components/**/*.{ts,tsx}', './app/**/*.{ts,tsx}'],
|
||||
theme: {
|
||||
container: {
|
||||
center: true,
|
||||
|
||||
@@ -41,3 +41,11 @@ export const NewsSchema = z.object({
|
||||
score: z.number(),
|
||||
createdAt: z.date()
|
||||
});
|
||||
|
||||
export const NewsTileSchema = z.object({
|
||||
id: z.number(),
|
||||
title: z.string(),
|
||||
by: z.string()
|
||||
});
|
||||
|
||||
export type NewsTile = z.infer<typeof NewsTileSchema>;
|
||||
|
||||
190
yarn.lock
190
yarn.lock
@@ -389,45 +389,45 @@
|
||||
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
|
||||
|
||||
"@prisma/client@^5.6.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.7.0.tgz#c29dd9a16e100902eb2d2443d90fee2482d2aeac"
|
||||
integrity sha512-cZmglCrfNbYpzUtz7HscVHl38e9CrUs31nrVoGUK1nIPXGgt8hT4jj2s657UXcNdQ/jBUxDgGmHyu2Nyrq1txg==
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.7.1.tgz#a124afd05663267f7255a639a81d28303684a063"
|
||||
integrity sha512-TUSa4nUcC4nf/e7X3jyO1pEd6XcI/TLRCA0KjkA46RDIpxUaRsBYEOqITwXRW2c0bMFyKcCRXrH4f7h4q9oOlg==
|
||||
|
||||
"@prisma/debug@5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.7.0.tgz#abdb2060be4fe819e73e2683cf1b039841566198"
|
||||
integrity sha512-tZ+MOjWlVvz1kOEhNYMa4QUGURY+kgOUBqLHYIV8jmCsMuvA1tWcn7qtIMLzYWCbDcQT4ZS8xDgK0R2gl6/0wA==
|
||||
"@prisma/debug@5.7.1":
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.7.1.tgz#064177066e630beb43492ffa608acc21a118e2ce"
|
||||
integrity sha512-yrVSO/YZOxdeIxcBtZ5BaNqUfPrZkNsAKQIQg36cJKMxj/VYK3Vk5jMKkI+gQLl0KReo1YvX8GWKfV788SELjw==
|
||||
|
||||
"@prisma/engines-version@5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9":
|
||||
version "5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9.tgz#777827898f1bfe6a76b17fbe7d9600cf543c4cc1"
|
||||
integrity sha512-V6tgRVi62jRwTm0Hglky3Scwjr/AKFBFtS+MdbsBr7UOuiu1TKLPc6xfPiyEN1+bYqjEtjxwGsHgahcJsd1rNg==
|
||||
"@prisma/engines-version@5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5":
|
||||
version "5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5.tgz#b7845425313e5395a3a3e64f3e0d04c1f320fa92"
|
||||
integrity sha512-dIR5IQK/ZxEoWRBDOHF87r1Jy+m2ih3Joi4vzJRP+FOj5yxCwS2pS5SBR3TWoVnEK1zxtLI/3N7BjHyGF84fgw==
|
||||
|
||||
"@prisma/engines@5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.7.0.tgz#a32e232819b66bd9dee7500b455781742dc54b2f"
|
||||
integrity sha512-TkOMgMm60n5YgEKPn9erIvFX2/QuWnl3GBo6yTRyZKk5O5KQertXiNnrYgSLy0SpsKmhovEPQb+D4l0SzyE7XA==
|
||||
"@prisma/engines@5.7.1":
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.7.1.tgz#631c27daa326bbacd5d7119446e0d3f15c0f274c"
|
||||
integrity sha512-R+Pqbra8tpLP2cvyiUpx+SIKglav3nTCpA+rn6826CThviQ8yvbNG0s8jNpo51vS9FuZO3pOkARqG062vKX7uA==
|
||||
dependencies:
|
||||
"@prisma/debug" "5.7.0"
|
||||
"@prisma/engines-version" "5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9"
|
||||
"@prisma/fetch-engine" "5.7.0"
|
||||
"@prisma/get-platform" "5.7.0"
|
||||
"@prisma/debug" "5.7.1"
|
||||
"@prisma/engines-version" "5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5"
|
||||
"@prisma/fetch-engine" "5.7.1"
|
||||
"@prisma/get-platform" "5.7.1"
|
||||
|
||||
"@prisma/fetch-engine@5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.7.0.tgz#7d2795828b692b02707e7ab6876f6227a68fc309"
|
||||
integrity sha512-zIn/qmO+N/3FYe7/L9o+yZseIU8ivh4NdPKSkQRIHfg2QVTVMnbhGoTcecbxfVubeTp+DjcbjS0H9fCuM4W04w==
|
||||
"@prisma/fetch-engine@5.7.1":
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.7.1.tgz#d7baa3493867c6f7cedfc41df477cfd0963059ca"
|
||||
integrity sha512-9ELauIEBkIaEUpMIYPRlh5QELfoC6pyHolHVQgbNxglaINikZ9w9X7r1TIePAcm05pCNp2XPY1ObQIJW5nYfBQ==
|
||||
dependencies:
|
||||
"@prisma/debug" "5.7.0"
|
||||
"@prisma/engines-version" "5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9"
|
||||
"@prisma/get-platform" "5.7.0"
|
||||
"@prisma/debug" "5.7.1"
|
||||
"@prisma/engines-version" "5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5"
|
||||
"@prisma/get-platform" "5.7.1"
|
||||
|
||||
"@prisma/get-platform@5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.7.0.tgz#eb81011f537c2d10c0225278cd5165a82d0b57c8"
|
||||
integrity sha512-ZeV/Op4bZsWXuw5Tg05WwRI8BlKiRFhsixPcAM+5BKYSiUZiMKIi713tfT3drBq8+T0E1arNZgYSA9QYcglWNA==
|
||||
"@prisma/get-platform@5.7.1":
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.7.1.tgz#bc2fe43838c7d47b321aa4728a0f60990d02bc9e"
|
||||
integrity sha512-eDlswr3a1m5z9D/55Iyt/nZqS5UpD+DZ9MooBB3hvrcPhDQrcf9m4Tl7buy4mvAtrubQ626ECtb8c6L/f7rGSQ==
|
||||
dependencies:
|
||||
"@prisma/debug" "5.7.0"
|
||||
"@prisma/debug" "5.7.1"
|
||||
|
||||
"@radix-ui/react-compose-refs@1.0.1":
|
||||
version "1.0.1"
|
||||
@@ -533,9 +533,9 @@
|
||||
undici-types "~5.26.4"
|
||||
|
||||
"@types/node@^20":
|
||||
version "20.10.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.4.tgz#b246fd84d55d5b1b71bf51f964bd514409347198"
|
||||
integrity sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==
|
||||
version "20.10.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.5.tgz#47ad460b514096b7ed63a1dae26fad0914ed3ab2"
|
||||
integrity sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==
|
||||
dependencies:
|
||||
undici-types "~5.26.4"
|
||||
|
||||
@@ -576,15 +576,15 @@
|
||||
integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==
|
||||
|
||||
"@typescript-eslint/eslint-plugin@^6.12.0":
|
||||
version "6.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz#fc1ab5f23618ba590c87e8226ff07a760be3dd7b"
|
||||
integrity sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw==
|
||||
version "6.15.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.15.0.tgz#b0b3e15fa8c3e67ed4386b765cc0ba98ad3a303b"
|
||||
integrity sha512-j5qoikQqPccq9QoBAupOP+CBu8BaJ8BLjaXSioDISeTZkVO3ig7oSIKh3H+rEpee7xCXtWwSB4KIL5l6hWZzpg==
|
||||
dependencies:
|
||||
"@eslint-community/regexpp" "^4.5.1"
|
||||
"@typescript-eslint/scope-manager" "6.14.0"
|
||||
"@typescript-eslint/type-utils" "6.14.0"
|
||||
"@typescript-eslint/utils" "6.14.0"
|
||||
"@typescript-eslint/visitor-keys" "6.14.0"
|
||||
"@typescript-eslint/scope-manager" "6.15.0"
|
||||
"@typescript-eslint/type-utils" "6.15.0"
|
||||
"@typescript-eslint/utils" "6.15.0"
|
||||
"@typescript-eslint/visitor-keys" "6.15.0"
|
||||
debug "^4.3.4"
|
||||
graphemer "^1.4.0"
|
||||
ignore "^5.2.4"
|
||||
@@ -593,71 +593,71 @@
|
||||
ts-api-utils "^1.0.1"
|
||||
|
||||
"@typescript-eslint/parser@^5.4.2 || ^6.0.0", "@typescript-eslint/parser@^6.12.0":
|
||||
version "6.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.14.0.tgz#a2d6a732e0d2b95c73f6a26ae7362877cc1b4212"
|
||||
integrity sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==
|
||||
version "6.15.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.15.0.tgz#1af69741cfa314a13c1434d0bdd5a0c3096699d7"
|
||||
integrity sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==
|
||||
dependencies:
|
||||
"@typescript-eslint/scope-manager" "6.14.0"
|
||||
"@typescript-eslint/types" "6.14.0"
|
||||
"@typescript-eslint/typescript-estree" "6.14.0"
|
||||
"@typescript-eslint/visitor-keys" "6.14.0"
|
||||
"@typescript-eslint/scope-manager" "6.15.0"
|
||||
"@typescript-eslint/types" "6.15.0"
|
||||
"@typescript-eslint/typescript-estree" "6.15.0"
|
||||
"@typescript-eslint/visitor-keys" "6.15.0"
|
||||
debug "^4.3.4"
|
||||
|
||||
"@typescript-eslint/scope-manager@6.14.0":
|
||||
version "6.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz#53d24363fdb5ee0d1d8cda4ed5e5321272ab3d48"
|
||||
integrity sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg==
|
||||
"@typescript-eslint/scope-manager@6.15.0":
|
||||
version "6.15.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.15.0.tgz#40e5214a3e9e048aca55ce33381bc61b6b51c32a"
|
||||
integrity sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "6.14.0"
|
||||
"@typescript-eslint/visitor-keys" "6.14.0"
|
||||
"@typescript-eslint/types" "6.15.0"
|
||||
"@typescript-eslint/visitor-keys" "6.15.0"
|
||||
|
||||
"@typescript-eslint/type-utils@6.14.0":
|
||||
version "6.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.14.0.tgz#ac9cb5ba0615c837f1a6b172feeb273d36e4f8af"
|
||||
integrity sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw==
|
||||
"@typescript-eslint/type-utils@6.15.0":
|
||||
version "6.15.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz#c22261bd00566821a300d08f4632533a8f9bed01"
|
||||
integrity sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/typescript-estree" "6.14.0"
|
||||
"@typescript-eslint/utils" "6.14.0"
|
||||
"@typescript-eslint/typescript-estree" "6.15.0"
|
||||
"@typescript-eslint/utils" "6.15.0"
|
||||
debug "^4.3.4"
|
||||
ts-api-utils "^1.0.1"
|
||||
|
||||
"@typescript-eslint/types@6.14.0":
|
||||
version "6.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.14.0.tgz#935307f7a931016b7a5eb25d494ea3e1f613e929"
|
||||
integrity sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA==
|
||||
"@typescript-eslint/types@6.15.0":
|
||||
version "6.15.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.15.0.tgz#a9f7b006aee52b0948be6e03f521814bf435ddd5"
|
||||
integrity sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==
|
||||
|
||||
"@typescript-eslint/typescript-estree@6.14.0":
|
||||
version "6.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz#90c7ddd45cd22139adf3d4577580d04c9189ac13"
|
||||
integrity sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw==
|
||||
"@typescript-eslint/typescript-estree@6.15.0":
|
||||
version "6.15.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.15.0.tgz#2f8a513df1ce5e6e1ba8e5c6aa52f392ae023fc5"
|
||||
integrity sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "6.14.0"
|
||||
"@typescript-eslint/visitor-keys" "6.14.0"
|
||||
"@typescript-eslint/types" "6.15.0"
|
||||
"@typescript-eslint/visitor-keys" "6.15.0"
|
||||
debug "^4.3.4"
|
||||
globby "^11.1.0"
|
||||
is-glob "^4.0.3"
|
||||
semver "^7.5.4"
|
||||
ts-api-utils "^1.0.1"
|
||||
|
||||
"@typescript-eslint/utils@6.14.0":
|
||||
version "6.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.14.0.tgz#856a9e274367d99ffbd39c48128b93a86c4261e3"
|
||||
integrity sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg==
|
||||
"@typescript-eslint/utils@6.15.0":
|
||||
version "6.15.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.15.0.tgz#f80dbb79f3b0f569077a8711dd44186a8933fa4c"
|
||||
integrity sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.4.0"
|
||||
"@types/json-schema" "^7.0.12"
|
||||
"@types/semver" "^7.5.0"
|
||||
"@typescript-eslint/scope-manager" "6.14.0"
|
||||
"@typescript-eslint/types" "6.14.0"
|
||||
"@typescript-eslint/typescript-estree" "6.14.0"
|
||||
"@typescript-eslint/scope-manager" "6.15.0"
|
||||
"@typescript-eslint/types" "6.15.0"
|
||||
"@typescript-eslint/typescript-estree" "6.15.0"
|
||||
semver "^7.5.4"
|
||||
|
||||
"@typescript-eslint/visitor-keys@6.14.0":
|
||||
version "6.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz#1d1d486581819287de824a56c22f32543561138e"
|
||||
integrity sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw==
|
||||
"@typescript-eslint/visitor-keys@6.15.0":
|
||||
version "6.15.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.15.0.tgz#5baf97a7bfeec6f4894d400437055155a46b2330"
|
||||
integrity sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "6.14.0"
|
||||
"@typescript-eslint/types" "6.15.0"
|
||||
eslint-visitor-keys "^3.4.1"
|
||||
|
||||
"@ungap/structured-clone@^1.2.0":
|
||||
@@ -1369,9 +1369,9 @@ editorconfig@^1.0.3:
|
||||
semver "^7.5.3"
|
||||
|
||||
electron-to-chromium@^1.4.601:
|
||||
version "1.4.614"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.614.tgz#2fe789d61fa09cb875569f37c309d0c2701f91c0"
|
||||
integrity sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==
|
||||
version "1.4.615"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.615.tgz#b1c41839962d2e4e63dca05519da9040e34848c2"
|
||||
integrity sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==
|
||||
|
||||
emoji-regex@^10.3.0:
|
||||
version "10.3.0"
|
||||
@@ -1793,9 +1793,9 @@ fast-levenshtein@^2.0.6:
|
||||
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
|
||||
|
||||
fastq@^1.6.0:
|
||||
version "1.15.0"
|
||||
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
|
||||
integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
|
||||
version "1.16.0"
|
||||
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320"
|
||||
integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==
|
||||
dependencies:
|
||||
reusify "^1.0.4"
|
||||
|
||||
@@ -3304,11 +3304,11 @@ pretty@2.0.0:
|
||||
js-beautify "^1.6.12"
|
||||
|
||||
prisma@^5.6.0:
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.7.0.tgz#3c1c56d392b5d1137de954edefa4533fa092663e"
|
||||
integrity sha512-0rcfXO2ErmGAtxnuTNHQT9ztL0zZheQjOI/VNJzdq87C3TlGPQtMqtM+KCwU6XtmkoEr7vbCQqA7HF9IY0ST+Q==
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.7.1.tgz#af60ed90531adc0ab8a683c9b1fc86d841c39864"
|
||||
integrity sha512-ekho7ziH0WEJvC4AxuJz+ewRTMskrebPcrKuBwcNzVDniYxx+dXOGcorNeIb9VEMO5vrKzwNYvhD271Ui2jnNw==
|
||||
dependencies:
|
||||
"@prisma/engines" "5.7.0"
|
||||
"@prisma/engines" "5.7.1"
|
||||
|
||||
prop-types@^15.6.1, prop-types@^15.8.1:
|
||||
version "15.8.1"
|
||||
@@ -3897,9 +3897,9 @@ tailwindcss-animate@^1.0.7:
|
||||
integrity sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==
|
||||
|
||||
tailwindcss@^3.3.0:
|
||||
version "3.3.6"
|
||||
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.6.tgz#4dd7986bf4902ad385d90d45fd4b2fa5fab26d5f"
|
||||
integrity sha512-AKjF7qbbLvLaPieoKeTjG1+FyNZT6KaJMJPFeQyLfIp7l82ggH1fbHJSsYIvnbTFQOlkh+gBYpyby5GT1LIdLw==
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.0.tgz#045a9c474e6885ebd0436354e611a76af1c76839"
|
||||
integrity sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==
|
||||
dependencies:
|
||||
"@alloc/quick-lru" "^5.2.0"
|
||||
arg "^5.0.2"
|
||||
|
||||
Reference in New Issue
Block a user