mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
refactor(layout): move all components to components/
This commit is contained in:
@@ -3,7 +3,7 @@ import { CardContent, CardHeader } from "@/components/ui/card";
|
|||||||
import { TooltipProvider } from "@/components/ui/tooltip";
|
import { TooltipProvider } from "@/components/ui/tooltip";
|
||||||
import { ForgotPasswordForm } from "@/features/auth/components/forgot-password-form";
|
import { ForgotPasswordForm } from "@/features/auth/components/forgot-password-form";
|
||||||
import { env } from "@/env.mjs";
|
import { env } from "@/env.mjs";
|
||||||
import { CardAuth } from "@/features/layout/card-auth";
|
import { CardAuth } from "@/features/layout/components/card-auth";
|
||||||
import { redirect } from "next/navigation";
|
import { redirect } from "next/navigation";
|
||||||
|
|
||||||
export default async function RoutePage(props: { searchParams: Promise<{ callbackUrl: string | undefined }> }) {
|
export default async function RoutePage(props: { searchParams: Promise<{ callbackUrl: string | undefined }> }) {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import {TooltipProvider} from "@/components/ui/tooltip";
|
|||||||
import {GuardForm} from "@/features/auth/components/guard-form";
|
import {GuardForm} from "@/features/auth/components/guard-form";
|
||||||
import {cookies} from "next/headers";
|
import {cookies} from "next/headers";
|
||||||
import {redirect} from "next/navigation";
|
import {redirect} from "next/navigation";
|
||||||
import {CardAuth} from "@/features/layout/card-auth";
|
import {CardAuth} from "@/features/layout/components/card-auth";
|
||||||
|
|
||||||
export default async function GuardPage() {
|
export default async function GuardPage() {
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { TooltipProvider } from "@/components/ui/tooltip";
|
|||||||
import { CardContent, CardHeader } from "@/components/ui/card";
|
import { CardContent, CardHeader } from "@/components/ui/card";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { Separator } from "@/components/ui/separator";
|
import { Separator } from "@/components/ui/separator";
|
||||||
import { CardAuth } from "@/features/layout/card-auth";
|
import { CardAuth } from "@/features/layout/components/card-auth";
|
||||||
import { env } from "@/env.mjs";
|
import { env } from "@/env.mjs";
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { ResetPasswordForm } from "@/features/auth/components/reset-password-for
|
|||||||
import { redirect } from "next/navigation";
|
import { redirect } from "next/navigation";
|
||||||
import { auth } from "@/lib/auth/auth";
|
import { auth } from "@/lib/auth/auth";
|
||||||
import { Avatar, AvatarImage, AvatarFallback } from "@radix-ui/react-avatar";
|
import { Avatar, AvatarImage, AvatarFallback } from "@radix-ui/react-avatar";
|
||||||
import { CardAuth } from "@/features/layout/card-auth";
|
import { CardAuth } from "@/features/layout/components/card-auth";
|
||||||
import { env } from "@/env.mjs";
|
import { env } from "@/env.mjs";
|
||||||
|
|
||||||
export default async function RoutePage(props: { searchParams: Promise<{ token: string | undefined }> }) {
|
export default async function RoutePage(props: { searchParams: Promise<{ token: string | undefined }> }) {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import {eq} from "drizzle-orm";
|
|||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
import * as drizzleDb from "@/db";
|
import * as drizzleDb from "@/db";
|
||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {Page} from "@/features/layout/page";
|
import {Page} from "@/features/layout/components/page";
|
||||||
import {OrganizationManagement} from "@/features/organizations/admin-organization-management";
|
import {OrganizationManagement} from "@/features/organizations/admin-organization-management";
|
||||||
import {buildOrganizationWithMembers} from "@/utils/common";
|
import {buildOrganizationWithMembers} from "@/utils/common";
|
||||||
import {isUUID} from "@/utils/text";
|
import {isUUID} from "@/utils/text";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
|
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
import {
|
import {
|
||||||
AdminOrganizationAddModal
|
AdminOrganizationAddModal
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {Page, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
|
import {Page, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
import {logger} from "@/lib/logger";
|
import {logger} from "@/lib/logger";
|
||||||
import {notFound} from "next/navigation";
|
import {notFound} from "next/navigation";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
|
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
import {desc, isNull} from "drizzle-orm";
|
import {desc, isNull} from "drizzle-orm";
|
||||||
import {AdminUserList} from "@/features/users/admin-user-list";
|
import {AdminUserList} from "@/features/users/admin-user-list";
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import {
|
|||||||
PageContent,
|
PageContent,
|
||||||
PageDescription,
|
PageDescription,
|
||||||
PageTitle,
|
PageTitle,
|
||||||
} from "@/features/layout/page";
|
} from "@/features/layout/components/page";
|
||||||
import { db } from "@/db";
|
import { db } from "@/db";
|
||||||
import * as drizzleDb from "@/db";
|
import * as drizzleDb from "@/db";
|
||||||
import {eq, isNull} from "drizzle-orm";
|
import {eq, isNull} from "drizzle-orm";
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {AgentCard} from "@/features/agents/components/agent-card";
|
import {AgentCard} from "@/features/agents/components/agent-card";
|
||||||
import {CardsWithPagination} from "@/components/common/cards-with-pagination";
|
import {CardsWithPagination} from "@/components/common/cards-with-pagination";
|
||||||
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
|
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
||||||
import {notFound} from "next/navigation";
|
import {notFound} from "next/navigation";
|
||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
import * as drizzleDb from "@/db";
|
import * as drizzleDb from "@/db";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
|
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
||||||
import {Metadata} from "next";
|
import {Metadata} from "next";
|
||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
import {notificationChannel, NotificationChannelWith} from "@/db/schema/09_notification-channel";
|
import {notificationChannel, NotificationChannelWith} from "@/db/schema/09_notification-channel";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {Page, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
|
import {Page, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
||||||
import {Metadata} from "next";
|
import {Metadata} from "next";
|
||||||
import {NotificationLogsList} from "@/features/notifications/notification-logs-list";
|
import {NotificationLogsList} from "@/features/notifications/notification-logs-list";
|
||||||
import {notFound} from "next/navigation";
|
import {notFound} from "next/navigation";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
|
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
||||||
import {Metadata} from "next";
|
import {Metadata} from "next";
|
||||||
import {ChannelsSection} from "@/features/channel/components/channels-section";
|
import {ChannelsSection} from "@/features/channel/components/channels-section";
|
||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {Page, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
|
import {Page, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
||||||
import {notFound} from "next/navigation";
|
import {notFound} from "next/navigation";
|
||||||
import {getOrganization} from "@/lib/auth/auth";
|
import {getOrganization} from "@/lib/auth/auth";
|
||||||
import {Metadata} from "next";
|
import {Metadata} from "next";
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
import { PageParams } from "@/types/next";
|
import { PageParams } from "@/types/next";
|
||||||
import { notFound, redirect } from "next/navigation";
|
import { notFound, redirect } from "next/navigation";
|
||||||
import { Page } from "@/features/layout/page";
|
import { Page } from "@/features/layout/components/page";
|
||||||
import { db } from "@/db";
|
import { db } from "@/db";
|
||||||
import { eq, and, inArray } from "drizzle-orm";
|
import { eq, and, inArray } from "drizzle-orm";
|
||||||
import * as drizzleDb from "@/db";
|
import * as drizzleDb from "@/db";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { PageParams } from "@/types/next";
|
import { PageParams } from "@/types/next";
|
||||||
import { Page, PageContent, PageTitle } from "@/features/layout/page";
|
import { Page, PageContent, PageTitle } from "@/features/layout/components/page";
|
||||||
import { ButtonDeleteProject } from "@/features/projects/project-delete-button";
|
import { ButtonDeleteProject } from "@/features/projects/project-delete-button";
|
||||||
import { CardsWithPagination } from "@/components/common/cards-with-pagination";
|
import { CardsWithPagination } from "@/components/common/cards-with-pagination";
|
||||||
import { ProjectDatabaseCard } from "@/features/projects/project-database-card";
|
import { ProjectDatabaseCard } from "@/features/projects/project-database-card";
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {CardsWithPagination} from "@/components/common/cards-with-pagination";
|
import {CardsWithPagination} from "@/components/common/cards-with-pagination";
|
||||||
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
|
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
||||||
import {ProjectCard} from "@/features/projects/project-card";
|
import {ProjectCard} from "@/features/projects/project-card";
|
||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
import {notFound} from "next/navigation";
|
import {notFound} from "next/navigation";
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import {
|
|||||||
PageContent,
|
PageContent,
|
||||||
PageDescription,
|
PageDescription,
|
||||||
PageTitle,
|
PageTitle,
|
||||||
} from "@/features/layout/page";
|
} from "@/features/layout/components/page";
|
||||||
import {db} from "@/db";
|
import {db} from "@/db";
|
||||||
import * as drizzleDb from "@/db";
|
import * as drizzleDb from "@/db";
|
||||||
import {eq} from "drizzle-orm";
|
import {eq} from "drizzle-orm";
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import {
|
|||||||
PageContent,
|
PageContent,
|
||||||
PageHeader,
|
PageHeader,
|
||||||
PageTitle,
|
PageTitle,
|
||||||
} from "@/features/layout/page";
|
} from "@/features/layout/components/page";
|
||||||
import {currentUser} from "@/lib/auth/current-user";
|
import {currentUser} from "@/lib/auth/current-user";
|
||||||
import {getActiveMember, getOrganization} from "@/lib/auth/auth";
|
import {getActiveMember, getOrganization} from "@/lib/auth/auth";
|
||||||
import {notFound} from "next/navigation";
|
import {notFound} from "next/navigation";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {Page, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
|
import {Page, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
||||||
import {Card, CardContent, CardHeader, CardTitle} from "@/components/ui/card";
|
import {Card, CardContent, CardHeader, CardTitle} from "@/components/ui/card";
|
||||||
import {EvolutionLineChart} from "@/features/statistics/evolution-line-chart";
|
import {EvolutionLineChart} from "@/features/statistics/evolution-line-chart";
|
||||||
import {PercentageLineChart} from "@/features/statistics/percentage-line-chart";
|
import {PercentageLineChart} from "@/features/statistics/percentage-line-chart";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import {PageParams} from "@/types/next";
|
import {PageParams} from "@/types/next";
|
||||||
import {Page, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
|
import {Page, PageContent, PageHeader, PageTitle} from "@/features/layout/components/page";
|
||||||
import {Card, CardContent, CardHeader, CardTitle} from "@/components/ui/card";
|
import {Card, CardContent, CardHeader, CardTitle} from "@/components/ui/card";
|
||||||
import {Building2, Database, DatabaseBackup, Folder, RefreshCcw, Server, Workflow} from "lucide-react";
|
import {Building2, Database, DatabaseBackup, Folder, RefreshCcw, Server, Workflow} from "lucide-react";
|
||||||
import {currentUser} from "@/lib/auth/current-user";
|
import {currentUser} from "@/lib/auth/current-user";
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import { ReactNode } from "react";
|
|||||||
import { redirect } from "next/navigation";
|
import { redirect } from "next/navigation";
|
||||||
|
|
||||||
import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar";
|
import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar";
|
||||||
import { AppSidebar } from "@/features/layout/app-sidebar";
|
import { AppSidebar } from "@/features/layout/components/app-sidebar";
|
||||||
import { Header } from "@/features/layout/header";
|
import { Header } from "@/features/layout/components/header";
|
||||||
import { currentUser } from "@/lib/auth/current-user";
|
import { currentUser } from "@/lib/auth/current-user";
|
||||||
import { isOnboardingDone } from "@/db/services/setting";
|
import { isOnboardingDone } from "@/db/services/setting";
|
||||||
import { env } from "@/env.mjs";
|
import { env } from "@/env.mjs";
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import {
|
|||||||
} from "@/features/auth/schemas/register-form.schema";
|
} from "@/features/auth/schemas/register-form.schema";
|
||||||
import { signUp } from "@/lib/auth/auth-client";
|
import { signUp } from "@/lib/auth/auth-client";
|
||||||
import { useZodForm } from "@/components/ui/form";
|
import { useZodForm } from "@/components/ui/form";
|
||||||
import { CardAuth } from "@/features/layout/card-auth";
|
import { CardAuth } from "@/features/layout/components/card-auth";
|
||||||
import { FormField } from "@/components/ui/form";
|
import { FormField } from "@/components/ui/form";
|
||||||
import { FormItem } from "@/components/ui/form";
|
import { FormItem } from "@/components/ui/form";
|
||||||
import { FormLabel } from "@/components/ui/form";
|
import { FormLabel } from "@/components/ui/form";
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import {
|
|||||||
PageContent,
|
PageContent,
|
||||||
PageDescription,
|
PageDescription,
|
||||||
PageTitle,
|
PageTitle,
|
||||||
} from "@/features/layout/page";
|
} from "@/features/layout/components/page";
|
||||||
import {capitalizeFirstLetter} from "@/utils/text";
|
import {capitalizeFirstLetter} from "@/utils/text";
|
||||||
import {RetentionPolicySheet} from "@/features/database/components/retention-policy-sheet";
|
import {RetentionPolicySheet} from "@/features/database/components/retention-policy-sheet";
|
||||||
import {CronButton} from "@/features/database/components/cron-button";
|
import {CronButton} from "@/features/database/components/cron-button";
|
||||||
|
|||||||
+4
-4
@@ -6,12 +6,12 @@ import {
|
|||||||
SidebarMenu,
|
SidebarMenu,
|
||||||
SidebarMenuItem
|
SidebarMenuItem
|
||||||
} from "@/components/ui/sidebar";
|
} from "@/components/ui/sidebar";
|
||||||
import {SidebarLogo} from "@/features/layout/logo-sidebar";
|
import {SidebarLogo} from "@/features/layout/components/logo-sidebar";
|
||||||
import {SidebarMenuCustomMain} from "@/features/layout/menu-sidebar-main";
|
import {SidebarMenuCustomMain} from "@/features/layout/components/menu-sidebar-main";
|
||||||
import {SideBarFooterCredit} from "@/features/layout/side-bar-footer-credit";
|
import {SideBarFooterCredit} from "@/features/layout/components/side-bar-footer-credit";
|
||||||
import {OrganizationCombobox} from "@/features/organizations/organization-combobox";
|
import {OrganizationCombobox} from "@/features/organizations/organization-combobox";
|
||||||
import {env} from "@/env.mjs";
|
import {env} from "@/env.mjs";
|
||||||
import {LoggedInButton} from "@/features/layout/logged-in-button.server";
|
import {LoggedInButton} from "@/features/layout/components/logged-in-button.server";
|
||||||
|
|
||||||
export function AppSidebar({ updateNotification }: { updateNotification?: ReactNode } = {}) {
|
export function AppSidebar({ updateNotification }: { updateNotification?: ReactNode } = {}) {
|
||||||
const projectName = env.PROJECT_NAME;
|
const projectName = env.PROJECT_NAME;
|
||||||
@@ -4,9 +4,9 @@ import {SidebarTrigger} from "@/components/ui/sidebar";
|
|||||||
import {currentUser} from "@/lib/auth/current-user";
|
import {currentUser} from "@/lib/auth/current-user";
|
||||||
import {BreadCrumbsWrapper} from "@/components/common/bread-crumbs";
|
import {BreadCrumbsWrapper} from "@/components/common/bread-crumbs";
|
||||||
import GitHubStarsButtonCustom from "@/components/common/github-button";
|
import GitHubStarsButtonCustom from "@/components/common/github-button";
|
||||||
import {LoggedInButton} from "@/features/layout/logged-in-button.server";
|
import {LoggedInButton} from "@/features/layout/components/logged-in-button.server";
|
||||||
import { env } from "@/env.mjs";
|
import { env } from "@/env.mjs";
|
||||||
import { DemoResetBanner } from "@/features/layout/demo-reset-banner";
|
import { DemoResetBanner } from "@/features/layout/components/demo-reset-banner";
|
||||||
|
|
||||||
export const Header = async ({ actions }: { actions?: ReactNode } = {}) => {
|
export const Header = async ({ actions }: { actions?: ReactNode } = {}) => {
|
||||||
const user = await currentUser();
|
const user = await currentUser();
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import { useRouter } from "next/navigation";
|
|||||||
import { LogOut, User } from "lucide-react";
|
import { LogOut, User } from "lucide-react";
|
||||||
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu";
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu";
|
||||||
import { signOut } from "@/lib/auth/auth-client";
|
import { signOut } from "@/lib/auth/auth-client";
|
||||||
import { ProfileModal } from "@/features/layout/profile-modal";
|
import { ProfileModal } from "@/features/layout/components/profile-modal";
|
||||||
import { Account, Session, User as UserType } from "@/db/schema/02_user";
|
import { Account, Session, User as UserType } from "@/db/schema/02_user";
|
||||||
import { AuthProviderConfig } from "@/lib/auth/config";
|
import { AuthProviderConfig } from "@/lib/auth/config";
|
||||||
import type { AvatarMode } from "@/features/onboarding/types";
|
import type { AvatarMode } from "@/features/onboarding/types";
|
||||||
+1
-1
@@ -10,7 +10,7 @@ import {
|
|||||||
Building, UserRoundCog, Mail, PackageOpen, Logs, Megaphone, Blocks, Warehouse, BookOpen, Hammer,
|
Building, UserRoundCog, Mail, PackageOpen, Logs, Megaphone, Blocks, Warehouse, BookOpen, Hammer,
|
||||||
ChevronsLeftRightEllipsis
|
ChevronsLeftRightEllipsis
|
||||||
} from "lucide-react";
|
} from "lucide-react";
|
||||||
import {SidebarGroupItem, SidebarMenuCustomBase} from "@/features/layout/menu-sidebar";
|
import {SidebarGroupItem, SidebarMenuCustomBase} from "@/features/layout/components/menu-sidebar";
|
||||||
import {authClient} from "@/lib/auth/auth-client";
|
import {authClient} from "@/lib/auth/auth-client";
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user