Compare commits

...

26 Commits
main ... BLS

Author SHA1 Message Date
69ab5eedd5 Feature: Dokumenten sharing deaktiviert 2025-04-25 15:12:49 +02:00
9007acd265 Design: Icons geändert 2025-04-25 15:12:25 +02:00
fcf906db36 Fix: Suchmenü überarbeitet 2025-04-25 15:12:00 +02:00
0e196a68cf Fix: Standartsprache - deutsch & andere Sprachen deaktiviert 2025-04-25 15:11:15 +02:00
643e37a0aa Fix: Links angepasst 2025-04-25 10:03:42 +02:00
f6a1b0bd2d Design: Fonts geändert 2025-04-25 10:03:25 +02:00
28b28f7363 Design: Farben geändert 2025-04-25 10:03:06 +02:00
f1b989bb78 Übersetzungen & Anpassungen 2025-04-24 14:22:00 +02:00
63182f9587 packages/lib/translations/de/web.po aktualisiert 2025-04-19 08:25:59 +00:00
a9d7c3315d packages/lib/translations/de/web.po aktualisiert 2025-04-19 08:19:01 +00:00
de4197fba1 packages/lib/translations/de/web.po aktualisiert 2025-04-19 07:26:31 +00:00
1b304b4f44 packages/lib/translations/de/web.po aktualisiert 2025-04-18 12:01:13 +00:00
5c1a0c683f packages/lib/translations/de/web.po aktualisiert 2025-04-18 11:41:15 +00:00
3af68e9e49 Standartsprache (für Dokumente) - DE 2025-03-24 18:29:28 +01:00
ff712de07c Standartsprache für Dokumente - DE 2025-03-24 18:26:16 +01:00
ce9bd6bb80 Übersetzung: Anpassungen 2025-03-24 18:25:56 +01:00
1447f03456 Standartsprache für Dokumente - DE 2025-03-24 18:10:32 +01:00
335e833170 Übersetzungen und Wording anpassung 2025-03-24 18:10:14 +01:00
e20153c9c5 Anpassen der Standart Support E-Mail 2025-03-24 18:09:58 +01:00
23c6c7935e Übersetzungen 2025-03-24 18:09:40 +01:00
01232624cc Share Button auskommentiert 2025-03-24 18:09:17 +01:00
3045bcefc2 Dokumentenablehnung - Übersetzung 2025-03-24 18:09:00 +01:00
cde5a43410 Übersetung: Anpassung Branding und Ansprechweise 2025-03-24 15:58:02 +01:00
bdf4db2c30 Öffentliches Profil: Button auf Webseite anstatt auf /signup 2025-03-24 15:55:52 +01:00
5747a0d52d Änderung an security.txt 2025-03-24 15:55:23 +01:00
d2b83af9ea Änderungen an Branding - App Name 2025-03-24 15:55:08 +01:00
107 changed files with 764 additions and 752 deletions

View File

@@ -1,7 +1,4 @@
# General Issues
Contact: https://github.com/documenso/documenso/issues/new?assignees=&labels=bug&projects=&template=bug-report.yml
# Report critical issues privately to let us take appropriate action before publishing.
Contact: mailto:security@documenso.com
Preferred-Languages: en
Canonical: https://documenso.com/.well-known/security.txt
Contact: mailto:hello@bls-media.de
Preferred-Languages: de
Canonical: https://bls.media/.well-known/security.txt

View File

@@ -150,7 +150,7 @@ Example payload for the `document.created` event:
"id": 52,
"documentId": 10,
"templateId": null,
"email": "signer@documenso.com",
"email": "signer@sign.bls.media",
"name": "John Doe",
"token": "vbT8hi3jKQmrFP_LN1WcS",
"documentDeletedAt": null,
@@ -212,7 +212,7 @@ Example payload for the `document.sent` event:
"id": 52,
"documentId": 10,
"templateId": null,
"email": "signer2@documenso.com",
"email": "signer2@sign.bls.media",
"name": "Signer 2",
"token": "vbT8hi3jKQmrFP_LN1WcS",
"documentDeletedAt": null,
@@ -230,7 +230,7 @@ Example payload for the `document.sent` event:
"id": 53,
"documentId": 10,
"templateId": null,
"email": "signer1@documenso.com",
"email": "signer1@sign.bls.media",
"name": "Signer 1",
"token": "HkrptwS42ZBXdRKj1TyUo",
"documentDeletedAt": null,
@@ -292,7 +292,7 @@ Example payload for the `document.opened` event:
"id": 52,
"documentId": 10,
"templateId": null,
"email": "signer2@documenso.com",
"email": "signer2@sign.bls.media",
"name": "Signer 2",
"token": "vbT8hi3jKQmrFP_LN1WcS",
"documentDeletedAt": null,
@@ -354,7 +354,7 @@ Example payload for the `document.signed` event:
"id": 51,
"documentId": 10,
"templateId": null,
"email": "signer1@documenso.com",
"email": "signer1@sign.bls.media",
"name": "Signer 1",
"token": "HkrptwS42ZBXdRKj1TyUo",
"documentDeletedAt": null,
@@ -419,7 +419,7 @@ Example payload for the `document.completed` event:
"id": 50,
"documentId": 10,
"templateId": null,
"email": "signer2@documenso.com",
"email": "signer2@sign.bls.media",
"name": "Signer 2",
"token": "vbT8hi3jKQmrFP_LN1WcS",
"documentDeletedAt": null,
@@ -440,7 +440,7 @@ Example payload for the `document.completed` event:
"id": 51,
"documentId": 10,
"templateId": null,
"email": "signer1@documenso.com",
"email": "signer1@sign.bls.media",
"name": "Signer 1",
"token": "HkrptwS42ZBXdRKj1TyUo",
"documentDeletedAt": null,
@@ -505,7 +505,7 @@ Example payload for the `document.rejected` event:
"id": 52,
"documentId": 10,
"templateId": null,
"email": "signer@documenso.com",
"email": "signer@sign.bls.media",
"name": "Signer",
"token": "vbT8hi3jKQmrFP_LN1WcS",
"documentDeletedAt": null,
@@ -598,7 +598,7 @@ Example payload for the `document.rejected` event:
"id": 7,
"documentId": 7,
"templateId": null,
"email": "signer@documenso.com",
"email": "signer@sign.bls.media",
"name": "Signer",
"token": "XkKx1HCs6Znm2UBJA2j6o",
"documentDeletedAt": null,

View File

@@ -2,7 +2,7 @@ import type { DocsThemeConfig } from 'nextra-theme-docs';
import { useConfig } from 'nextra-theme-docs';
const themeConfig: DocsThemeConfig = {
logo: <span>Documenso</span>,
logo: <span>BLS sign</span>,
head: function useHead() {
const config = useConfig<{ title?: string; description?: string }>();

View File

@@ -216,9 +216,9 @@ export const TeamMemberInviteDialog = ({ trigger, ...props }: TeamMemberInviteDi
const downloadTemplate = () => {
const data = [
{ email: 'admin@documenso.com', role: 'Admin' },
{ email: 'manager@documenso.com', role: 'Manager' },
{ email: 'member@documenso.com', role: 'Member' },
{ email: 'admin@sign.bls.media', role: 'Admin' },
{ email: 'manager@sign.bls.media', role: 'Manager' },
{ email: 'member@sign.bls.media', role: 'Member' },
];
const csvContent =

View File

@@ -20,7 +20,7 @@ export const EmbedDocumentCompleted = ({ name, signature }: EmbedDocumentComplet
<div className="mt-8 w-full max-w-md">
<SigningCard3D
className="mx-auto w-full"
name={name || 'Documenso'}
name={name || 'BLS sign'}
signature={signature}
signingCelebrationImage={signingCelebration}
/>

View File

@@ -534,7 +534,7 @@ export const SignUpForm = ({
<Trans>
By proceeding, you agree to our{' '}
<Link
to="https://documen.so/terms"
to="https://bls.media/agb/"
target="_blank"
className="text-documenso-700 duration-200 hover:opacity-70"
>
@@ -542,7 +542,7 @@ export const SignUpForm = ({
</Link>{' '}
and{' '}
<Link
to="https://documen.so/privacy"
to="https://bls.media/datenschutz/"
target="_blank"
className="text-documenso-700 duration-200 hover:opacity-70"
>

View File

@@ -74,7 +74,7 @@ export const TeamDocumentPreferencesForm = ({
documentVisibility: settings?.documentVisibility ?? 'EVERYONE',
documentLanguage: isValidLanguageCode(settings?.documentLanguage)
? settings?.documentLanguage
: 'en',
: 'de',
includeSenderDetails: settings?.includeSenderDetails ?? false,
includeSigningCertificate: settings?.includeSigningCertificate ?? true,
signatureTypes: extractTeamSignatureSettings(settings),

View File

@@ -205,14 +205,12 @@ export function AppCommandMenu({ open, onOpenChange }: AppCommandMenuProps) {
</CommandGroup>
<CommandGroup className="mx-2 p-0 pb-2" heading={_(msg`Settings`)}>
<Commands push={push} pages={SETTINGS_PAGES} />
</CommandGroup>
<CommandGroup className="mx-2 p-0 pb-2" heading={_(msg`Preferences`)}>
<CommandItem className="-mx-2 -my-1 rounded-lg" onSelect={() => addPage('language')}>
Change language
</CommandItem>
<CommandItem className="-mx-2 -my-1 rounded-lg" onSelect={() => addPage('theme')}>
Change theme
</CommandItem>
<CommandItem className="-mx-2 -my-1 rounded-lg" onSelect={() => addPage('language')}>
Sprache
</CommandItem>
<CommandItem className="-mx-2 -my-1 rounded-lg" onSelect={() => addPage('theme')}>
Aussehen
</CommandItem>
</CommandGroup>
{searchResults.length > 0 && (
<CommandGroup className="mx-2 p-0 pb-2" heading={_(msg`Your documents`)}>

View File

@@ -50,7 +50,7 @@ export const AppNavMobile = ({ isMenuOpen, onMenuOpenChange }: AppNavMobileProps
<Link to="/" onClick={handleMenuItemClick}>
<img
src={LogoImage}
alt="Documenso Logo"
alt="BLS sign Logo"
className="dark:invert"
width={170}
height={25}
@@ -83,7 +83,7 @@ export const AppNavMobile = ({ isMenuOpen, onMenuOpenChange }: AppNavMobileProps
</div>
<p className="text-muted-foreground text-sm">
© {new Date().getFullYear()} Documenso, Inc. <br /> All rights reserved.
© {new Date().getFullYear()} Made by BLS media
</p>
</div>
</SheetContent>

View File

@@ -128,7 +128,7 @@ export const DirectTemplateConfigureForm = ({
derivedRecipientAccessAuth !== null ||
user?.email !== undefined
}
placeholder="recipient@documenso.com"
placeholder="recipient@sign.bls.media"
/>
</FormControl>

View File

@@ -138,7 +138,7 @@ export function DocumentSigningRejectDialog({
<Textarea
{...field}
rows={4}
placeholder="Please provide a reason for rejecting this document"
placeholder="Bitte gib' einen Grund für die Ablehnung an."
disabled={form.formState.isSubmitting}
/>
</FormControl>

View File

@@ -166,6 +166,7 @@ export const DocumentPageViewDropdown = ({ document }: DocumentPageViewDropdownP
<DocumentResendDialog document={document} recipients={nonSignedRecipients} />
{/* DOKUMENT SHARING KARTE DEAKTIVIERT
<DocumentShareButton
documentId={document.id}
token={isOwner ? undefined : recipient?.token}
@@ -177,7 +178,8 @@ export const DocumentPageViewDropdown = ({ document }: DocumentPageViewDropdownP
</div>
</DropdownMenuItem>
)}
/>
/>
*/}
</DropdownMenuContent>
<DocumentDeleteDialog

View File

@@ -1,7 +1,7 @@
import type { HTMLAttributes } from 'react';
import { Trans } from '@lingui/react/macro';
import { Braces, CreditCard, Globe2Icon, Lock, User, Users, Webhook } from 'lucide-react';
import { Braces, CreditCard, Globe2Icon, Lock, User, Users, Webhook, Bot } from 'lucide-react';
import { useLocation } from 'react-router';
import { Link } from 'react-router';
@@ -96,6 +96,13 @@ export const SettingsDesktopNav = ({ className, ...props }: SettingsDesktopNavPr
</Button>
</Link>
<Link to="https://bot.bls.media/medi">
<Button variant="ghost">
<Bot className="mr-2 h-5 w-5" />
Hilfe
</Button>
</Link>
{isBillingEnabled && (
<Link to="/settings/billing">
<Button

View File

@@ -7,7 +7,7 @@ import { Skeleton } from '@documenso/ui/primitives/skeleton';
export default function DocumentEditSkeleton() {
return (
<div className="mx-auto -mt-4 flex w-full max-w-screen-xl flex-col px-4 md:px-8">
<Link to="/documents" className="flex grow-0 items-center text-[#7AC455] hover:opacity-80">
<Link to="/documents" className="flex grow-0 items-center text-[#FF6B3D] hover:opacity-80">
<ChevronLeft className="mr-2 inline-block h-5 w-5" />
<Trans>Documents</Trans>
</Link>

View File

@@ -196,6 +196,7 @@ export const DocumentsTableActionDropdown = ({ row }: DocumentsTableActionDropdo
<DocumentResendDialog document={row} recipients={nonSignedRecipients} />
{/* DOKUMENT SHARING KARTE DEAKTIVIERT
<DocumentShareButton
documentId={row.id}
token={isOwner ? undefined : recipient?.token}
@@ -208,6 +209,8 @@ export const DocumentsTableActionDropdown = ({ row }: DocumentsTableActionDropdo
</DropdownMenuItem>
)}
/>
*/}
</DropdownMenuContent>
<DocumentDeleteDialog

View File

@@ -1,6 +1,6 @@
import { msg } from '@lingui/core/macro';
import { useLingui } from '@lingui/react';
import { Bird, CheckCircle2 } from 'lucide-react';
import { FileSearch2, FileCheck } from 'lucide-react';
import { match } from 'ts-pattern';
import { ExtendedDocumentStatus } from '@documenso/prisma/types/extended-document-status';
@@ -18,22 +18,22 @@ export const DocumentsTableEmptyState = ({ status }: DocumentsTableEmptyStatePro
.with(ExtendedDocumentStatus.COMPLETED, () => ({
title: msg`Nothing to do`,
message: msg`There are no completed documents yet. Documents that you have created or received will appear here once completed.`,
icon: CheckCircle2,
icon: FileCheck,
}))
.with(ExtendedDocumentStatus.DRAFT, () => ({
title: msg`No active drafts`,
message: msg`There are no active drafts at the current moment. You can upload a document to start drafting.`,
icon: CheckCircle2,
icon: FileCheck,
}))
.with(ExtendedDocumentStatus.ALL, () => ({
title: msg`We're all empty`,
message: msg`You have not yet created or received any documents. To create a document please upload one.`,
icon: Bird,
icon: FileSearch2,
}))
.otherwise(() => ({
title: msg`Nothing to do`,
message: msg`All documents have been processed. Any new documents that are sent or received will show here.`,
icon: CheckCircle2,
icon: FileCheck,
}));
return (

View File

@@ -26,7 +26,7 @@ function PosthogInit() {
}
async function main() {
const locale = detect(fromHtmlTag('lang')) || 'en';
const locale = detect(fromHtmlTag('lang')) || 'de';
await dynamicActivate(locale);

View File

@@ -133,7 +133,7 @@ export default function DocumentPage() {
<DocumentRecipientLinkCopyDialog recipients={recipients} />
)}
<Link to={documentRootPath} className="flex items-center text-[#7AC455] hover:opacity-80">
<Link to={documentRootPath} className="flex items-center text-[#FF6B3D] hover:opacity-80">
<ChevronLeft className="mr-2 inline-block h-5 w-5" />
<Trans>Documents</Trans>
</Link>

View File

@@ -95,7 +95,7 @@ export default function DocumentEditPage() {
return (
<div className="mx-auto -mt-4 w-full max-w-screen-xl px-4 md:px-8">
<Link to={documentRootPath} className="flex items-center text-[#7AC455] hover:opacity-80">
<Link to={documentRootPath} className="flex items-center text-[#FF6B3D] hover:opacity-80">
<ChevronLeft className="mr-2 inline-block h-5 w-5" />
<Trans>Documents</Trans>
</Link>

View File

@@ -123,7 +123,7 @@ export default function DocumentsLogsPage({ loaderData }: Route.ComponentProps)
<div className="mx-auto -mt-4 w-full max-w-screen-xl px-4 md:px-8">
<Link
to={`${documentRootPath}/${document.id}`}
className="flex items-center text-[#7AC455] hover:opacity-80"
className="flex items-center text-[#FF6B3D] hover:opacity-80"
>
<ChevronLeft className="mr-2 inline-block h-5 w-5" />
<Trans>Document</Trans>

View File

@@ -97,7 +97,7 @@ export default function TemplatePage() {
return (
<div className="mx-auto -mt-4 w-full max-w-screen-xl px-4 md:px-8">
<Link to={templateRootPath} className="flex items-center text-[#7AC455] hover:opacity-80">
<Link to={templateRootPath} className="flex items-center text-[#FF6B3D] hover:opacity-80">
<ChevronLeft className="mr-2 inline-block h-5 w-5" />
<Trans>Templates</Trans>
</Link>

View File

@@ -65,7 +65,7 @@ export default function TemplateEditPage() {
<div>
<Link
to={`${templateRootPath}/${template.id}`}
className="flex items-center text-[#7AC455] hover:opacity-80"
className="flex items-center text-[#FF6B3D] hover:opacity-80"
>
<ChevronLeft className="mr-2 inline-block h-5 w-5" />
<Trans>Template</Trans>

View File

@@ -1,7 +1,7 @@
import { useEffect } from 'react';
import { Trans } from '@lingui/react/macro';
import { Bird } from 'lucide-react';
import { FileSearch2 } from 'lucide-react';
import { useSearchParams } from 'react-router';
import { formatAvatarUrl } from '@documenso/lib/utils/avatars';
@@ -65,7 +65,7 @@ export default function TemplatesPage() {
<div className="relative mt-5">
{data && data.count === 0 ? (
<div className="text-muted-foreground/60 flex h-96 flex-col items-center justify-center gap-y-4">
<Bird className="h-12 w-12" strokeWidth={1.5} />
<FileSearch2 className="h-12 w-12" strokeWidth={1.5} />
<div className="text-center">
<h3 className="text-lg font-semibold">

View File

@@ -75,7 +75,7 @@ export default function PublicProfileLayout() {
</p>
<Button asChild variant="secondary">
<Link to="/signup">
<Link to="https://bls.media/sign/">
<div className="hidden flex-row items-center sm:flex">
<PlusIcon className="mr-1 h-5 w-5" />
<Trans>Create now</Trans>

View File

@@ -204,7 +204,7 @@ export default function CompletedSigningPage({ loaderData }: Route.ComponentProp
))}
<div className="mt-8 flex w-full max-w-sm items-center justify-center gap-4">
<DocumentShareButton documentId={document.id} token={recipient.token} />
{/* <DocumentShareButton documentId={document.id} token={recipient.token} /> Share Button ausgeblendet */}
{isDocumentCompleted(document.status) ? (
<DocumentDownloadButton

View File

@@ -115,7 +115,7 @@ export default function RejectedSigningPage({ loaderData }: Route.ComponentProps
{user && (
<Button className="mt-6" asChild>
<Link to={`/`}>Return Home</Link>
<Link to={`/`}>Zurück</Link>
</Button>
)}
</div>

View File

@@ -95,7 +95,7 @@ export default function WaitingForTurnToSignPage({ loaderData }: Route.Component
</Button>
) : (
<Button variant="link" asChild>
<Link to="/documents">Return Home</Link>
<Link to="/documents">Zurück</Link>
</Button>
)}
</div>

View File

@@ -3,7 +3,7 @@ import { Link } from 'react-router';
import { Button } from '@documenso/ui/primitives/button';
const SUPPORT_EMAIL = 'support@documenso.com';
const SUPPORT_EMAIL = 'hello@bls-media.de';
export default function SignatureDisclosure() {
return (

View File

@@ -6,15 +6,15 @@ import type { Route } from './+types/share.$slug';
export function meta({ params: { slug } }: Route.MetaArgs) {
return [
{ title: 'Documenso - Share' },
{ description: 'I just signed a document in style with Documenso!' },
{ title: 'BLS sign - Share' },
{ description: 'I just signed a document in style with BLS sign!' },
{
property: 'og:title',
content: 'Documenso - Join the open source signing revolution',
content: 'BLS sign - Join the open source signing revolution',
},
{
property: 'og:description',
content: 'I just signed with Documenso!',
content: 'I just signed with BLS sign!',
},
{
property: 'og:type',
@@ -38,7 +38,7 @@ export function meta({ params: { slug } }: Route.MetaArgs) {
},
{
name: 'twitter:description',
content: 'I just signed with Documenso!',
content: 'I just signed with BLS sign!',
},
];
}
@@ -50,8 +50,8 @@ export const loader = ({ request }: Route.LoaderArgs) => {
return null;
}
// Is hardcoded because this whole meta is hardcoded anyway for Documenso.
throw redirect('https://documenso.com');
// Is hardcoded because this whole meta is hardcoded anyway for BLS sign.
throw redirect('https://bls.media/');
};
export default function SharePage() {

View File

@@ -2,11 +2,11 @@ import { NEXT_PUBLIC_WEBAPP_URL } from '@documenso/lib/constants/app';
export const appMetaTags = (title?: string) => {
const description =
'Join Documenso, the open signing infrastructure, and get a 10x better signing experience. Pricing starts at $30/mo. forever! Sign in now and enjoy a faster, smarter, and more beautiful document signing process. Integrates with your favorite tools, customizable, and expandable. Support our mission and become a part of our open-source community.';
'Join BLS sign, the open signing infrastructure, and get a 10x better signing experience. Pricing starts at $30/mo. forever! Sign in now and enjoy a faster, smarter, and more beautiful document signing process. Integrates with your favorite tools, customizable, and expandable. Support our mission and become a part of our open-source community.';
return [
{
title: title ? `${title} - Documenso` : 'Documenso',
title: title ? `${title} - BLS sign` : 'BLS sign',
},
{
name: 'description',
@@ -15,7 +15,7 @@ export const appMetaTags = (title?: string) => {
{
name: 'keywords',
content:
'Documenso, open source, DocuSign alternative, document signing, open signing infrastructure, open-source community, fast signing, beautiful signing, smart templates',
'BLS sign, open source, DocuSign alternative, document signing, open signing infrastructure, open-source community, fast signing, beautiful signing, smart templates',
},
{
name: 'author',
@@ -27,7 +27,7 @@ export const appMetaTags = (title?: string) => {
},
{
property: 'og:title',
content: 'Documenso - The Open Source DocuSign Alternative',
content: 'BLS sign',
},
{
property: 'og:description',

View File

@@ -2,6 +2,6 @@
Contact: https://github.com/documenso/documenso/issues/new?assignees=&labels=bug&projects=&template=bug-report.yml
# Report critical issues privately to let us take appropriate action before publishing.
Contact: mailto:security@documenso.com
Contact: mailto:security@sign.bls.media
Preferred-Languages: en
Canonical: https://documenso.com/.well-known/security.txt

View File

@@ -1,6 +1,6 @@
{
"name": "Documenso",
"short_name": "Documenso",
"name": "BLS sign",
"short_name": "BLS sign",
"icons": [
{
"src": "/android-chrome-192x192.png",
@@ -13,7 +13,7 @@
"type": "image/png"
}
],
"theme_color": "#A2E771",
"background_color": "#FFFFFF",
//"theme_color": "#A2E771",
"background_color": "#F8F8F8",
"display": "standalone"
}

View File

@@ -9,9 +9,9 @@ export const OpenAPIV1 = Object.assign(
ApiContractV1,
{
info: {
title: 'Documenso API',
title: 'BLS sign API',
version: '1.0.0',
description: 'The Documenso API for retrieving, creating, updating and deleting documents.',
description: 'The BLS sign API for retrieving, creating, updating and deleting documents.',
},
servers: [
{

View File

@@ -16,7 +16,7 @@ test('[DOCUMENT_AUTH]: should grant access when not required', async ({ page })
const document = await seedPendingDocument(user, [
recipientWithAccount,
'recipientwithoutaccount@documenso.com',
'recipientwithoutaccount@sign.bls.media',
]);
const recipients = await prisma.recipient.findMany({
@@ -40,7 +40,7 @@ test('[DOCUMENT_AUTH]: should allow or deny access when required', async ({ page
const document = await seedPendingDocument(
user,
[recipientWithAccount, 'recipientwithoutaccount@documenso.com'],
[recipientWithAccount, 'recipientwithoutaccount@sign.bls.media'],
{
createDocumentOptions: {
authOptions: createDocumentAuthOptions({

View File

@@ -39,11 +39,11 @@ test.describe('[EE_ONLY]', () => {
await expect(page.getByRole('heading', { name: 'Add Signers' })).toBeVisible();
// Add 2 signers.
await page.getByPlaceholder('Email').fill('recipient1@documenso.com');
await page.getByPlaceholder('Email').fill('recipient1@sign.bls.media');
await page.getByPlaceholder('Name').fill('Recipient 1');
await page.getByRole('button', { name: 'Add Signer' }).click();
await page.getByLabel('Email').nth(1).fill('recipient2@documenso.com');
await page.getByLabel('Email').nth(1).fill('recipient2@sign.bls.media');
await page.getByLabel('Name').nth(1).fill('Recipient 2');
// Display advanced settings.
@@ -74,12 +74,12 @@ test('[DOCUMENT_FLOW]: add signers', async ({ page }) => {
await expect(page.getByRole('heading', { name: 'Add Signers' })).toBeVisible();
// Add 2 signers.
await page.getByPlaceholder('Email').fill('recipient1@documenso.com');
await page.getByPlaceholder('Email').fill('recipient1@sign.bls.media');
await page.getByPlaceholder('Name').fill('Recipient 1');
await page.getByRole('button', { name: 'Add Signer' }).click();
await page.getByLabel('Email').nth(1).fill('recipient2@documenso.com');
await page.getByLabel('Email').nth(1).fill('recipient2@sign.bls.media');
await page.getByLabel('Name').nth(1).fill('Recipient 2');
// Advanced settings should not be visible for non EE users.

View File

@@ -343,14 +343,14 @@ test('[DOCUMENT_FLOW]: should be able to approve a document', async ({ page }) =
const { recipients } = await seedPendingDocumentWithFullFields({
owner: user,
recipients: ['user@documenso.com', 'approver@documenso.com'],
recipients: ['user@sign.bls.media', 'approver@sign.bls.media'],
recipientsCreateOptions: [
{
email: 'user@documenso.com',
email: 'user@sign.bls.media',
role: RecipientRole.SIGNER,
},
{
email: 'approver@documenso.com',
email: 'approver@sign.bls.media',
role: RecipientRole.APPROVER,
},
],

View File

@@ -15,7 +15,7 @@ type LoginOptions = {
export const apiSignin = async ({
page,
email = 'example@documenso.com',
email = 'example@sign.bls.media',
password = 'password',
redirectPath = '/documents',
}: LoginOptions) => {

View File

@@ -39,10 +39,10 @@ test.describe('[EE_ONLY]', () => {
await expect(page.getByRole('heading', { name: 'Add Placeholder' })).toBeVisible();
// Add 2 signers.
await page.getByPlaceholder('Email').fill('recipient1@documenso.com');
await page.getByPlaceholder('Email').fill('recipient1@sign.bls.media');
await page.getByPlaceholder('Name').fill('Recipient 1');
await page.getByRole('button', { name: 'Add Placeholder Recipient' }).click();
await page.getByPlaceholder('Email').nth(1).fill('recipient2@documenso.com');
await page.getByPlaceholder('Email').nth(1).fill('recipient2@sign.bls.media');
await page.getByPlaceholder('Name').nth(1).fill('Recipient 2');
// Display advanced settings.
@@ -89,10 +89,10 @@ test('[TEMPLATE_FLOW]: add placeholder', async ({ page }) => {
await expect(page.getByRole('heading', { name: 'Add Placeholder' })).toBeVisible();
// Add 2 signers.
await page.getByPlaceholder('Email').fill('recipient1@documenso.com');
await page.getByPlaceholder('Email').fill('recipient1@sign.bls.media');
await page.getByPlaceholder('Name').fill('Recipient 1');
await page.getByRole('button', { name: 'Add Placeholder Recipient' }).click();
await page.getByPlaceholder('Email').nth(1).fill('recipient2@documenso.com');
await page.getByPlaceholder('Email').nth(1).fill('recipient2@sign.bls.media');
await page.getByPlaceholder('Name').nth(1).fill('Recipient 2');
// Advanced settings should not be visible for non EE users.

View File

@@ -91,10 +91,10 @@ test('[TEMPLATE]: should create a document from a template', async ({ page }) =>
await expect(page.getByRole('heading', { name: 'Add Placeholder' })).toBeVisible();
// Add 2 signers.
await page.getByPlaceholder('Email').fill('recipient1@documenso.com');
await page.getByPlaceholder('Email').fill('recipient1@sign.bls.media');
await page.getByPlaceholder('Name').fill('Recipient 1');
await page.getByRole('button', { name: 'Add Placeholder Recipient' }).click();
await page.getByPlaceholder('Email').nth(1).fill('recipient2@documenso.com');
await page.getByPlaceholder('Email').nth(1).fill('recipient2@sign.bls.media');
await page.getByPlaceholder('Name').nth(1).fill('Recipient 2');
// Apply require passkey for Recipient 1.
@@ -226,10 +226,10 @@ test('[TEMPLATE]: should create a team document from a team template', async ({
await expect(page.getByRole('heading', { name: 'Add Placeholder' })).toBeVisible();
// Add 2 signers.
await page.getByPlaceholder('Email').fill('recipient1@documenso.com');
await page.getByPlaceholder('Email').fill('recipient1@sign.bls.media');
await page.getByPlaceholder('Name').fill('Recipient 1');
await page.getByRole('button', { name: 'Add Placeholder Recipient' }).click();
await page.getByPlaceholder('Email').nth(1).fill('recipient2@documenso.com');
await page.getByPlaceholder('Email').nth(1).fill('recipient2@sign.bls.media');
await page.getByPlaceholder('Name').nth(1).fill('Recipient 2');
// Apply require passkey for Recipient 1.
@@ -330,7 +330,7 @@ test('[TEMPLATE]: should create a document from a template with custom document'
await expect(page.getByRole('heading', { name: 'Add Placeholder' })).toBeVisible();
// Add a signer
await page.getByPlaceholder('Email').fill('recipient@documenso.com');
await page.getByPlaceholder('Email').fill('recipient@sign.bls.media');
await page.getByPlaceholder('Name').fill('Recipient');
await page.getByRole('button', { name: 'Continue' }).click();
@@ -411,7 +411,7 @@ test('[TEMPLATE]: should create a team document from a template with custom docu
await expect(page.getByRole('heading', { name: 'Add Placeholder' })).toBeVisible();
// Add a signer
await page.getByPlaceholder('Email').fill('recipient@documenso.com');
await page.getByPlaceholder('Email').fill('recipient@sign.bls.media');
await page.getByPlaceholder('Name').fill('Recipient');
await page.getByRole('button', { name: 'Continue' }).click();
@@ -481,7 +481,7 @@ test('[TEMPLATE]: should create a document from a template using template docume
await expect(page.getByRole('heading', { name: 'Add Placeholder' })).toBeVisible();
// Add a signer
await page.getByPlaceholder('Email').fill('recipient@documenso.com');
await page.getByPlaceholder('Email').fill('recipient@sign.bls.media');
await page.getByPlaceholder('Name').fill('Recipient');
await page.getByRole('button', { name: 'Continue' }).click();
@@ -561,7 +561,7 @@ test('[TEMPLATE]: should persist document visibility when creating from template
await expect(page.getByRole('heading', { name: 'Add Placeholder' })).toBeVisible();
// Add a signer
await page.getByPlaceholder('Email').fill('recipient@documenso.com');
await page.getByPlaceholder('Email').fill('recipient@sign.bls.media');
await page.getByPlaceholder('Name').fill('Recipient');
await page.getByRole('button', { name: 'Continue' }).click();

View File

@@ -225,7 +225,7 @@ test('[DIRECT_TEMPLATES]: use direct template link with 1 recipient', async ({ p
await page.goto(formatDirectTemplatePath(template.directLink?.token || ''));
await expect(page.getByRole('heading', { name: 'General' })).toBeVisible();
await page.getByPlaceholder('recipient@documenso.com').fill(seedTestEmail());
await page.getByPlaceholder('recipient@sign.bls.media').fill(seedTestEmail());
await page.getByRole('button', { name: 'Continue' }).click();
await page.getByRole('button', { name: 'Complete' }).click();
@@ -299,7 +299,7 @@ test('[DIRECT_TEMPLATES]: use direct template link with 2 recipients', async ({
await expect(page.getByRole('heading', { name: 'General' })).toBeVisible();
await page.waitForTimeout(1000);
await page.getByPlaceholder('recipient@documenso.com').fill(seedTestEmail());
await page.getByPlaceholder('recipient@sign.bls.media').fill(seedTestEmail());
await page.getByRole('button', { name: 'Continue' }).click();
await page.getByRole('button', { name: 'Complete' }).click();

View File

@@ -184,8 +184,8 @@ test('[TEMPLATES]: use template', async ({ page }) => {
await page.getByRole('button', { name: 'Use Template' }).click();
// Enter template values.
await page.getByPlaceholder('recipient.1@documenso.com').click();
await page.getByPlaceholder('recipient.1@documenso.com').fill(teamMemberUser.email);
await page.getByPlaceholder('recipient.1@sign.bls.media').click();
await page.getByPlaceholder('recipient.1@sign.bls.media').fill(teamMemberUser.email);
await page.getByPlaceholder('Recipient 1').click();
await page.getByPlaceholder('Recipient 1').fill('name');
@@ -202,8 +202,8 @@ test('[TEMPLATES]: use template', async ({ page }) => {
await page.getByRole('button', { name: 'Use Template' }).click();
// Enter template values.
await page.getByPlaceholder('recipient.1@documenso.com').click();
await page.getByPlaceholder('recipient.1@documenso.com').fill(teamMemberUser.email);
await page.getByPlaceholder('recipient.1@sign.bls.media').click();
await page.getByPlaceholder('recipient.1@sign.bls.media').fill(teamMemberUser.email);
await page.getByPlaceholder('Recipient 1').click();
await page.getByPlaceholder('Recipient 1').fill('name');

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,6 @@
{
"name": "Documenso",
"short_name": "Documenso",
"name": "BLS sign",
"short_name": "BLS sign",
"icons": [
{
"src": "/android-chrome-192x192.png",
@@ -13,7 +13,7 @@
"type": "image/png"
}
],
"theme_color": "#A2E771",
"background_color": "#FFFFFF",
//"theme_color": "#A2E771",
"background_color": "#F8F8F8",
"display": "standalone"
}

View File

@@ -27,7 +27,7 @@ export const TemplateDocumentCompleted = ({
<Section>
<Section className="mb-4">
<Column align="center">
<Text className="text-base font-semibold text-[#7AC455]">
<Text className="text-base font-semibold text-[#FF6B3D]">
<Img
src={getAssetUrl('/static/completed.png')}
className="-mt-0.5 mr-2 inline h-7 w-7 align-middle"

View File

@@ -16,7 +16,7 @@ export const TemplateDocumentImage = ({ assetBaseUrl, className }: TemplateDocum
<Column />
<Column>
<Img className="h-42 mx-auto" src={getAssetUrl('/static/document.png')} alt="Documenso" />
<Img className="h-42 mx-auto" src={getAssetUrl('/static/document.png')} alt="BLS sign" />
</Column>
<Column />

View File

@@ -29,7 +29,7 @@ export const TemplateDocumentRecipientSigned = ({
<Section>
<Section className="mb-4">
<Column align="center">
<Text className="text-base font-semibold text-[#7AC455]">
<Text className="text-base font-semibold text-[#FF6B3D]">
<Img
src={getAssetUrl('/static/completed.png')}
className="-mt-0.5 mr-2 inline h-7 w-7 align-middle"

View File

@@ -29,7 +29,7 @@ export const TemplateDocumentSelfSigned = ({
<Section className="flex-row items-center justify-center">
<Section>
<Column align="center">
<Text className="text-base font-semibold text-[#7AC455]">
<Text className="text-base font-semibold text-[#FF6B3D]">
<Img
src={getAssetUrl('/static/completed.png')}
className="-mt-0.5 mr-2 inline h-7 w-7 align-middle"

View File

@@ -16,8 +16,8 @@ export const TemplateFooter = ({ isDocument = true }: TemplateFooterProps) => {
<Text className="my-4 text-base text-slate-400">
<Trans>
This document was sent using{' '}
<Link className="text-[#7AC455]" href="https://documen.so/mail-footer">
Documenso.
<Link className="text-[#FF6B3D]" href="https://bls.media/sign/">
BLS sign.
</Link>
</Trans>
</Text>
@@ -36,9 +36,7 @@ export const TemplateFooter = ({ isDocument = true }: TemplateFooterProps) => {
</Text>
) : (
<Text className="my-8 text-sm text-slate-400">
Documenso, Inc.
<br />
2261 Market Street, #5211, San Francisco, CA 94114, USA
Made by BLS media
</Text>
)}
</Section>

View File

@@ -33,7 +33,7 @@ export const ConfirmEmailTemplate = ({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -11,7 +11,7 @@ export type DocumentCancelEmailTemplateProps = Partial<TemplateDocumentCancelPro
export const DocumentCancelTemplate = ({
inviterName = 'Lucas Smith',
inviterEmail = 'lucas@documenso.com',
inviterEmail = 'lucas@sign.bls.media',
documentName = 'Open Source Pledge.pdf',
assetBaseUrl = 'http://localhost:3002',
cancellationReason,
@@ -39,7 +39,7 @@ export const DocumentCancelTemplate = ({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -40,7 +40,7 @@ export const DocumentCompletedEmailTemplate = ({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -50,7 +50,7 @@ export const DocumentCreatedFromDirectTemplateEmailTemplate = ({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -23,7 +23,7 @@ export type DocumentInviteEmailTemplateProps = Partial<TemplateDocumentInvitePro
export const DocumentInviteEmailTemplate = ({
inviterName = 'Lucas Smith',
inviterEmail = 'lucas@documenso.com',
inviterEmail = 'lucas@sign.bls.media',
documentName = 'Open Source Pledge.pdf',
signDocumentLink = 'https://documenso.com',
assetBaseUrl = 'http://localhost:3002',
@@ -69,7 +69,7 @@ export const DocumentInviteEmailTemplate = ({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -36,7 +36,7 @@ export const DocumentPendingEmailTemplate = ({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -16,7 +16,7 @@ export interface DocumentRecipientSignedEmailTemplateProps {
export const DocumentRecipientSignedEmailTemplate = ({
documentName = 'Open Source Pledge.pdf',
recipientName = 'John Doe',
recipientEmail = 'lucas@documenso.com',
recipientEmail = 'lucas@sign.bls.media',
assetBaseUrl = 'http://localhost:3002',
}: DocumentRecipientSignedEmailTemplateProps) => {
const { _ } = useLingui();
@@ -44,7 +44,7 @@ export const DocumentRecipientSignedEmailTemplate = ({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -44,7 +44,7 @@ export function DocumentRejectedEmail({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -44,7 +44,7 @@ export function DocumentRejectionConfirmedEmail({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -36,7 +36,7 @@ export const DocumentSelfSignedEmailTemplate = ({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -39,7 +39,7 @@ export const DocumentSuperDeleteEmailTemplate = ({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -36,7 +36,7 @@ export const ForgotPasswordTemplate = ({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -38,7 +38,7 @@ export const RecipientRemovedFromDocumentTemplate = ({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}

View File

@@ -12,7 +12,7 @@ export type ResetPasswordTemplateProps = Partial<TemplateResetPasswordProps>;
export const ResetPasswordTemplate = ({
userName = 'Lucas Smith',
userEmail = 'lucas@documenso.com',
userEmail = 'lucas@sign.bls.media',
assetBaseUrl = 'http://localhost:3002',
}: ResetPasswordTemplateProps) => {
const { _ } = useLingui();
@@ -38,7 +38,7 @@ export const ResetPasswordTemplate = ({
) : (
<Img
src={getAssetUrl('/static/logo.png')}
alt="Documenso Logo"
alt="BLS sign Logo"
className="mb-4 h-6"
/>
)}
@@ -72,7 +72,7 @@ export const ResetPasswordTemplate = ({
<Trans>
Didn't request a password change? We are here to help you secure your account,
just{' '}
<Link className="text-documenso-700 font-normal" href="mailto:hi@documenso.com">
<Link className="text-documenso-700 font-normal" href="mailto:hi@sign.bls.media">
contact us.
</Link>
</Trans>

View File

@@ -20,7 +20,7 @@ export type TeamEmailRemovedTemplateProps = {
export const TeamEmailRemovedTemplate = ({
assetBaseUrl = 'http://localhost:3002',
baseUrl = 'https://documenso.com',
teamEmail = 'example@documenso.com',
teamEmail = 'example@sign.bls.media',
teamName = 'Team Name',
teamUrl = 'demo',
}: TeamEmailRemovedTemplateProps) => {

View File

@@ -22,7 +22,7 @@ export const TeamJoinEmailTemplate = ({
assetBaseUrl = 'http://localhost:3002',
baseUrl = 'https://documenso.com',
memberName = 'John Doe',
memberEmail = 'johndoe@documenso.com',
memberEmail = 'johndoe@sign.bls.media',
teamName = 'Team Name',
teamUrl = 'demo',
}: TeamJoinEmailProps) => {

View File

@@ -22,7 +22,7 @@ export const TeamLeaveEmailTemplate = ({
assetBaseUrl = 'http://localhost:3002',
baseUrl = 'https://documenso.com',
memberName = 'John Doe',
memberEmail = 'johndoe@documenso.com',
memberEmail = 'johndoe@sign.bls.media',
teamName = 'Team Name',
teamUrl = 'demo',
}: TeamLeaveEmailProps) => {

View File

@@ -1,3 +1,3 @@
// Put into a separate file due to Playwright not compiling due to the macro in the templates.ts file.
export const DIRECT_TEMPLATE_RECIPIENT_EMAIL = 'direct.link@documenso.com';
export const DIRECT_TEMPLATE_RECIPIENT_EMAIL = 'direct.link@sign.bls.media';
export const DIRECT_TEMPLATE_RECIPIENT_NAME = 'Direct link recipient';

View File

@@ -1,9 +1,9 @@
import { env } from '../utils/env';
export const FROM_ADDRESS = env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@documenso.com';
export const FROM_ADDRESS = env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@sign.bls.media';
export const FROM_NAME = env('NEXT_PRIVATE_SMTP_FROM_NAME') || 'Documenso';
export const SERVICE_USER_EMAIL = 'serviceaccount@documenso.com';
export const SERVICE_USER_EMAIL = 'serviceaccount@sign.bls.media';
export const EMAIL_VERIFICATION_STATE = {
NOT_FOUND: 'NOT_FOUND',

View File

@@ -1,8 +1,9 @@
import { z } from 'zod';
export const SUPPORTED_LANGUAGE_CODES = ['de', 'en', 'fr', 'es', 'it', 'pl'] as const;
//export const SUPPORTED_LANGUAGE_CODES = ['de', 'de', 'fr', 'es', 'it', 'pl'] as const;
export const SUPPORTED_LANGUAGE_CODES = ['de'] as const; //Nur Deutsch wird angeboten
export const ZSupportedLanguageCodeSchema = z.enum(SUPPORTED_LANGUAGE_CODES).catch('en');
export const ZSupportedLanguageCodeSchema = z.enum(SUPPORTED_LANGUAGE_CODES).catch('de');
export type SupportedLanguageCodes = (typeof SUPPORTED_LANGUAGE_CODES)[number];
@@ -20,8 +21,8 @@ export type I18nLocaleData = {
export const APP_I18N_OPTIONS = {
supportedLangs: SUPPORTED_LANGUAGE_CODES,
sourceLang: 'en',
defaultLocale: 'en-US',
sourceLang: 'de',
defaultLocale: 'de-DE',
} as const;
type SupportedLanguage = {
@@ -31,30 +32,30 @@ type SupportedLanguage = {
export const SUPPORTED_LANGUAGES: Record<string, SupportedLanguage> = {
de: {
full: 'German',
full: 'Deutsch',
short: 'de',
},
en: {
full: 'English',
short: 'en',
},
fr: {
full: 'French',
short: 'fr',
},
es: {
full: 'Spanish',
short: 'es',
},
it: {
full: 'Italian',
short: 'it',
},
pl: {
short: 'pl',
full: 'Polish',
},
//en: {
// full: 'English',
// short: 'en',
//},
//fr: {
// full: 'French',
// short: 'fr',
//},
//es: {
// full: 'Spanish',
// short: 'es',
//},
//it: {
// full: 'Italian',
// short: 'it',
//},
//pl: {
// short: 'pl',
// full: 'Polish',
//},
} satisfies Record<SupportedLanguageCodes, SupportedLanguage>;
export const isValidLanguageCode = (code: unknown): code is SupportedLanguageCodes =>
SUPPORTED_LANGUAGE_CODES.includes(code as SupportedLanguageCodes);
SUPPORTED_LANGUAGE_CODES.includes(code as SupportedLanguageCodes);

View File

@@ -42,7 +42,7 @@ export const sendConfirmationEmail = async ({ userId }: SendConfirmationEmailPro
const assetBaseUrl = NEXT_PUBLIC_WEBAPP_URL() || 'http://localhost:3000';
const confirmationLink = `${assetBaseUrl}/verify-email/${verificationToken.token}`;
const senderName = NEXT_PRIVATE_SMTP_FROM_NAME || 'Documenso';
const senderAddress = NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@documenso.com';
const senderAddress = NEXT_PRIVATE_SMTP_FROM_ADDRESS || 'noreply@sign.bls.media';
const confirmationTemplate = createElement(ConfirmEmailTemplate, {
assetBaseUrl,

View File

@@ -57,7 +57,7 @@ export const sendForgotPassword = async ({ userId }: SendForgotPasswordOptions)
},
from: {
name: env('NEXT_PRIVATE_SMTP_FROM_NAME') || 'Documenso',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@documenso.com',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@sign.bls.media',
},
subject: i18n._(msg`Forgot Password?`),
html,

View File

@@ -39,7 +39,7 @@ export const sendResetPassword = async ({ userId }: SendResetPasswordOptions) =>
},
from: {
name: env('NEXT_PRIVATE_SMTP_FROM_NAME') || 'Documenso',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@documenso.com',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@sign.bls.media',
},
subject: 'Password Reset Success!',
html,

View File

@@ -115,7 +115,7 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
],
from: {
name: env('NEXT_PRIVATE_SMTP_FROM_NAME') || 'Documenso',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@documenso.com',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@sign.bls.media',
},
subject: i18n._(msg`Signing Complete!`),
html,
@@ -192,7 +192,7 @@ export const sendCompletedEmail = async ({ documentId, requestMetadata }: SendDo
],
from: {
name: env('NEXT_PRIVATE_SMTP_FROM_NAME') || 'Documenso',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@documenso.com',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@sign.bls.media',
},
subject:
isDirectTemplate && document.documentMeta?.subject

View File

@@ -81,7 +81,7 @@ export const sendDeleteEmail = async ({ documentId, reason }: SendDeleteEmailOpt
},
from: {
name: env('NEXT_PRIVATE_SMTP_FROM_NAME') || 'Documenso',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@documenso.com',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@sign.bls.media',
},
subject: i18n._(msg`Document Deleted!`),
html,

View File

@@ -92,7 +92,7 @@ export const sendPendingEmail = async ({ documentId, recipientId }: SendPendingE
},
from: {
name: env('NEXT_PRIVATE_SMTP_FROM_NAME') || 'Documenso',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@documenso.com',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@sign.bls.media',
},
subject: i18n._(msg`Waiting for others to complete signing.`),
html,

View File

@@ -42,7 +42,7 @@ export const getCertificatePdf = async ({ documentId, language }: GetCertificate
const page = await browserContext.newPage();
const lang = isValidLanguageCode(language) ? language : 'en';
const lang = isValidLanguageCode(language) ? language : 'de';
await page.context().addCookies([
{

View File

@@ -604,8 +604,8 @@ export const createDocumentFromDirectTemplate = async ({
},
],
from: {
name: env('NEXT_PRIVATE_SMTP_FROM_NAME') || 'Documenso',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@documenso.com',
name: env('NEXT_PRIVATE_SMTP_FROM_NAME') || 'BLS sign',
address: env('NEXT_PRIVATE_SMTP_FROM_ADDRESS') || 'noreply@sign.bls.media',
},
subject: i18n._(msg`Document created from direct template`),
html,

View File

@@ -3,7 +3,7 @@ import { prisma } from '@documenso/prisma';
export const deletedAccountServiceAccount = async () => {
const serviceAccount = await prisma.user.findFirst({
where: {
email: 'deleted-account@documenso.com',
email: 'deleted-account@sign.bls.media',
},
});

File diff suppressed because it is too large Load Diff

View File

@@ -5669,7 +5669,7 @@ msgstr "This document was created using a direct link."
#: packages/email/template-components/template-footer.tsx
msgid "This document was sent using <0>Documenso.</0>"
msgstr "This document was sent using <0>Documenso.</0>"
msgstr "This document was sent using <0>BLS sign.</0>"
#: packages/email/template-components/template-document-rejection-confirmed.tsx
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."

View File

@@ -5672,7 +5672,7 @@ msgstr "Este documento fue creado usando un enlace directo."
#: packages/email/template-components/template-footer.tsx
msgid "This document was sent using <0>Documenso.</0>"
msgstr "Este documento fue enviado usando <0>Documenso.</0>"
msgstr "Este documento fue enviado usando <0>BLS sign.</0>"
#: packages/email/template-components/template-document-rejection-confirmed.tsx
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."

View File

@@ -5672,7 +5672,7 @@ msgstr "Ce document a été créé en utilisant un lien direct."
#: packages/email/template-components/template-footer.tsx
msgid "This document was sent using <0>Documenso.</0>"
msgstr "Ce document a été envoyé via <0>Documenso.</0>"
msgstr "Ce document a été envoyé via <0>BLS sign.</0>"
#: packages/email/template-components/template-document-rejection-confirmed.tsx
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."

View File

@@ -5672,7 +5672,7 @@ msgstr "Questo documento è stato creato utilizzando un link diretto."
#: packages/email/template-components/template-footer.tsx
msgid "This document was sent using <0>Documenso.</0>"
msgstr "Questo documento è stato inviato utilizzando <0>Documenso.</0>"
msgstr "Questo documento è stato inviato utilizzando <0>BLS sign.</0>"
#: packages/email/template-components/template-document-rejection-confirmed.tsx
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."

View File

@@ -5672,7 +5672,7 @@ msgstr "Ten dokument został stworzony przy użyciu bezpośredniego linku."
#: packages/email/template-components/template-footer.tsx
msgid "This document was sent using <0>Documenso.</0>"
msgstr "Ten dokument został wysłany za pomocą <0>Documenso.</0>"
msgstr "Ten dokument został wysłany za pomocą <0>BLS sign.</0>"
#: packages/email/template-components/template-document-rejection-confirmed.tsx
msgid "This email confirms that you have rejected the document <0>\"{documentName}\"</0> sent by {documentOwnerName}."

View File

@@ -19,7 +19,7 @@ export const formatDirectTemplatePath = (token: string) => {
export const generateRecipientPlaceholder = (index: number) => {
return {
name: `Recipient ${index}`,
email: `recipient.${index}@documenso.com`,
email: `recipient.${index}@sign.bls.media`,
};
};

View File

@@ -1,4 +1,4 @@
INSERT INTO "User" ("email", "name") VALUES (
'serviceaccount@documenso.com',
'serviceaccount@sign.bls.media',
'Service Account'
) ON CONFLICT DO NOTHING;

View File

@@ -1,7 +1,7 @@
-- Create deleted@documenso.com
-- Create deleted@sign.bls.media
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM "public"."User" WHERE "email" = 'deleted-account@documenso.com') THEN
IF NOT EXISTS (SELECT 1 FROM "public"."User" WHERE "email" = 'deleted-account@sign.bls.media') THEN
INSERT INTO
"public"."User" (
"email",
@@ -16,7 +16,7 @@ BEGIN
)
VALUES
(
'deleted-account@documenso.com',
'deleted-account@sign.bls.media',
NOW(),
NULL,
NOW(),

View File

@@ -1,5 +1,5 @@
-- AlterTable
ALTER TABLE "DocumentMeta" ADD COLUMN "language" TEXT NOT NULL DEFAULT 'en';
ALTER TABLE "DocumentMeta" ADD COLUMN "language" TEXT NOT NULL DEFAULT 'de';
-- AlterTable
ALTER TABLE "TemplateMeta" ADD COLUMN "language" TEXT NOT NULL DEFAULT 'en';
ALTER TABLE "TemplateMeta" ADD COLUMN "language" TEXT NOT NULL DEFAULT 'de';

View File

@@ -1,2 +1,2 @@
-- AlterTable
ALTER TABLE "TeamGlobalSettings" ADD COLUMN "documentLanguage" TEXT NOT NULL DEFAULT 'en';
ALTER TABLE "TeamGlobalSettings" ADD COLUMN "documentLanguage" TEXT NOT NULL DEFAULT 'de';

View File

@@ -25,11 +25,11 @@ export const seedDatabase = async () => {
const exampleUser = await prisma.user.upsert({
where: {
email: 'example@documenso.com',
email: 'example@sign.bls.media',
},
create: {
name: 'Example User',
email: 'example@documenso.com',
email: 'example@sign.bls.media',
emailVerified: new Date(),
password: hashSync('password'),
roles: [Role.USER],
@@ -39,11 +39,11 @@ export const seedDatabase = async () => {
const adminUser = await prisma.user.upsert({
where: {
email: 'admin@documenso.com',
email: 'admin@sign.bls.media',
},
create: {
name: 'Admin User',
email: 'admin@documenso.com',
email: 'admin@sign.bls.media',
emailVerified: new Date(),
password: hashSync('password'),
roles: [Role.USER, Role.ADMIN],
@@ -126,10 +126,10 @@ export const seedDatabase = async () => {
]);
const testUsers = [
'test@documenso.com',
'test2@documenso.com',
'test3@documenso.com',
'test4@documenso.com',
'test@sign.bls.media',
'test2@sign.bls.media',
'test3@sign.bls.media',
'test4@sign.bls.media',
];
const createdUsers = [];

View File

@@ -73,7 +73,7 @@ export const seedTemplate = async (options: SeedTemplateOptions) => {
},
recipients: {
create: {
email: 'recipient.1@documenso.com',
email: 'recipient.1@sign.bls.media',
name: 'Recipient 1',
token: Math.random().toString().slice(2, 7),
sendStatus: SendStatus.NOT_SENT,

View File

@@ -33,7 +33,7 @@ export const addSigningPlaceholder = async ({ pdf }: AddSigningPlaceholderOption
SubFilter: 'adbe.pkcs7.detached',
ByteRange: byteRange,
Contents: PDFHexString.fromText(' '.repeat(8192)),
Reason: PDFString.of('Signed by Documenso'),
Reason: PDFString.of('Signed by BLS sign'),
M: PDFString.fromDate(new Date()),
}),
);

View File

@@ -11,7 +11,7 @@ describe('updateSigningPlaceholder', () => {
/SubFilter /adbe.pkcs7.detached
/ByteRange [ 0 /********** /********** /********** ]
/Contents <0000000000000000000000000000000000000000000000000000000>
/Reason (Signed by Documenso)
/Reason (Signed by BLS sign)
/M (D:20210101000000Z)
>>
endobj
@@ -48,7 +48,7 @@ describe('updateSigningPlaceholder', () => {
/SubFilter /adbe.pkcs7.detached
/ByteRange [ 0 /********** /********** /********** ]
/Contents <0000000000000000000000000000000000000000000000000000000>
/Reason (Signed by Documenso)
/Reason (Signed by BLS sign)
/M (D:20210101000000Z)
>>
endobj
@@ -59,7 +59,7 @@ describe('updateSigningPlaceholder', () => {
/SubFilter /adbe.pkcs7.detached
/ByteRange [ 0 /********** /********** /********** ]
/Contents <0000000000000000000000000000000000000000000000000000000>
/Reason (Signed by Documenso)
/Reason (Signed by BLS sign)
/M (D:20210101000000Z)
>>
endobj

View File

@@ -66,18 +66,18 @@ module.exports = {
foreground: 'hsl(var(--widget-foreground))',
},
documenso: {
DEFAULT: '#A2E771',
50: '#FFFFFF',
100: '#FDFFFD',
200: '#E7F9DA',
300: '#D0F3B7',
400: '#B9ED94',
500: '#A2E771',
600: '#83DF41',
700: '#66C622',
800: '#4D9619',
900: '#356611',
950: '#284E0D',
DEFAULT: '#FF6A3D',
50: '#FFEBE5',
100: '#FFD8CC',
200: '#FFB199',
300: '#FF8A66',
400: '#FF764D',
500: '#FF6A3D',
600: '#F35120',
700: '#D03D11',
800: '#A53512',
900: '#7D2B12',
950: '#4E1D0E',
},
dawn: {
DEFAULT: '#aaa89f',

Some files were not shown because too many files have changed in this diff Show More