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
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import { Activity } from "react";
```

- Always add breadcrumbs using `@breadcrumb` in the page component (Parallel Routes).
- Name `x.server.ts` files if inside is 'use server' code in Next.js.

### Improved Caching APIs

Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/docs/dev/captcha/custom-adapter.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ export const FormSignUp = ({

### Submit form with captcha

```tsx title="plugins/{plugin_name}/src/components/form/sign-up/mutation-api.ts"
```tsx title="plugins/{plugin_name}/src/components/form/sign-up/mutation-api.server.ts"
"use server";

import type { z } from "zod";
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/docs/dev/captcha/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ export const FormSignUp = ({

Next, you need to set `captchaToken` in your mutation API call. This token is provided by the `AutoForm` component when the form is submitted.

```tsx title="plugins/{plugin_name}/src/components/form/sign-up/mutation-api.ts"
```tsx title="plugins/{plugin_name}/src/components/form/sign-up/mutation-api.server.ts"
"use server";

import type { z } from "zod";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"use client";

import { DropdownMenuItem } from "@/components/ui/dropdown-menu";
import { logOutMutationApi } from "@/views/layouts/theme/header/user/auth/log-out-mutation-api";
import { logOutMutationApi } from "@/views/layouts/theme/header/user/auth/log-out-mutation-api.server";

export const SignOutUserFooterSidebarAdmin = ({
children,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
} from "@/components/ui/dropdown-menu";
import { CONFIG_PLUGIN } from "@/config";
import { Link } from "@/lib/navigation";
import { logOutMutationApi } from "@/views/layouts/theme/header/user/auth/log-out-mutation-api";
import { logOutMutationApi } from "@/views/layouts/theme/header/user/auth/log-out-mutation-api.server";

export const ClientUserBarAdmin = ({
user,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { toast } from "sonner";
import { Button } from "@/components/ui/button";
import { TooltipWithContent } from "@/components/ui/tooltip";

import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const RunActionCronTable = ({ id }: { id: number }) => {
const t = useTranslations("admin.advanced.cron.list.actions.runNow");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { Button } from "@/components/ui/button";
import { useRouter } from "@/lib/navigation";
import { cn } from "@/lib/utils";

import { rebuildSearchIndexMutation } from "./mutation-api";
import { rebuildSearchIndexMutation } from "./mutation-api.server";

export const ReindexCollectionAction = ({
itemType,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { Button } from "@/components/ui/button";
import { useRouter } from "@/lib/navigation";
import { cn } from "@/lib/utils";

import { rebuildSearchIndexMutation } from "./mutation-api";
import { rebuildSearchIndexMutation } from "./mutation-api.server";

export const SearchHeaderActions = () => {
const t = useTranslations("core.search");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { toast } from "sonner";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";

import { sendNotificationMutation } from "./mutation-api";
import { sendNotificationMutation } from "./mutation-api.server";

export const SendNotificationAction = ({
defaultUserId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { toast } from "sonner";
import { ConfirmActionAlertDialog } from "@/components/confirm-action/confirm-action-alert-dialog";
import { Button } from "@/components/ui/button";

import { clearCacheMutation } from "./mutation-api";
import { clearCacheMutation } from "./mutation-api.server";

export const ClearCacheAction = () => {
const t = useTranslations("admin.debug.actions.clear_cache");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ import {
import { Spinner } from "@/components/ui/spinner";
import { useRouter } from "@/lib/navigation";

import type { Role } from "../../users/show/roles/search-roles.action";
import type { StaffUserOption } from "./search.action";
import type { Role } from "../../users/show/roles/search-roles.action.server";
import type { StaffUserOption } from "./search.action.server";

import { searchRolesForUser } from "../../users/show/roles/search-roles.action";
import { searchRolesForUser } from "../../users/show/roles/search-roles.action.server";
import { SelectableCard } from "../selectable-card";
import { createStaffEntry } from "./mutation-api";
import { searchUsersForStaff } from "./search.action";
import { createStaffEntry } from "./mutation-api.server";
import { searchUsersForStaff } from "./search.action.server";

const roleName = (role: Role, locale: string) =>
role.name.find(item => item.languageCode === locale)?.name ??
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import { useRouter } from "@/lib/navigation";
import { cn } from "@/lib/utils";

import { SelectableCard } from "../selectable-card";
import { updateStaffPermissions } from "./mutation-api";
import { updateStaffPermissions } from "./mutation-api.server";

const listHref = (type: PermissionStaffType) =>
type === "admin"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { Button } from "@/components/ui/button";
import { TooltipWithContent } from "@/components/ui/tooltip";
import { Link } from "@/lib/navigation";

import { deleteStaffEntry } from "./delete-action";
import { deleteStaffEntry } from "./delete-action.server";

export const StaffRowActions = ({
type,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { TooltipWithContent } from "@/components/ui/tooltip";
import { CONFIG_PLUGIN } from "@/config";
import { clientModule, fetcherClient } from "@/lib/fetcher-client";

import { deleteFileAction } from "./delete-action";
import { deleteFileAction } from "./delete-action.server";

export const FileRowActions = ({
canDelete,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import type { AutoFormOnSubmit } from "@/components/form/auto-form";

import { useDialog } from "@/components/ui/dialog";

import { sendTestEmailMutation } from "./mutation-api";
import { sendTestEmailMutation } from "./mutation-api.server";

export const useFormSendTestEmail = () => {
const t = useTranslations("admin.system.integrations.email.test");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import type { AutoFormOnSubmit } from "@/components/form/auto-form";

import { useDialog } from "@/components/ui/dialog";

import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const useFormCreateUserAdmin = () => {
const t = useTranslations("admin.user.create");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { toast } from "sonner";
import { Button } from "@/components/ui/button";
import { TooltipWithContent } from "@/components/ui/tooltip";

import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const VerifyEmailUserAdmin = ({
id,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { LanguagesProvider } from "@/components/languages-provider";

import { CreateEditRoleAdmin } from "./create-edit";
import { createRole, editRole } from "./mutation-api";
import { createRole, editRole } from "./mutation-api.server";

vi.mock("next-intl", () => ({
useLocale: () => "en",
Expand All @@ -16,7 +16,7 @@ vi.mock("@/lib/navigation", () => ({
useRouter: () => ({ push: vi.fn() }),
}));

vi.mock("./mutation-api", () => ({
vi.mock("./mutation-api.server", () => ({
createRole: vi.fn(),
editRole: vi.fn(),
}));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { useDialog } from "@/components/ui/dialog";
import { multiLangValueSchema } from "@/lib/helpers/multi-lang";
import { usePathname, useRouter } from "@/lib/navigation";

import { createRole, editRole } from "./mutation-api";
import { createRole, editRole } from "./mutation-api.server";

export interface RoleData {
color: null | string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { TooltipWithContent } from "@/components/ui/tooltip";

import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const EditUserField = ({
id,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import {
useDialog,
} from "@/components/ui/dialog";

import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const EditNameCode = ({
id,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ import {
import { Spinner } from "@/components/ui/spinner";
import { cn } from "@/lib/utils";

import type { Role } from "./search-roles.action";
import type { Role } from "./search-roles.action.server";

import { searchRolesForUser } from "./search-roles.action";
import { updateUserRoles } from "./update-roles.action";
import { searchRolesForUser } from "./search-roles.action.server";
import { updateUserRoles } from "./update-roles.action.server";

const RoleName = ({ role }: { role: Role }) => {
const locale = useLocale();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
CardTitle,
} from "@/components/ui/card";

import type { Role } from "./search-roles.action";
import type { Role } from "./search-roles.action.server";

import { EditRoles } from "./edit-roles";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { TooltipWithContent } from "@/components/ui/tooltip";
import { fetcher } from "@/lib/fetcher";

import { UsersAdminActions } from "./actions";
import { searchRolesAdmin } from "./search-roles.action";
import { searchRolesAdmin } from "./search-roles.action.server";

export const UsersAdminView = async ({
searchParams,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { useRouter } from "@/lib/navigation";
import type { ChangePasswordForm } from "./form";

import { usePasswordZodSchema } from "../../sign-up/form/use-form";
import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const useForm = ({
token,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import z from "zod";

import type { AutoFormOnSubmit } from "@/components/form/auto-form";

import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const useForm = () => {
const t = useTranslations("core.auth.sign_up");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { toast } from "sonner";
import { ConfirmActionAlertDialog } from "@/components/confirm-action/confirm-action-alert-dialog";
import { Button } from "@/components/ui/button";

import { revokeDeviceAction } from "./revoke-action";
import { revokeDeviceAction } from "./revoke-action.server";

export const RevokeDeviceButton = ({
os,
Expand Down
2 changes: 1 addition & 1 deletion packages/vitnode/src/views/auth/sign-in/form/use-form.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { z } from "zod";

import type { AutoFormOnSubmit } from "@/components/form/auto-form";

import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const useFormSignIn = ({ isAdmin = false }: { isAdmin?: boolean }) => {
const [error, setError] = React.useState<"" | "access_denied">("");
Expand Down
2 changes: 1 addition & 1 deletion packages/vitnode/src/views/auth/sign-up/form/use-form.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { z } from "zod";
import type { AutoFormOnSubmit } from "@/components/form/auto-form";

import { useWrapperSignUp } from "../wrapper";
import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const usePasswordZodSchema = () => {
const t = useTranslations("core.auth.sign_up");
Expand Down
2 changes: 1 addition & 1 deletion packages/vitnode/src/views/auth/sso/buttons/client.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { toast } from "sonner";

import { Button } from "@/components/ui/button";

import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const ButtonSSOButtons = ({
children,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { ErrorView } from "@/views/error/error-view";
import type { getMiddlewareApi } from "../../../../../lib/api/get-middleware-api";

import { Button } from "../../../../../components/ui/button";
import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const ClientCallbackSSO = ({
providerId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { TooltipWithContent } from "@/components/ui/tooltip";
import { CONFIG_PLUGIN } from "@/config";
import { clientModule, fetcherClient } from "@/lib/fetcher-client";

import { deleteMyFileAction } from "./delete-action";
import { deleteMyFileAction } from "./delete-action.server";

export const MyFileRowActions = ({
id,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import {
} from "@/components/ui/dropdown-menu";
import { Link } from "@/lib/navigation";

import { logOutMutationApi } from "./log-out-mutation-api";
import { logOutMutationApi } from "./log-out-mutation-api.server";

export const ClientAuthUserHeader = ({
user,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { z } from "zod";

import type { zodCategorySchema } from "@/api/modules/categories/routes/get.route";

import { createMutationApi, editMutationApi } from "./mutation-api";
import { createMutationApi, editMutationApi } from "./mutation-api.server";

export const CreateEditActionCategoriesAdmin = ({
data,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { toast } from "sonner";

import { CONFIG_PLUGIN } from "@/const";

import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const DeleteAction = ({ title, id }: { id: number; title: string }) => {
const t = useTranslations("@vitnode/blog.admin.categories.delete");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import type { zodPostSchema } from "@/api/modules/posts/routes/get.route";
import { categoriesModule } from "@/api/modules/categories/categories.module";

import { FriendlyUrlField, TitleField } from "./multi-lang-fields";
import { createMutationApi, editMutationApi } from "./mutation-api";
import { createMutationApi, editMutationApi } from "./mutation-api.server";

export const CreateEditActionPostsAdmin = ({
data,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { toast } from "sonner";

import { CONFIG_PLUGIN } from "@/const";

import { mutationApi } from "./mutation-api";
import { mutationApi } from "./mutation-api.server";

export const DeleteAction = ({ title, id }: { id: number; title: string }) => {
const t = useTranslations("@vitnode/blog.admin.posts.delete");
Expand Down
Loading