package content

// Issuer details are intentionally centralized to avoid document text drift.
const (
	IssuerLegalName    = "SMX Operations Limited"
	IssuerLegalAddress = "Room 607, 12/F., Block C, Hong Kong Industrial Centre, 489-491 Castle Peak Road, Lai Chi Kok, HongKong"
	IssuerEmail        = "contact@sendico.io"
)

const (
	PDFTitleActOfAcceptance     = "Act of Acceptance"
	DocumentIntegrityHashPrefix = "Document integrity hash: "
)

// AcceptanceTemplateContent contains all static copy used by the acceptance act template.
type AcceptanceTemplateContent struct {
	Title                    string
	Subtitle                 string
	MetaDateLabel            string
	MetaActNumberLabel       string
	SectionParties           string
	PartiesIntro             string
	PartyExecutorLabel       string
	PartyStatusLabel         string
	PartyStatusValue         string
	SectionBasis             string
	BasisLine1               string
	BasisLine2               string
	SectionServicesRendered  string
	ServicesRenderedLine1    string
	ServicesRenderedLine2    string
	SectionRemuneration      string
	RemunerationHeaderDesc   string
	RemunerationHeaderAmount string
	RemunerationServicesDesc string
	SectionConfirmation      string
	ConfirmationLine1        string
	ConfirmationLine2        string
	ConfirmationPaymentLine1 string
	ConfirmationPaymentLine2 string
	SectionSignatures        string
	SignatureCustomerLine    string
	SignatureExecutorLine    string
}

var AcceptanceTemplate = AcceptanceTemplateContent{
	Title:                    "ACT OF ACCEPTANCE OF SERVICES",
	Subtitle:                 "under the Public Offer Agreement",
	MetaDateLabel:            "Date",
	MetaActNumberLabel:       "Act No",
	SectionParties:           "PARTIES",
	PartiesIntro:             "This Act is made between the following Parties.",
	PartyExecutorLabel:       "Executor",
	PartyStatusLabel:         "Status",
	PartyStatusValue:         "Individual",
	SectionBasis:             "BASIS",
	BasisLine1:               "This Act is issued pursuant to the Public Offer Agreement",
	BasisLine2:               "accepted by the Executor by joining the offer.",
	SectionServicesRendered:  "SERVICES RENDERED",
	ServicesRenderedLine1:    "The Executor has rendered services to the Customer",
	ServicesRenderedLine2:    "in accordance with the terms of the Public Offer Agreement.",
	SectionRemuneration:      "REMUNERATION",
	RemunerationHeaderDesc:   "Description",
	RemunerationHeaderAmount: "Amount",
	RemunerationServicesDesc: "Services rendered under the Public Offer Agreement",
	SectionConfirmation:      "CONFIRMATION",
	ConfirmationLine1:        "The Customer confirms that the services were rendered properly",
	ConfirmationLine2:        "and accepted without any claims.",
	ConfirmationPaymentLine1: "The remuneration for the services was paid to the Executor",
	ConfirmationPaymentLine2: "using the bank card details provided by the Executor.",
	SectionSignatures:        "SIGNATURES",
	SignatureCustomerLine:    "Customer ___________________________",
	SignatureExecutorLine:    "Executor ___________________________",
}

// OperationDocumentContent contains all static copy for operation documents.
type OperationDocumentContent struct {
	Title                        string
	Subtitle                     string
	MetaCertificateNumberLabel   string
	MetaDateLabel                string
	SectionParties               string
	PartiesIntro                 string
	RowServiceProvider           string
	RowServiceProviderAddress    string
	RowServiceProviderEmail      string
	RowClient                    string
	RowClientAddress             string
	RowClientReference           string
	SectionSubject               string
	SubjectIntro                 string
	SectionServicePeriod         string
	RowPeriodFrom                string
	RowPeriodTo                  string
	SectionTotalAmount           string
	RowTotalAmount               string
	SectionClientConfirmation    string
	ConfirmationLine1            string
	ConfirmationLine2            string
	ConfirmationLine3            string
	SectionSignatures            string
	SignatureServiceProviderLine string
	SignatureClientNamePrefix    string
	SignatureClientTitleLine     string
	SignatureClientLine          string
	SectionOperationStatus       string
	RowOperationStatus           string
	RowOperationCode             string
	RowOperationLabel            string
	RowFailureCode               string
	RowFailureReason             string
	MissingValuePlaceholder      string
}

var OperationDocument = OperationDocumentContent{
	Title:                        "CERTIFICATE OF SERVICES RENDERED",
	Subtitle:                     "Payment operation completion and acceptance statement",
	MetaCertificateNumberLabel:   "Certificate No.",
	MetaDateLabel:                "Date",
	SectionParties:               "PARTIES",
	PartiesIntro:                 "This Certificate is made between:",
	RowServiceProvider:           "Service Provider",
	RowServiceProviderAddress:    "Service Provider Address",
	RowServiceProviderEmail:      "Service Provider Email",
	RowClient:                    "Client",
	RowClientAddress:             "Client Address",
	RowClientReference:           "Client Reference",
	SectionSubject:               "SUBJECT OF THE CERTIFICATE",
	SubjectIntro:                 "The Service Provider confirms that the following services have been fully rendered to the Client:",
	SectionServicePeriod:         "SERVICE PERIOD",
	RowPeriodFrom:                "From",
	RowPeriodTo:                  "To",
	SectionTotalAmount:           "TOTAL AMOUNT",
	RowTotalAmount:               "Amount",
	SectionClientConfirmation:    "CLIENT CONFIRMATION",
	ConfirmationLine1:            "- the services were rendered in full;",
	ConfirmationLine2:            "- the services were rendered properly and within the agreed scope;",
	ConfirmationLine3:            "- the Client has no claims regarding the quality, quantity, or timing of the services rendered.",
	SectionSignatures:            "SIGNATURES",
	SignatureServiceProviderLine: "Service Provider: Name: SMX Operations Limited | Signature: __________________",
	SignatureClientNamePrefix:    "Client: Name:",
	SignatureClientTitleLine:     "Title: Authorized Representative",
	SignatureClientLine:          "Signature: __________________",
	SectionOperationStatus:       "OPERATION STATUS",
	RowOperationStatus:           "Operation Status",
	RowOperationCode:             "Operation Code",
	RowOperationLabel:            "Operation Label",
	RowFailureCode:               "Failure Code",
	RowFailureReason:             "Failure Reason",
	MissingValuePlaceholder:      "n/a",
}
