Skip to content

Commit fbdf8d5

Browse files
author
FalkWolsky
committed
Full Support and introducing a translation management script.
1 parent b20ed56 commit fbdf8d5

File tree

1,453 files changed

+1146794
-67
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,453 files changed

+1146794
-67
lines changed

client/packages/lowcoder/src/api/supportApi.ts

+25-11
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
import Api from "api/api";
22
import axios, { AxiosInstance, AxiosRequestConfig } from "axios";
3-
import { useSelector } from "react-redux";
4-
import { getUser, getCurrentUser } from "redux/selectors/usersSelectors";
5-
import { useEffect, useState } from "react";
63
import { calculateFlowCode } from "./apiUtils";
74

85
export type ResponseType = {
@@ -87,7 +84,7 @@ export const searchCustomerTickets = async (orgID : string, currentUserId : stri
8784

8885
const apiBody = {
8986
path: "webhook/support/get-issues",
90-
data: {"host" : domain, "orgId" : orgID, "userId" : currentUserId, "supportsubscriptionId" : "1PostVDDlQgecLSfhG52o5rB"},
87+
data: {"host" : domain, "orgId" : orgID, "userId" : currentUserId},
9188
method: "post",
9289
headers: lcHeaders
9390
};
@@ -117,11 +114,28 @@ export const getTicket = async (ticketKey : string) => {
117114
}
118115
};
119116

117+
export const createTicket = async (orgID : string, currentUserId : string, subscriptionId : string, domain : string, summary: string, description : string, errors : string) => {
118+
119+
const apiBody = {
120+
path: "webhook/support/create-ticket",
121+
data: {"host" : domain, "orgId" : orgID, "userId" : currentUserId, "subscriptionId": subscriptionId, "summary" : summary, "description" : description, "errors" : errors},
122+
method: "post",
123+
headers: lcHeaders
124+
};
125+
try {
126+
const result = await SupportApi.secureRequest(apiBody);
127+
return result?.data?.length === 1 ? result.data as any : null;
128+
} catch (error) {
129+
console.error("Error getting individual Support Ticket: ", error);
130+
throw error;
131+
}
132+
};
133+
120134
export const updateTicketDescription = async (ticketKey : string, newDescription : string) => {
121135

122136
const apiBody = {
123-
path: "webhook/support/get-issue",
124-
data: {"ticketKey" : ticketKey},
137+
path: "webhook/support/update-ticket-description",
138+
data: {"ticketKey" : ticketKey, "description" : newDescription},
125139
method: "post",
126140
headers: lcHeaders
127141
};
@@ -137,8 +151,8 @@ export const updateTicketDescription = async (ticketKey : string, newDescription
137151
export const addComment = async (ticketKey : string, newComment : string) => {
138152

139153
const apiBody = {
140-
path: "webhook/support/get-issue",
141-
data: {"ticketKey" : ticketKey},
154+
path: "webhook/support/add-ticket-comment",
155+
data: {"ticketKey" : ticketKey, "comment" : newComment},
142156
method: "post",
143157
headers: lcHeaders
144158
};
@@ -151,11 +165,11 @@ export const addComment = async (ticketKey : string, newComment : string) => {
151165
}
152166
};
153167

154-
export const uploadAttachment = async (ticketKey : string, attachmentFile : string) => {
168+
export const uploadAttachment = async (ticketKey : string, attachmentFile : string, fileName : string, mimeType : string) => {
155169

156170
const apiBody = {
157-
path: "webhook/support/get-issue",
158-
data: {"ticketKey" : ticketKey},
171+
path: "webhook/support/add-ticket-attachment",
172+
data: {"ticketKey" : ticketKey, "attachment" : attachmentFile.split(',')[1], "fileName" : fileName, "mimeType" : mimeType},
159173
method: "post",
160174
headers: lcHeaders
161175
};

client/packages/lowcoder/src/i18n/locales/de.ts

+53
Original file line numberDiff line numberDiff line change
@@ -2537,6 +2537,59 @@ export const de: typeof en = {
25372537
"chooseNavType": "Bitte wähle die Art der Navigation",
25382538
"createNavigation": "Navigation erstellen"
25392539
},
2540+
2541+
"support" : {
2542+
...en.support,
2543+
"supportTitle": "Lowcoder-Support",
2544+
"supportContent": "Wenn Sie Fragen haben oder Hilfe benötigen, nutzen Sie bitte das Ticketsystem, um Ihr Problem schnell zu lösen.",
2545+
"newSupportTicket": "Neues Support-Ticket",
2546+
"ticketTitle": "Titel",
2547+
"priority": "Priorität",
2548+
"assignee": "Zuständiger",
2549+
"status": "Ticketstatus",
2550+
"updatedTime": "Aktualisierte Zeit",
2551+
"active": "Aktiv",
2552+
"inactive": "Inaktiv",
2553+
"noEmail": "Keine E-Mail",
2554+
"details": "Details",
2555+
"reloadTickets": "Tickets neu laden",
2556+
"createdDate": "Erstellungsdatum",
2557+
"updatedDate": "Aktualisierungsdatum",
2558+
"description": "Problembeschreibung",
2559+
"subtasks": "Unteraufgaben",
2560+
"subtasksProgress": "Fortschritt aller Unteraufgaben",
2561+
"attachments": "Anhänge",
2562+
"comments": "Kommentare",
2563+
"addComment": "Kommentar hinzufügen",
2564+
"addAttachment": "Anhang hinzufügen",
2565+
"edit": "Ticketbeschreibung bearbeiten",
2566+
"save": "Ticketbeschreibung speichern",
2567+
"cancel": "Abbrechen",
2568+
"submitComment": "Kommentar absenden",
2569+
"upload": "Anhang hochladen",
2570+
"selectFile": "Datei auswählen",
2571+
"ticketDescriptionUpdated": "Ticketbeschreibung erfolgreich aktualisiert!",
2572+
"ticketDescriptionUpdateFailed": "Ticketbeschreibung konnte nicht aktualisiert werden.",
2573+
"writeComment": "Einen Kommentar schreiben...",
2574+
"ticketCommentAdded": "Kommentar erfolgreich hinzugefügt!",
2575+
"ticketCommentFailed": "Kommentar konnte nicht hinzugefügt werden.",
2576+
"ticketCommentEmpty": "Bitte schreiben Sie einen Kommentar, bevor Sie ihn absenden.",
2577+
"ticketAttachmentUploaded": "Anhang erfolgreich hochgeladen!",
2578+
"ticketAttachmentFailed": "Anhang konnte nicht hochgeladen werden.",
2579+
"ticketAttachmentEmpty": "Bitte wählen Sie eine Datei zum Hochladen aus.",
2580+
"ticketFetchError": "Ticket konnte nicht geladen werden.",
2581+
"ticketNotFound": "Ticket nicht gefunden.",
2582+
"addAttachmentFileSize": "Datei muss kleiner als 5 MB sein!",
2583+
"goBack": "Zurück",
2584+
"noDescription": "Keine Beschreibung verfügbar.",
2585+
"createTicket": "Neues Support-Ticket erstellen",
2586+
"createTicketTitlePlaceholder": "Titel eingeben (max. 150 Zeichen)",
2587+
"createTicketDescriptionTitle": "Beschreiben Sie Ihr Problem - je mehr Details, desto besser:",
2588+
"createTicketDescriptionPlaceholder": "Beschreiben Sie das Problem im Detail, einschließlich: 1) Schritte zur Reproduktion des Problems, 2) Erwartetes Verhalten im Vergleich zum tatsächlichen Verhalten, 3) Code-Snippets, falls zutreffend, 4) Betroffene Komponenten, APIs oder Konfigurationen",
2589+
"createTicketSubmit": "Ticket absenden",
2590+
"createTicketInfoText": "Wenn Ihr Ticket erstellt wurde, können Sie im Abschnitt 'Details' Screenshots und Kommentare hinzufügen."
2591+
},
2592+
25402593
"carousel": {
25412594
...en.carousel,
25422595
"dotPosition": "Position der Navigationspunkte",

client/packages/lowcoder/src/i18n/locales/en.ts

+23-2
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export const en = {
4545
"accessControl": "Access Control",
4646
"copySuccess": "Copied Successfully",
4747
"copyError": "Copy Error",
48+
4849
"api": {
4950
"publishSuccess": "Published Successfully",
5051
"recoverFailed": "Recovery Failed",
@@ -3147,6 +3148,7 @@ export const en = {
31473148
"howToUseAPI": "How to use the Open Rest API",
31483149
"support": "Support",
31493150
},
3151+
31503152
"support" : {
31513153
"supportTitle": "Lowcoder Support",
31523154
"supportContent": "If you have any questions or need help, please use the ticket system get your issue solved fast.",
@@ -3160,7 +3162,7 @@ export const en = {
31603162
"inactive": "Inactive",
31613163
"noEmail": "No Email",
31623164
"details": "Details",
3163-
"reloadTickets" : "Reload Tickets",
3165+
"reloadTickets": "Reload Tickets",
31643166
"createdDate": "Created Date",
31653167
"updatedDate": "Updated Date",
31663168
"description": "Issue Description",
@@ -3176,6 +3178,26 @@ export const en = {
31763178
"submitComment": "Submit Comment",
31773179
"upload": "Submit Attachment",
31783180
"selectFile": "Select File",
3181+
"ticketDescriptionUpdated": "Ticket description updated successfully!",
3182+
"ticketDescriptionUpdateFailed": "Failed to update ticket description.",
3183+
"writeComment": "Write a comment...",
3184+
"ticketCommentAdded": "Comment added successfully!",
3185+
"ticketCommentFailed": "Failed to add comment.",
3186+
"ticketCommentEmpty": "Please write a comment before submitting.",
3187+
"ticketAttachmentUploaded": "Attachment uploaded successfully!",
3188+
"ticketAttachmentFailed": "Failed to upload attachment.",
3189+
"ticketAttachmentEmpty": "Please select a file to upload.",
3190+
"ticketFetchError": "Failed to load the ticket.",
3191+
"ticketNotFound": "Ticket not found.",
3192+
"addAttachmentFileSize": "File must be smaller than 5MB!",
3193+
"goBack": "Go Back",
3194+
"noDescription": "No description available.",
3195+
"createTicket": "Create a new Support Ticket",
3196+
"createTicketTitlePlaceholder": "Enter Title (max 150 chars)",
3197+
"createTicketDescriptionTitle": "Describe your problem - the more details, the better:",
3198+
"createTicketDescriptionPlaceholder": "Describe the issue in detail, including: 1) Steps to reproduce the issue, 2) Expected behavior versus actual behavior, 3) Code snippets, if applicable, 4) Any specific components, APIs, or configurations affected",
3199+
"createTicketSubmit": "Submit Ticket",
3200+
"createTicketInfoText": "When your Ticket is created, you can then add Screenshots, Comments in the 'Details' section."
31793201
},
31803202

31813203
"carousel": {
@@ -3184,7 +3206,6 @@ export const en = {
31843206
"showDots": "Show Navigation Dots"
31853207
},
31863208

3187-
31883209
// twentieth part
31893210

31903211

client/packages/lowcoder/src/i18n/locales/it.ts

+52
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,56 @@ export const it: typeof en = {
1010
saveChangesNotBind:
1111
"Nessun gestore eventi configurato per il salvataggio delle modifiche. Associa almeno un gestore di eventi prima del clic.",
1212
},
13+
"support" : {
14+
...en.support,
15+
"supportTitle": "Supporto Lowcoder",
16+
"supportContent": "Se hai domande o hai bisogno di aiuto, usa il sistema di ticket per risolvere il problema rapidamente.",
17+
"newSupportTicket": "Nuovo Ticket di Supporto",
18+
"ticketTitle": "Titolo",
19+
"priority": "Priorità",
20+
"assignee": "Assegnatario",
21+
"status": "Stato del Ticket",
22+
"updatedTime": "Tempo Aggiornato",
23+
"active": "Attivo",
24+
"inactive": "Inattivo",
25+
"noEmail": "Nessuna E-mail",
26+
"details": "Dettagli",
27+
"reloadTickets": "Ricarica Ticket",
28+
"createdDate": "Data di Creazione",
29+
"updatedDate": "Data di Aggiornamento",
30+
"description": "Descrizione del Problema",
31+
"subtasks": "Sottoattività",
32+
"subtasksProgress": "Avanzamento di tutte le Sottoattività",
33+
"attachments": "Allegati al Problema",
34+
"comments": "Commenti",
35+
"addComment": "Aggiungi Commento",
36+
"addAttachment": "Aggiungi Allegato",
37+
"edit": "Modifica Descrizione Ticket",
38+
"save": "Salva Descrizione Ticket",
39+
"cancel": "Annulla",
40+
"submitComment": "Invia Commento",
41+
"upload": "Invia Allegato",
42+
"selectFile": "Seleziona File",
43+
"ticketDescriptionUpdated": "Descrizione del ticket aggiornata con successo!",
44+
"ticketDescriptionUpdateFailed": "Aggiornamento della descrizione del ticket non riuscito.",
45+
"writeComment": "Scrivi un commento...",
46+
"ticketCommentAdded": "Commento aggiunto con successo!",
47+
"ticketCommentFailed": "Impossibile aggiungere il commento.",
48+
"ticketCommentEmpty": "Si prega di scrivere un commento prima di inviare.",
49+
"ticketAttachmentUploaded": "Allegato caricato con successo!",
50+
"ticketAttachmentFailed": "Caricamento dell'allegato non riuscito.",
51+
"ticketAttachmentEmpty": "Seleziona un file da caricare.",
52+
"ticketFetchError": "Caricamento del ticket fallito.",
53+
"ticketNotFound": "Ticket non trovato.",
54+
"addAttachmentFileSize": "Il file deve essere inferiore a 5MB!",
55+
"goBack": "Torna Indietro",
56+
"noDescription": "Nessuna descrizione disponibile.",
57+
"createTicket": "Crea un nuovo Ticket di Supporto",
58+
"createTicketTitlePlaceholder": "Inserisci il Titolo (max 150 caratteri)",
59+
"createTicketDescriptionTitle": "Descrivi il tuo problema - più dettagli, meglio è:",
60+
"createTicketDescriptionPlaceholder": "Descrivi il problema in dettaglio, includendo: 1) Passaggi per riprodurre il problema, 2) Comportamento previsto rispetto al comportamento reale, 3) Frammenti di codice, se applicabile, 4) Componenti, API o configurazioni specifiche interessate",
61+
"createTicketSubmit": "Invia Ticket",
62+
"createTicketInfoText": "Una volta creato il Ticket, potrai aggiungere Screenshot e Commenti nella sezione 'Dettagli'."
63+
}
64+
1365
};

client/packages/lowcoder/src/i18n/locales/pt.ts

+52
Original file line numberDiff line numberDiff line change
@@ -3167,6 +3167,58 @@ export const pt: typeof en = {
31673167
"howToUseAPI": "Como usar a API Rest Aberta"
31683168
},
31693169

3170+
"support" : {
3171+
...en.support,
3172+
"supportTitle": "Suporte Lowcoder",
3173+
"supportContent": "Se você tiver dúvidas ou precisar de ajuda, use o sistema de tickets para resolver seu problema rapidamente.",
3174+
"newSupportTicket": "Novo Ticket de Suporte",
3175+
"ticketTitle": "Título",
3176+
"priority": "Prioridade",
3177+
"assignee": "Responsável",
3178+
"status": "Status do Ticket",
3179+
"updatedTime": "Horário Atualizado",
3180+
"active": "Ativo",
3181+
"inactive": "Inativo",
3182+
"noEmail": "Sem E-mail",
3183+
"details": "Detalhes",
3184+
"reloadTickets": "Recarregar Tickets",
3185+
"createdDate": "Data de Criação",
3186+
"updatedDate": "Data de Atualização",
3187+
"description": "Descrição do Problema",
3188+
"subtasks": "Subtarefas",
3189+
"subtasksProgress": "Progresso de todas as Subtarefas",
3190+
"attachments": "Anexos do Problema",
3191+
"comments": "Comentários",
3192+
"addComment": "Adicionar Comentário",
3193+
"addAttachment": "Adicionar Anexo",
3194+
"edit": "Editar Descrição do Ticket",
3195+
"save": "Salvar Descrição do Ticket",
3196+
"cancel": "Cancelar",
3197+
"submitComment": "Enviar Comentário",
3198+
"upload": "Enviar Anexo",
3199+
"selectFile": "Selecionar Arquivo",
3200+
"ticketDescriptionUpdated": "Descrição do ticket atualizada com sucesso!",
3201+
"ticketDescriptionUpdateFailed": "Falha ao atualizar a descrição do ticket.",
3202+
"writeComment": "Escreva um comentário...",
3203+
"ticketCommentAdded": "Comentário adicionado com sucesso!",
3204+
"ticketCommentFailed": "Falha ao adicionar o comentário.",
3205+
"ticketCommentEmpty": "Por favor, escreva um comentário antes de enviar.",
3206+
"ticketAttachmentUploaded": "Anexo carregado com sucesso!",
3207+
"ticketAttachmentFailed": "Falha ao carregar o anexo.",
3208+
"ticketAttachmentEmpty": "Por favor, selecione um arquivo para enviar.",
3209+
"ticketFetchError": "Falha ao carregar o ticket.",
3210+
"ticketNotFound": "Ticket não encontrado.",
3211+
"addAttachmentFileSize": "O arquivo deve ser menor que 5MB!",
3212+
"goBack": "Voltar",
3213+
"noDescription": "Nenhuma descrição disponível.",
3214+
"createTicket": "Criar um novo Ticket de Suporte",
3215+
"createTicketTitlePlaceholder": "Digite o Título (máx. 150 caracteres)",
3216+
"createTicketDescriptionTitle": "Descreva seu problema - quanto mais detalhes, melhor:",
3217+
"createTicketDescriptionPlaceholder": "Descreva o problema em detalhes, incluindo: 1) Passos para reproduzir o problema, 2) Comportamento esperado versus comportamento real, 3) Trechos de código, se aplicável, 4) Componentes específicos, APIs ou configurações afetadas",
3218+
"createTicketSubmit": "Enviar Ticket",
3219+
"createTicketInfoText": "Quando seu Ticket for criado, você poderá adicionar Capturas de Tela e Comentários na seção 'Detalhes'."
3220+
},
3221+
31703222

31713223
// twentieth part
31723224

client/packages/lowcoder/src/i18n/locales/zh.ts

+54
Original file line numberDiff line numberDiff line change
@@ -2537,6 +2537,60 @@ export const zh: typeof en = {
25372537
autoPlay: "自动播放",
25382538
showDots: "显示点"
25392539
},
2540+
2541+
"support" : {
2542+
...en.support,
2543+
"supportTitle": "Lowcoder 支持",
2544+
"supportContent": "如果您有任何疑问或需要帮助,请使用工单系统快速解决您的问题。",
2545+
"newSupportTicket": "新建支持工单",
2546+
"ticketTitle": "标题",
2547+
"priority": "优先级",
2548+
"assignee": "负责人",
2549+
"status": "工单状态",
2550+
"updatedTime": "更新时间",
2551+
"active": "激活",
2552+
"inactive": "未激活",
2553+
"noEmail": "没有邮箱",
2554+
"details": "详情",
2555+
"reloadTickets": "重新加载工单",
2556+
"createdDate": "创建日期",
2557+
"updatedDate": "更新日期",
2558+
"description": "问题描述",
2559+
"subtasks": "子任务",
2560+
"subtasksProgress": "所有子任务的进度",
2561+
"attachments": "问题附件",
2562+
"comments": "评论",
2563+
"addComment": "添加评论",
2564+
"addAttachment": "添加附件",
2565+
"edit": "编辑工单描述",
2566+
"save": "保存工单描述",
2567+
"cancel": "取消",
2568+
"submitComment": "提交评论",
2569+
"upload": "提交附件",
2570+
"selectFile": "选择文件",
2571+
"ticketDescriptionUpdated": "工单描述更新成功!",
2572+
"ticketDescriptionUpdateFailed": "更新工单描述失败。",
2573+
"writeComment": "写一条评论...",
2574+
"ticketCommentAdded": "评论添加成功!",
2575+
"ticketCommentFailed": "添加评论失败。",
2576+
"ticketCommentEmpty": "请先写评论再提交。",
2577+
"ticketAttachmentUploaded": "附件上传成功!",
2578+
"ticketAttachmentFailed": "附件上传失败。",
2579+
"ticketAttachmentEmpty": "请选择要上传的文件。",
2580+
"ticketFetchError": "加载工单失败。",
2581+
"ticketNotFound": "未找到工单。",
2582+
"addAttachmentFileSize": "文件必须小于5MB!",
2583+
"goBack": "返回",
2584+
"noDescription": "没有可用的描述。",
2585+
"createTicket": "创建新的支持工单",
2586+
"createTicketTitlePlaceholder": "输入标题(最多150个字符)",
2587+
"createTicketDescriptionTitle": "描述您的问题 - 详细信息越多越好:",
2588+
"createTicketDescriptionPlaceholder": "详细描述问题,包括:1)重现问题的步骤,2)预期行为与实际行为的差异,3)适用时的代码片段,4)受影响的具体组件、API 或配置",
2589+
"createTicketSubmit": "提交工单",
2590+
"createTicketInfoText": "当您的工单创建后,您可以在“详情”部分添加截图和评论。"
2591+
},
2592+
2593+
25402594
npm: {
25412595
...en.npm,
25422596
invalidNpmPackageName: "无效的npm包名称或URL链接.",

0 commit comments

Comments
 (0)