Skip to content

Commit 5bbe1df

Browse files
authored
Nodes and Core Configs Page Modified (#1776)
* fix: update orval api * fix: api key logic in nodes * fix: remove unused codes * fix: remove unused codes * fix: node translations completed | status checker bug fixed * feat: core configs page modified (starter) | bug fixed nodes page
1 parent affb4b6 commit 5bbe1df

File tree

13 files changed

+2124
-732
lines changed

13 files changed

+2124
-732
lines changed

dashboard/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
"tailwind-merge": "^2.6.0",
6868
"tailwindcss-animate": "^1.0.7",
6969
"ufo": "^1.5.4",
70+
"uuid": "^11.1.0",
7071
"vaul": "^1.1.2",
7172
"vite-tsconfig-paths": "^5.1.4",
7273
"zod": "^3.24.1",

dashboard/pnpm-lock.yaml

+9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dashboard/public/statics/locales/en.json

+64-13
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
"manageHosts": "Manage and control hosts.",
5050
"settings": "Settings",
5151
"general": "General",
52-
"core": "Core",
52+
"core": "Core Configs",
5353
"activeUsers": "Active Users",
5454
"apply": "Apply",
5555
"cancel": "Cancel",
@@ -100,7 +100,12 @@
100100
"core.socket.connecting": "Connecting...",
101101
"core.socket.not_connected": "Not Connected",
102102
"core.successMessage": "Core settings updated successfully",
103-
"core.title": "Core Settings",
103+
"core.title": "Core Configs Settings",
104+
"core.toggleSuccess": "Core \"{name}\" has been toggled successfully",
105+
"core.toggleFailed": "Failed to toggle core \"{name}\"",
106+
"core.deleteSuccess": "Core \"{name}\" has been deleted successfully",
107+
"core.deleteFailed": "Failed to delete core \"{name}\"",
108+
"core.deleteConfirm": "Are you sure you want to delete <b>{name}</b>?",
104109
"createNewUser": "Create new user",
105110
"createUser": "Create User",
106111
"createGroup": "Create Group",
@@ -423,19 +428,12 @@
423428
"nodes.addNodeSuccess": "Node {{name}} added successfully",
424429
"nodes.apply": "editNode",
425430
"nodes.certificate": "Certificate",
426-
"nodes.certificateCopied": "Certificate copied to clipboard",
427-
"nodes.certificateDownloaded": "Certificate downloaded successfully",
428-
"nodes.certificateDescription": "To set up a node, you need to configure this certificate to establish a secure connection between the main server and the node",
429-
"nodes.connection-hint": "To setup a Marzban Node, you need to set this certificate on the node to initialize a secure connection between main server and the node",
430-
"nodes.download-certificate": "Download certificate",
431431
"nodes.editNode": "Update Node",
432-
"nodes.hide-certificate": "Hide certificate",
433432
"nodes.nodeAPIPort": "API Port",
434433
"nodes.nodeName": "Name",
435434
"nodes.nodePort": "Port",
436435
"nodes.reconnect": "Reconnect",
437436
"nodes.reconnecting": "Reconnecting...",
438-
"nodes.show-certificate": "Show certificate",
439437
"nodes.title": "Using Marzban-Node, you are able to scale up your connection quality by adding different nodes on different servers.",
440438
"nodes.usageCoefficient": "Usage Ratio",
441439
"on_hold": "On Hold",
@@ -580,21 +578,74 @@
580578
"certificate": "Certificate",
581579
"certificatePlaceholder": "Enter certificate",
582580
"status": "Node Status",
583-
"statusCheck": "Check Connection Status",
584581
"statusCheckSuccess": "Node is connected successfully",
585582
"statusCheckFailed": "Failed to connect to node",
586-
"statusChecking": "Checking connection...",
587583
"errorDetails": "Error Details",
588584
"connectionError": "Connection Error",
589585
"retryConnection": "Retry Connection",
590586
"configurationError": "Configuration Error",
591587
"validateConfig": "Validate Configuration",
592-
"fillRequiredFields": "Please fill out all required fields before checking status"
588+
"fillRequiredFields": "Please fill out all required fields before checking status",
589+
"apiKey": "API Key",
590+
"apiKeyPlaceholder": "Enter the node's API Key",
591+
"generateUUID": "Generate UUID",
592+
"coreConfig": "Core Configuration",
593+
"hours": "Hours",
594+
"selectCoreConfig": "Select Core Configuration",
595+
"hideDetails": "Hide Details",
596+
"showDetails": "Show Details",
597+
"statusCheck": "Check Status",
598+
"statusChecking": "Checking..."
593599
},
594600
"theme": {
595601
"toggle": "Toggle theme",
596602
"dark": "Dark",
597603
"light": "Light",
598604
"system": "System"
599-
}
605+
},
606+
"coreConfigModal": {
607+
"addConfig": "Add Core Configuration",
608+
"createNewConfig": "Create a new core configuration",
609+
"editCore": "Edit Core Configuration",
610+
"invalidJson": "Invalid JSON configuration",
611+
"createSuccess": "Core Configuration «{{name}}» has been created successfully",
612+
"createFailed": "Failed to create Core Configuration «{{name}}»",
613+
"editSuccess": "Core Configuration «{{name}}» has been updated successfully",
614+
"editFailed": "Failed to update Core Configuration «{{name}}»",
615+
"keyPairGenerated": "Key pair generated successfully",
616+
"shortIdGenerated": "Short ID generated successfully",
617+
"shortId": "Short ID",
618+
"shortIdCopied": "Short ID copied to clipboard",
619+
"publicKeyCopied": "Public key copied to clipboard",
620+
"privateKeyCopied": "Private key copied to clipboard",
621+
"jsonConfig": "JSON Configuration",
622+
"editJson": "Edit JSON configuration",
623+
"name": "Name",
624+
"namePlaceholder": "Enter configuration name",
625+
"fallback": "Fallback",
626+
"selectFallback": "Select fallback",
627+
"excludedInbound": "Excluded inbound",
628+
"selectInbound": "Select inbound",
629+
"inbound": "Inbound",
630+
"generateKeyPair": "Generate Key Pair",
631+
"generateShortId": "Generate Short ID",
632+
"publicKey": "Public Key",
633+
"privateKey": "Private Key"
634+
},
635+
"settings.cores": {
636+
"title": "Cores",
637+
"description": "Manage Your Cores",
638+
"addCore": "Add Core",
639+
"noCores": "No cores available. Add one to get started.",
640+
"duplicateSuccess": "Core config «{{name}}» duplicated successfully",
641+
"duplicateFailed": "Failed to duplicate core config «{{name}}»",
642+
"deleteSuccess": "Core has been deleted successfully",
643+
"deleteFailed": "Failed to delete core",
644+
"duplicateInfo": "Prepare to create a copy of «{{name}}». Make changes if needed and click Save.",
645+
"coreNotFound": "Core not found"
646+
},
647+
"createdAt": "Created at",
648+
"toggle": "Toggle status",
649+
"close": "Close",
650+
"copy": "Copy"
600651
}

dashboard/public/statics/locales/fa.json

+71-16
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"manageHosts": "مدیریت و کنترل هاست‌ها.",
1212
"settings": "تنظیمات",
1313
"general": "عمومی",
14-
"core": "هسته",
14+
"core": "هسته‌ها",
1515
"activeUsers": "کاربران فعال",
1616
"apply": "تایید",
1717
"cancel": "لغو",
@@ -513,15 +513,15 @@
513513
"name": "نام",
514514
"nodeModal": {
515515
"title": "افزودن گره",
516-
"description": "افزودن گره جدید به شبکه شما",
516+
"description": "افزودن یک گره جدید به شبکه",
517517
"name": "نام گره",
518518
"namePlaceholder": "نام گره را وارد کنید",
519519
"address": "آدرس گره",
520520
"addressPlaceholder": "آدرس گره را وارد کنید",
521521
"port": "پورت گره",
522522
"portPlaceholder": "پورت گره را وارد کنید",
523-
"usageRatio": "ضریب مصرف",
524-
"usageRatioPlaceholder": "ضریب مصرف را وارد کنید",
523+
"usageRatio": "نسبت استفاده",
524+
"usageRatioPlaceholder": "نسبت استفاده را وارد کنید",
525525
"maxLogs": "حداکثر لاگ‌ها",
526526
"maxLogsPlaceholder": "حداکثر لاگ‌ها را وارد کنید",
527527
"connectionType": "نوع اتصال",
@@ -530,19 +530,27 @@
530530
"days": "روز",
531531
"minutes": "دقیقه",
532532
"seconds": "ثانیه",
533-
"certificate": "گواهینامه",
534-
"certificatePlaceholder": "گواهینامه را وارد کنید",
533+
"certificate": "گواهی",
534+
"certificatePlaceholder": "گواهی را وارد کنید",
535535
"status": "وضعیت گره",
536-
"statusCheck": "بررسی وضعیت اتصال",
537536
"statusCheckSuccess": "گره با موفقیت متصل شد",
538-
"statusCheckFailed": "اتصال به گره ناموفق بود",
539-
"statusChecking": "در حال بررسی اتصال...",
537+
"statusCheckFailed": "اتصال به گره با شکست مواجه شد",
540538
"errorDetails": "جزئیات خطا",
541539
"connectionError": "خطای اتصال",
542-
"retryConnection": "تلاش مجدد برای اتصال",
540+
"retryConnection": "تلاش مجدد اتصال",
543541
"configurationError": "خطای پیکربندی",
544542
"validateConfig": "اعتبارسنجی پیکربندی",
545-
"fillRequiredFields": "لطفاً تمام فیلدهای ضروری را قبل از بررسی وضعیت پر کنید"
543+
"fillRequiredFields": "لطفا تمام فیلدهای الزامی را قبل از بررسی وضعیت پر کنید",
544+
"apiKey": "کلید API",
545+
"apiKeyPlaceholder": "کلید API گره را وارد کنید",
546+
"generateUUID": "تولید UUID",
547+
"coreConfig": "پیکربندی هسته",
548+
"selectCoreConfig": "هسته را انتخاب کنید",
549+
"hours": "ساعت",
550+
"hideDetails": "مخفی کردن جزئیات",
551+
"showDetails": "نمایش جزئیات",
552+
"statusCheck": "بررسی وضعیت",
553+
"statusChecking": "در حال بررسی..."
546554
},
547555
"nodes": {
548556
"title": "گره‌ها",
@@ -575,10 +583,7 @@
575583
"enableFailed": "فعال کردن گره «{{name}}» ناموفق بود",
576584
"disableSuccess": "گره «{{name}}» با موفقیت غیرفعال شد",
577585
"disableFailed": "غیرفعال کردن گره «{{name}}» ناموفق بود",
578-
"certificate": "گواهی",
579-
"certificateCopied": "گواهی در کلیپ‌بورد کپی شد",
580-
"certificateDownloaded": "گواهی با موفقیت دانلود شد",
581-
"certificateDescription": "برای راه‌اندازی گره، شما نیاز به پیکربندی این گواهی برای برقراری اتصال امن بین سرور اصلی و گره دارید"
586+
"certificate": "گواهی"
582587
},
583588
"success": "موفق",
584589
"error": "خطا",
@@ -587,5 +592,55 @@
587592
"dark": "تاریک",
588593
"light": "روشن",
589594
"system": "سیستم"
590-
}
595+
},
596+
"coreConfigModal": {
597+
"addConfig": "افزودن پیکربندی هسته",
598+
"createNewConfig": "ایجاد پیکربندی جدید هسته",
599+
"editCore": "ویرایش پیکربندی هسته",
600+
"invalidJson": "پیکربندی JSON نامعتبر است",
601+
"createSuccess": "پیکربندی هسته «{{name}}» با موفقیت ایجاد شد",
602+
"createFailed": "ایجاد پیکربندی هسته «{{name}}» با خطا مواجه شد",
603+
"editSuccess": "پیکربندی هسته «{{name}}» با موفقیت به‌روزرسانی شد",
604+
"editFailed": "به‌روزرسانی پیکربندی هسته «{{name}}» با خطا مواجه شد",
605+
"keyPairGenerated": "جفت کلید با موفقیت تولید شد",
606+
"shortIdGenerated": "شناسه کوتاه با موفقیت ایجاد شد",
607+
"shortId": "شناسه کوتاه",
608+
"shortIdCopied": "شناسه کوتاه در کلیپ‌بورد کپی شد",
609+
"publicKeyCopied": "کلید عمومی در کلیپ‌بورد کپی شد",
610+
"privateKeyCopied": "کلید خصوصی در کلیپ‌بورد کپی شد",
611+
"jsonConfig": "پیکربندی JSON",
612+
"editJson": "ویرایش پیکربندی JSON",
613+
"name": "نام",
614+
"namePlaceholder": "نام پیکربندی را وارد کنید",
615+
"fallback": "پشتیبان",
616+
"selectFallback": "پشتیبان را انتخاب کنید",
617+
"excludedInbound": "ورودی‌های مستثنی",
618+
"selectInbound": "ورودی را انتخاب کنید",
619+
"inbound": "ورودی",
620+
"generateKeyPair": "تولید جفت کلید",
621+
"generateShortId": "تولید شناسه کوتاه",
622+
"publicKey": "کلید عمومی",
623+
"privateKey": "کلید خصوصی"
624+
},
625+
"settings.cores": {
626+
"title": "هسته‌ها",
627+
"description": "مدیریت هسته‌های شما",
628+
"addCore": "افزودن هسته",
629+
"noCores": "هیچ هسته‌ای موجود نیست. یکی اضافه کنید تا شروع کنید.",
630+
"duplicateSuccess": "پیکربندی هسته «{{name}}» با موفقیت کپی شد",
631+
"duplicateFailed": "خطا در کپی پیکربندی هسته «{{name}}»",
632+
"deleteSuccess": "هسته با موفقیت حذف شد",
633+
"deleteFailed": "حذف هسته با خطا مواجه شد",
634+
"duplicateInfo": "آماده ایجاد کپی از «{{name}}». در صورت نیاز تغییرات را اعمال کرده و ذخیره کنید.",
635+
"coreNotFound": "هسته یافت نشد"
636+
},
637+
"createdAt": "تاریخ ایجاد",
638+
"toggle": "تغییر وضعیت",
639+
"core.toggleSuccess": "هسته «{{name}}» با موفقیت تغییر وضعیت داده شد",
640+
"core.toggleFailed": "تغییر وضعیت هسته «{{name}}» با خطا مواجه شد",
641+
"core.deleteSuccess": "هسته «{{name}}» با موفقیت حذف شد",
642+
"core.deleteFailed": "حذف هسته «{{name}}» با خطا مواجه شد",
643+
"core.deleteConfirm": "آیا مطمئن هستید که می‌خواهید هسته «{{name}}» را حذف کنید؟",
644+
"close": "بستن",
645+
"copy": "کپی"
591646
}

0 commit comments

Comments
 (0)