diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml
index ab21e8828..ffb788c23 100644
--- a/.github/ISSUE_TEMPLATE/feature-request.yml
+++ b/.github/ISSUE_TEMPLATE/feature-request.yml
@@ -33,3 +33,4 @@ body:
- label: I have explained the use case or scenario for this feature.
- label: I have included any relevant technical details or design suggestions.
- label: I understand that this is a suggestion and that there is no guarantee of implementation.
+ - label: I want to work on creating a PR for this issue if approved
diff --git a/apps/marketing/src/app/(marketing)/open/data.ts b/apps/marketing/src/app/(marketing)/open/data.ts
index 3b109ea74..a3f314d9f 100644
--- a/apps/marketing/src/app/(marketing)/open/data.ts
+++ b/apps/marketing/src/app/(marketing)/open/data.ts
@@ -47,6 +47,14 @@ export const TEAM_MEMBERS = [
engagement: 'Full-Time',
joinDate: 'October 9th, 2023',
},
+ {
+ name: 'Adithya Krishna',
+ role: 'Software Engineer - II',
+ salary: '-',
+ location: 'India',
+ engagement: 'Full-Time',
+ joinDate: 'December 1st, 2023',
+ },
];
export const FUNDING_RAISED = [
diff --git a/apps/web/src/app/(dashboard)/settings/security/page.tsx b/apps/web/src/app/(dashboard)/settings/security/page.tsx
index 9e99b73e8..ae97e7fb5 100644
--- a/apps/web/src/app/(dashboard)/settings/security/page.tsx
+++ b/apps/web/src/app/(dashboard)/settings/security/page.tsx
@@ -1,3 +1,4 @@
+import { IDENTITY_PROVIDER_NAME } from '@documenso/lib/constants/auth';
import { getRequiredServerComponentSession } from '@documenso/lib/next-auth/get-server-component-session';
import { AuthenticatorApp } from '~/components/forms/2fa/authenticator-app';
@@ -17,28 +18,43 @@ export default async function SecuritySettingsPage() {
-
+ {user.identityProvider === 'DOCUMENSO' ? (
+
+
-
+
-
Two Factor Authentication
+
Two Factor Authentication
-
- Add and manage your two factor security settings to add an extra layer of security to your
- account!
-
+
+ Add and manage your two factor security settings to add an extra layer of security to
+ your account!
+
-
-
Two-factor methods
+
+
Two-factor methods
-
-
+
+
- {user.twoFactorEnabled && (
-
-
Recovery methods
+ {user.twoFactorEnabled && (
+
+
Recovery methods
-
+
+
+ )}
+
+ ) : (
+
+
+ Your account is managed by {IDENTITY_PROVIDER_NAME[user.identityProvider]}
+
+
+ To update your password, enable two-factor authentication, and manage other security
+ settings, please go to your {IDENTITY_PROVIDER_NAME[user.identityProvider]} account
+ settings.
+
)}
diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx
new file mode 100644
index 000000000..1ac50f1c0
--- /dev/null
+++ b/apps/web/src/app/(signing)/sign/[token]/complete/document-preview-button.tsx
@@ -0,0 +1,39 @@
+'use client';
+
+import { useState } from 'react';
+
+import { FileSearch } from 'lucide-react';
+
+import type { DocumentData } from '@documenso/prisma/client';
+import DocumentDialog from '@documenso/ui/components/document/document-dialog';
+import type { ButtonProps } from '@documenso/ui/primitives/button';
+import { Button } from '@documenso/ui/primitives/button';
+
+export type DocumentPreviewButtonProps = {
+ className?: string;
+ documentData: DocumentData;
+} & ButtonProps;
+
+export const DocumentPreviewButton = ({
+ className,
+ documentData,
+ ...props
+}: DocumentPreviewButtonProps) => {
+ const [showDialog, setShowDialog] = useState(false);
+
+ return (
+ <>
+
+
+
+ >
+ );
+};
diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/layout.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/layout.tsx
new file mode 100644
index 000000000..d3d1c15c3
--- /dev/null
+++ b/apps/web/src/app/(signing)/sign/[token]/complete/layout.tsx
@@ -0,0 +1,17 @@
+import React from 'react';
+
+import { RefreshOnFocus } from '~/components/(dashboard)/refresh-on-focus/refresh-on-focus';
+
+export type SigningLayoutProps = {
+ children: React.ReactNode;
+};
+
+export default function SigningLayout({ children }: SigningLayoutProps) {
+ return (
+
+ {children}
+
+
+
+ );
+}
diff --git a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx
index 4b1aed265..ab73755ab 100644
--- a/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx
+++ b/apps/web/src/app/(signing)/sign/[token]/complete/page.tsx
@@ -17,6 +17,8 @@ import { SigningCard3D } from '@documenso/ui/components/signing-card';
import { truncateTitle } from '~/helpers/truncate-title';
+import { DocumentPreviewButton } from './document-preview-button';
+
export type CompletedSigningPageProps = {
params: {
token?: string;
@@ -117,12 +119,20 @@ export default async function CompletedSigningPage({