Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ import { Prisma } from "database"
import { createUser } from "database/src/users/queries"
import { sendEmail } from "emails"
import VerifyEmail from "emails/verify-email"

import { redirect } from "@/utils/navigation"
import { redirect } from "utils/navigation"

import { SignUpDataOutput, signUpSchema } from "./type"

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { revalidatePath } from "next/cache"
import { redirect } from "next/navigation"

import { auth } from "configs/auth"
import APP_ROUTES from "constants/routes"
import prisma, {
createPost,
PostOnUserType,
Expand All @@ -15,7 +16,6 @@ import prisma, {
} from "database"
import { toast } from "react-toastify"

import APP_ROUTES from "@/constants/routes"
import { TUserItem, userSelect } from "@/types/users"

// TODO: move to database package
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@ import React from "react"
import { redirect } from "next/navigation"

import { auth } from "configs/auth"
import SignIn from "molecules/auth/sign-in"
import { getTranslations } from "next-intl/server"

import SignIn from "@/molecules/auth/sign-in"

export async function generateMetadata() {
const t = await getTranslations()

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from "react"

import SignUp from "@/molecules/auth/sign-up"
import SignUp from "molecules/auth/sign-up"

const RegisterPage: React.FC = () => {
return (
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import SidebarItem, { SidebarItemProps } from "@/molecules/sidebar-item"
import SidebarItem, { SidebarItemProps } from "molecules/sidebar-item"

const SIDE_BAR = [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ import { Metadata } from "next/types"

import { auth } from "configs/auth"
import { getUser } from "database"

import PageTitle from "@/molecules/page-title"
import PageTitle from "molecules/page-title"

export async function generateMetadata(): Promise<Metadata> {
const session = await auth()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { auth } from "configs/auth"

import APP_APIS from "@/constants/apis"
import PageTitle from "@/molecules/page-title"
import Profile from "@/molecules/profile"
import { generatePath } from "@/utils/generatePath"
import APP_APIS from "constants/apis"
import PageTitle from "molecules/page-title"
import Profile from "molecules/profile"
import { generatePath } from "utils/generatePath"

export default async function Page() {
let currentUser = null
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { Metadata } from "next"

import { getPost } from "database"

import PostForm from "@/molecules/post-form"
import PostForm from "molecules/post-form"

export async function generateMetadata(props): Promise<Metadata> {
const params = await props.params
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { redirect } from "next/navigation"

import { auth } from "configs/auth"

import APP_ROUTES from "@/constants/routes"
import PostForm from "@/molecules/post-form"
import APP_ROUTES from "constants/routes"
import PostForm from "molecules/post-form"

export const metadata = {
title: "Create Post",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import ContactForm from "@/molecules/contact-form/contact-form"
import PageTitle from "@/molecules/page-title"
import ContactForm from "molecules/contact-form/contact-form"
import PageTitle from "molecules/page-title"

export default async function ContactUs() {
return (
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import { BookCopy, HomeIcon, Smartphone, TagIcon } from "lucide-react"
import SidebarItem, { SidebarItemProps } from "molecules/sidebar-item"
import SquareAdvertisement from "molecules/square-advertisement"
import TopTag from "molecules/top-tags"
import { useTranslations } from "next-intl"

import SidebarItem, { SidebarItemProps } from "@/molecules/sidebar-item"
import SquareAdvertisement from "@/molecules/square-advertisement"
import TopTag from "@/molecules/top-tags"

export default function PublicLayout({ children }: { children: React.ReactNode }) {
const t = useTranslations("common")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@ import { Suspense } from "react"
import { Metadata } from "next"

import { PostStatus } from "database"
import Filter from "molecules/home/filter"
import PostList from "molecules/posts/post-list"
import { PostSkeleton } from "ui"

import Filter from "@/molecules/home/filter"
import PostList from "@/molecules/posts/post-list"

export const metadata: Metadata = {
title: "Next-forum - Share the best things",
description: "Share the best things in the world",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import { Metadata } from "next"

import Filter from "molecules/home/filter"
import SearchBar from "molecules/nav/search-bar"
import PostList from "molecules/posts/post-list"
import { getTranslations } from "next-intl/server"
import { Typography } from "ui"

import Filter from "@/molecules/home/filter"
import SearchBar from "@/molecules/nav/search-bar"
import PostList from "@/molecules/posts/post-list"

export async function generateMetadata(props): Promise<Metadata> {
const searchParams = await props.searchParams
return {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import PageTitle from "@/molecules/page-title"
import Filter from "@/molecules/tag/filter"
import TagList from "@/molecules/tag/tag-list"
import PageTitle from "molecules/page-title"
import Filter from "molecules/tag/filter"
import TagList from "molecules/tag/tag-list"

export const metadata = {
title: "Tags",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import { Metadata } from "next"

import { LucideHeart } from "lucide-react"
import PageTitle from "molecules/page-title"
import TagBadge from "molecules/tag/tag-badge"
import { Button, Input, Typography } from "ui"

import PageTitle from "@/molecules/page-title"
import TagBadge from "@/molecules/tag/tag-badge"

export const metadata: Metadata = {
title: "Next-forum - Page UI",
description: "UI components for pages",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import { Metadata } from "next"

import APP_APIS from "@/constants/apis"
import Followers from "@/molecules/follower/followers"
import UserProfile from "@/molecules/follower/user-profile"
import APP_APIS from "constants/apis"
import Followers from "molecules/follower/followers"
import UserProfile from "molecules/follower/user-profile"
import { generatePath } from "utils/generatePath"

import { TUserItem } from "@/types/users"
import { generatePath } from "@/utils/generatePath"

export async function generateMetadata(props: {
params: Promise<{ authorId: string }>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { getUser } from "database"

import UserProfile from "@/molecules/follower/user-profile"
import PostList from "@/molecules/posts/post-list"
import UserProfile from "molecules/follower/user-profile"
import PostList from "molecules/posts/post-list"

export const generateMetadata = async (props) => {
const params = await props.params
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { Metadata } from "next"
import { notFound } from "next/navigation"

import PostDetail from "@/molecules/posts/post-detail"
import Comments from "@/molecules/posts/post-detail/comments"
import LikeButton from "@/molecules/posts/post-detail/like-button"
import TableOfContents from "@/molecules/posts/post-detail/table-of-contents"
import BookmarkButton from "@/molecules/posts/post-item/bookmark-button"
import PostDetail from "molecules/posts/post-detail"
import Comments from "molecules/posts/post-detail/comments"
import LikeButton from "molecules/posts/post-detail/like-button"
import TableOfContents from "molecules/posts/post-detail/table-of-contents"
import BookmarkButton from "molecules/posts/post-item/bookmark-button"

import { TSearchParams } from "@/types"

import "./tocbot.css"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import TagDetail from "molecules/tag/tag-detail"

import { getTagById } from "@/actions/public/tags"
import TagDetail from "@/molecules/tag/tag-detail"

export const metadata = {
title: "Tags",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { getTag } from "database"

import PostList from "@/molecules/posts/post-list"
import TagDetail from "@/molecules/tag/tag-detail"
import PostList from "molecules/posts/post-list"
import TagDetail from "molecules/tag/tag-detail"

export const generateMetadata = async (props) => {
const params = await props.params
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,12 @@ import "./globals.css"
import "ui/dist/index.css"
import "react-toastify/dist/ReactToastify.css"

import Footer from "molecules/footer"
import Nav from "molecules/nav"
import { NextIntlClientProvider, useMessages } from "next-intl"
import { Providers } from "providers"
import { ToastContainer } from "react-toastify"

import Footer from "@/molecules/footer"
import Nav from "@/molecules/nav"
import { Providers } from "@/providers"

export const metadata = {
icons: {
icon: "/assets/logo.png",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@ import path from "path"
import { NextRequest } from "next/server"

import { auth } from "configs/auth"
import { OrderByField } from "constants/upload"
import { createImage, getImage, getImages, IImageFilter, ImageOrderBys, OrderBy } from "database"
import sharp from "sharp"
import { v4 as uuidv4 } from "uuid"

import { OrderByField } from "@/constants/upload"

const OrderMap = {
[OrderByField.nameAsc]: {
order: "asc",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import { DEFAULT_TAG_PAGE_LIMIT } from "constants"
import { NextRequest } from "next/server"

import prisma, { Prisma, tagListSelect } from "database"

import { DEFAULT_TAG_PAGE_LIMIT } from "@/constants"

export async function GET(request: NextRequest) {
const newUrl = request.nextUrl.clone()
const searchTerm = newUrl.searchParams.get("query") || ""
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 1 addition & 2 deletions apps/web/emails/index.ts → apps/web/src/emails/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import { ReactElement } from "react"

import { render } from "@react-email/components"
import { resend } from "libs/resend"
import nodemailer from "nodemailer"
import { CreateEmailOptions } from "resend"

import { resend } from "@/libs/resend"

// Send email using SMTP (Recommended for local development)
const sendEmailViaSMTP = async ({
email,
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { useState } from "react"

import APP_APIS from "constants/apis"
import { getSession } from "next-auth/react"
import { toast } from "react-toastify"
import { generatePath } from "utils/generatePath"

import APP_APIS from "@/constants/apis"
import { TPostItem } from "@/types/posts"
import { generatePath } from "@/utils/generatePath"

interface BookMarkProps {
post: TPostItem
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
import { useEffect, useState } from "react"
import { useParams, useRouter } from "next/navigation"

import APP_APIS from "constants/apis"
import { toast } from "react-toastify"

import APP_APIS from "@/constants/apis"
import { generatePath } from "@/utils/generatePath"
import { generatePath } from "utils/generatePath"

const useFollowUser = () => {
const [isLoading, setIsLoading] = useState<boolean>(false)
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions apps/web/@/hooks/useLike.ts → apps/web/src/hooks/useLike.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { useState } from "react"

import APP_APIS from "constants/apis"
import { getSession } from "next-auth/react"
import { toast } from "react-toastify"
import { generatePath } from "utils/generatePath"

import APP_APIS from "@/constants/apis"
import { TPostItem } from "@/types/posts"
import { generatePath } from "@/utils/generatePath"

type UseLikeProps = {
post: TPostItem
Expand Down
2 changes: 1 addition & 1 deletion apps/web/i18n.ts → apps/web/src/i18n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ export default getRequestConfig(async ({ requestLocale }) => {
if (!locales.includes(locale as unknown as string)) notFound()

return {
messages: (await import(`./@/messages/${locale}.json`)).default,
messages: (await import(`./messages/${locale}.json`)).default,
}
})
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ import {
Input,
Typography,
} from "ui"
import { redirect } from "utils/navigation"
import { z } from "zod"

import { signUp } from "@/actions/auth"
import { SignUpDataInput, signUpSchema } from "@/actions/auth/type"
import { redirect } from "@/utils/navigation"

import AuthForm from "../auth-form"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react"

import APP_APIS from "@/constants/apis"
import { generateApi } from "@/utils/generatePath"
import APP_APIS from "constants/apis"
import { generateApi } from "utils/generatePath"

import FollowerItem from "./follower-item"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@
import React from "react"
import Link from "next/link"

import useFollowUser from "hooks/useFollowUser"
import { useSession } from "next-auth/react"
import { useTranslations } from "next-intl"
import { Button, buttonVariants, cn } from "ui"

import useFollowUser from "@/hooks/useFollowUser"

const FollowButton: React.FC<{ authorId: string }> = ({ authorId }: { authorId: string }) => {
const t = useTranslations()
const session = useSession()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ import { usePathname, useRouter, useSearchParams } from "next/navigation"

import { FilterValues, PeriodValues } from "database"
import { cn } from "ui"

import { capitalizeFirstLetter } from "@/utils/text"
import { capitalizeFirstLetter } from "utils/text"

import { FilterItem } from "./filter-item"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
"use client"

import useInfiniteScroll from "hooks/useInfinityScroll"
import { Loader } from "lucide-react"

import useInfiniteScroll from "@/hooks/useInfinityScroll"

interface InfiniteScrollProps {
containerClassName?: string
children: React.ReactNode
Expand Down
Loading
Loading