mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
handle initial loading without clusters
Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
parent
ab61fd6308
commit
10e68510c4
@ -45,7 +45,7 @@ msgstr "<0>{0}</0> successfully created"
|
||||
msgid "API Group"
|
||||
msgstr "API Group"
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:88
|
||||
#: src/renderer/components/layout/sidebar.tsx:94
|
||||
msgid "Access Control"
|
||||
msgstr "Access Control"
|
||||
|
||||
@ -199,7 +199,7 @@ msgstr "App crash at <0>{pageUrl}</0>"
|
||||
msgid "Applying.."
|
||||
msgstr "Applying.."
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:87
|
||||
#: src/renderer/components/layout/sidebar.tsx:93
|
||||
msgid "Apps"
|
||||
msgstr "Apps"
|
||||
|
||||
@ -211,7 +211,7 @@ msgstr "Are you sure you want to drain <0>{nodeName}</0>?"
|
||||
msgid "Arguments"
|
||||
msgstr "Arguments"
|
||||
|
||||
#: src/renderer/components/+workspaces/clusters-menu.tsx:64
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:74
|
||||
msgid "Associate clusters and choose the ones you want to access via quick launch menu by clicking the + button."
|
||||
msgstr "Associate clusters and choose the ones you want to access via quick launch menu by clicking the + button."
|
||||
|
||||
@ -219,7 +219,7 @@ msgstr "Associate clusters and choose the ones you want to access via quick laun
|
||||
msgid "Auth App Role"
|
||||
msgstr "Auth App Role"
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:54
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:53
|
||||
#: src/renderer/components/wizard/wizard.tsx:130
|
||||
msgid "Back"
|
||||
msgstr "Back"
|
||||
@ -242,8 +242,8 @@ msgid "Bindings"
|
||||
msgstr "Bindings"
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:37
|
||||
msgid "Build version"
|
||||
msgstr "Build version"
|
||||
#~ msgid "Build version"
|
||||
#~ msgstr "Build version"
|
||||
|
||||
#: src/renderer/components/+workloads-pods/container-charts.tsx:74
|
||||
#: src/renderer/components/+workloads-pods/pod-charts.tsx:100
|
||||
@ -385,7 +385,7 @@ msgid "Cloud API Token Secret"
|
||||
msgstr "Cloud API Token Secret"
|
||||
|
||||
#: src/renderer/components/+namespaces/namespace-select.tsx:43
|
||||
#: src/renderer/components/layout/sidebar.tsx:79
|
||||
#: src/renderer/components/layout/sidebar.tsx:85
|
||||
msgid "Cluster"
|
||||
msgstr "Cluster"
|
||||
|
||||
@ -407,7 +407,7 @@ msgstr "Command"
|
||||
msgid "Common Name"
|
||||
msgstr "Common Name"
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:76
|
||||
#: src/renderer/components/layout/sidebar.tsx:80
|
||||
msgid "Compact view"
|
||||
msgstr "Compact view"
|
||||
|
||||
@ -416,7 +416,7 @@ msgstr "Compact view"
|
||||
msgid "Completions"
|
||||
msgstr "Completions"
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:46
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:45
|
||||
msgid "Component stack"
|
||||
msgstr "Component stack"
|
||||
|
||||
@ -451,7 +451,7 @@ msgstr "ConfigMap <0>{0}</0> successfully updated."
|
||||
msgid "ConfigMaps"
|
||||
msgstr "ConfigMaps"
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:82
|
||||
#: src/renderer/components/layout/sidebar.tsx:88
|
||||
msgid "Configuration"
|
||||
msgstr "Configuration"
|
||||
|
||||
@ -614,7 +614,7 @@ msgid "Currently applied filters:"
|
||||
msgstr "Currently applied filters:"
|
||||
|
||||
#: src/renderer/components/+custom-resources/crd-list.tsx:55
|
||||
#: src/renderer/components/layout/sidebar.tsx:89
|
||||
#: src/renderer/components/layout/sidebar.tsx:95
|
||||
msgid "Custom Resources"
|
||||
msgstr "Custom Resources"
|
||||
|
||||
@ -678,7 +678,7 @@ msgstr "Description"
|
||||
msgid "Desired number of replicas"
|
||||
msgstr "Desired number of replicas"
|
||||
|
||||
#: src/renderer/components/+workspaces/clusters-menu.tsx:40
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:49
|
||||
msgid "Disconnect"
|
||||
msgstr "Disconnect"
|
||||
|
||||
@ -759,14 +759,14 @@ msgstr "Enter a name"
|
||||
msgid "Environment"
|
||||
msgstr "Environment"
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:50
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:49
|
||||
msgid "Error stack"
|
||||
msgstr "Error stack"
|
||||
|
||||
#: src/renderer/components/+events/events.tsx:56
|
||||
#: src/renderer/components/+events/kube-event-details.tsx:34
|
||||
#: src/renderer/components/+events/kube-event-details.tsx:39
|
||||
#: src/renderer/components/layout/sidebar.tsx:86
|
||||
#: src/renderer/components/layout/sidebar.tsx:92
|
||||
msgid "Events"
|
||||
msgstr "Events"
|
||||
|
||||
@ -784,8 +784,8 @@ msgid "Exit full size mode"
|
||||
msgstr "Exit full size mode"
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:76
|
||||
msgid "Extended view"
|
||||
msgstr "Extended view"
|
||||
#~ msgid "Extended view"
|
||||
#~ msgstr "Extended view"
|
||||
|
||||
#: src/renderer/components/+network-services/services.tsx:49
|
||||
msgid "External IP"
|
||||
@ -844,6 +844,10 @@ msgstr "From <0>{from}</0> to <1>{to}</1>"
|
||||
msgid "Fs Group"
|
||||
msgstr "Fs Group"
|
||||
|
||||
#: src/renderer/components/+landing-page/landing-page.tsx:21
|
||||
msgid "Get started by associating one or more clusters to Lens."
|
||||
msgstr "Get started by associating one or more clusters to Lens."
|
||||
|
||||
#: src/renderer/components/+custom-resources/crd-details.tsx:32
|
||||
#: src/renderer/components/+custom-resources/crd-list.tsx:58
|
||||
#: src/renderer/components/+custom-resources/crd-list.tsx:74
|
||||
@ -1335,7 +1339,7 @@ msgid "Namespace: {0}"
|
||||
msgstr "Namespace: {0}"
|
||||
|
||||
#: src/renderer/components/+namespaces/namespaces.tsx:30
|
||||
#: src/renderer/components/layout/sidebar.tsx:85
|
||||
#: src/renderer/components/layout/sidebar.tsx:91
|
||||
msgid "Namespaces"
|
||||
msgstr "Namespaces"
|
||||
|
||||
@ -1345,7 +1349,7 @@ msgstr "Namespaces: {0}"
|
||||
|
||||
#: src/renderer/components/+network-ingresses/ingress-details.tsx:66
|
||||
#: src/renderer/components/+workloads-pods/pod-charts.tsx:13
|
||||
#: src/renderer/components/layout/sidebar.tsx:83
|
||||
#: src/renderer/components/layout/sidebar.tsx:89
|
||||
msgid "Network"
|
||||
msgstr "Network"
|
||||
|
||||
@ -1443,7 +1447,7 @@ msgid "Node shell"
|
||||
msgstr "Node shell"
|
||||
|
||||
#: src/renderer/components/+nodes/nodes.tsx:111
|
||||
#: src/renderer/components/layout/sidebar.tsx:80
|
||||
#: src/renderer/components/layout/sidebar.tsx:86
|
||||
msgid "Nodes"
|
||||
msgstr "Nodes"
|
||||
|
||||
@ -1483,6 +1487,10 @@ msgstr "Object"
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#: src/renderer/components/+whats-new/whats-new.tsx:36
|
||||
msgid "Ok, got it!"
|
||||
msgstr "Ok, got it!"
|
||||
|
||||
#: src/renderer/components/dock/dock.tsx:117
|
||||
msgid "Open"
|
||||
msgstr "Open"
|
||||
@ -2030,7 +2038,7 @@ msgstr "Set"
|
||||
msgid "Set quota"
|
||||
msgstr "Set quota"
|
||||
|
||||
#: src/renderer/components/+workspaces/clusters-menu.tsx:33
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:43
|
||||
msgid "Settings"
|
||||
msgstr "Settings"
|
||||
|
||||
@ -2114,7 +2122,7 @@ msgid "Status URI"
|
||||
msgstr "Status URI"
|
||||
|
||||
#: src/renderer/components/+storage-volume-claims/volume-claim-details.tsx:57
|
||||
#: src/renderer/components/layout/sidebar.tsx:84
|
||||
#: src/renderer/components/layout/sidebar.tsx:90
|
||||
msgid "Storage"
|
||||
msgstr "Storage"
|
||||
|
||||
@ -2204,7 +2212,7 @@ msgstr "This field is required"
|
||||
msgid "This field must contain only lowercase latin characters, numbers and dash."
|
||||
msgstr "This field must contain only lowercase latin characters, numbers and dash."
|
||||
|
||||
#: src/renderer/components/+workspaces/clusters-menu.tsx:62
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:72
|
||||
msgid "This is the quick launch menu."
|
||||
msgstr "This is the quick launch menu."
|
||||
|
||||
@ -2212,7 +2220,7 @@ msgstr "This is the quick launch menu."
|
||||
msgid "To"
|
||||
msgstr "To"
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:40
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:39
|
||||
msgid "To help us improve the product please report bugs to {slackLink} community or {githubLink} issues tracker."
|
||||
msgstr "To help us improve the product please report bugs to {slackLink} community or {githubLink} issues tracker."
|
||||
|
||||
@ -2374,15 +2382,19 @@ msgstr "Waiting services to be running"
|
||||
msgid "Warnings: {0}"
|
||||
msgstr "Warnings: {0}"
|
||||
|
||||
#: src/renderer/components/+landing-page/landing-page.tsx:18
|
||||
msgid "Welcome!"
|
||||
msgstr "Welcome!"
|
||||
|
||||
#: src/renderer/components/+cluster/cluster-metric-switchers.tsx:19
|
||||
msgid "Worker"
|
||||
msgstr "Worker"
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:81
|
||||
#: src/renderer/components/layout/sidebar.tsx:87
|
||||
msgid "Workloads"
|
||||
msgstr "Workloads"
|
||||
|
||||
#: src/renderer/components/+workspaces/bottom-bar.tsx:31
|
||||
#: src/renderer/components/cluster-manager/bottom-bar.tsx:35
|
||||
msgid "Workspaces"
|
||||
msgstr "Workspaces"
|
||||
|
||||
@ -2492,7 +2504,7 @@ msgstr "{0} total, {1} available"
|
||||
msgid "{0} unavailable"
|
||||
msgstr "{0} unavailable"
|
||||
|
||||
#: src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.tsx:134
|
||||
#: src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.tsx:129
|
||||
msgid "{accountName} kubeconfig"
|
||||
msgstr "{accountName} kubeconfig"
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ msgstr ""
|
||||
msgid "API Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:88
|
||||
#: src/renderer/components/layout/sidebar.tsx:94
|
||||
msgid "Access Control"
|
||||
msgstr ""
|
||||
|
||||
@ -199,7 +199,7 @@ msgstr ""
|
||||
msgid "Applying.."
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:87
|
||||
#: src/renderer/components/layout/sidebar.tsx:93
|
||||
msgid "Apps"
|
||||
msgstr ""
|
||||
|
||||
@ -211,7 +211,7 @@ msgstr ""
|
||||
msgid "Arguments"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+workspaces/clusters-menu.tsx:64
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:74
|
||||
msgid "Associate clusters and choose the ones you want to access via quick launch menu by clicking the + button."
|
||||
msgstr ""
|
||||
|
||||
@ -219,7 +219,7 @@ msgstr ""
|
||||
msgid "Auth App Role"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:54
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:53
|
||||
#: src/renderer/components/wizard/wizard.tsx:130
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
@ -242,8 +242,8 @@ msgid "Bindings"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:37
|
||||
msgid "Build version"
|
||||
msgstr ""
|
||||
#~ msgid "Build version"
|
||||
#~ msgstr ""
|
||||
|
||||
#: src/renderer/components/+workloads-pods/container-charts.tsx:74
|
||||
#: src/renderer/components/+workloads-pods/pod-charts.tsx:100
|
||||
@ -381,7 +381,7 @@ msgid "Cloud API Token Secret"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+namespaces/namespace-select.tsx:43
|
||||
#: src/renderer/components/layout/sidebar.tsx:79
|
||||
#: src/renderer/components/layout/sidebar.tsx:85
|
||||
msgid "Cluster"
|
||||
msgstr ""
|
||||
|
||||
@ -403,7 +403,7 @@ msgstr ""
|
||||
msgid "Common Name"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:76
|
||||
#: src/renderer/components/layout/sidebar.tsx:80
|
||||
msgid "Compact view"
|
||||
msgstr ""
|
||||
|
||||
@ -412,7 +412,7 @@ msgstr ""
|
||||
msgid "Completions"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:46
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:45
|
||||
msgid "Component stack"
|
||||
msgstr ""
|
||||
|
||||
@ -447,7 +447,7 @@ msgstr ""
|
||||
msgid "ConfigMaps"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:82
|
||||
#: src/renderer/components/layout/sidebar.tsx:88
|
||||
msgid "Configuration"
|
||||
msgstr ""
|
||||
|
||||
@ -610,7 +610,7 @@ msgid "Currently applied filters:"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+custom-resources/crd-list.tsx:55
|
||||
#: src/renderer/components/layout/sidebar.tsx:89
|
||||
#: src/renderer/components/layout/sidebar.tsx:95
|
||||
msgid "Custom Resources"
|
||||
msgstr ""
|
||||
|
||||
@ -674,7 +674,7 @@ msgstr ""
|
||||
msgid "Desired number of replicas"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+workspaces/clusters-menu.tsx:40
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:49
|
||||
msgid "Disconnect"
|
||||
msgstr ""
|
||||
|
||||
@ -755,14 +755,14 @@ msgstr ""
|
||||
msgid "Environment"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:50
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:49
|
||||
msgid "Error stack"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+events/events.tsx:56
|
||||
#: src/renderer/components/+events/kube-event-details.tsx:34
|
||||
#: src/renderer/components/+events/kube-event-details.tsx:39
|
||||
#: src/renderer/components/layout/sidebar.tsx:86
|
||||
#: src/renderer/components/layout/sidebar.tsx:92
|
||||
msgid "Events"
|
||||
msgstr ""
|
||||
|
||||
@ -775,8 +775,8 @@ msgid "Exit full size mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:76
|
||||
msgid "Extended view"
|
||||
msgstr ""
|
||||
#~ msgid "Extended view"
|
||||
#~ msgstr ""
|
||||
|
||||
#: src/renderer/components/+network-services/services.tsx:49
|
||||
msgid "External IP"
|
||||
@ -835,6 +835,10 @@ msgstr ""
|
||||
msgid "Fs Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+landing-page/landing-page.tsx:21
|
||||
msgid "Get started by associating one or more clusters to Lens."
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+custom-resources/crd-details.tsx:32
|
||||
#: src/renderer/components/+custom-resources/crd-list.tsx:58
|
||||
#: src/renderer/components/+custom-resources/crd-list.tsx:74
|
||||
@ -1326,7 +1330,7 @@ msgid "Namespace: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+namespaces/namespaces.tsx:30
|
||||
#: src/renderer/components/layout/sidebar.tsx:85
|
||||
#: src/renderer/components/layout/sidebar.tsx:91
|
||||
msgid "Namespaces"
|
||||
msgstr ""
|
||||
|
||||
@ -1336,7 +1340,7 @@ msgstr ""
|
||||
|
||||
#: src/renderer/components/+network-ingresses/ingress-details.tsx:66
|
||||
#: src/renderer/components/+workloads-pods/pod-charts.tsx:13
|
||||
#: src/renderer/components/layout/sidebar.tsx:83
|
||||
#: src/renderer/components/layout/sidebar.tsx:89
|
||||
msgid "Network"
|
||||
msgstr ""
|
||||
|
||||
@ -1426,7 +1430,7 @@ msgid "Node shell"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+nodes/nodes.tsx:111
|
||||
#: src/renderer/components/layout/sidebar.tsx:80
|
||||
#: src/renderer/components/layout/sidebar.tsx:86
|
||||
msgid "Nodes"
|
||||
msgstr ""
|
||||
|
||||
@ -1466,6 +1470,10 @@ msgstr ""
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+whats-new/whats-new.tsx:36
|
||||
msgid "Ok, got it!"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/dock/dock.tsx:117
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
@ -2013,7 +2021,7 @@ msgstr ""
|
||||
msgid "Set quota"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+workspaces/clusters-menu.tsx:33
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:43
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
@ -2097,7 +2105,7 @@ msgid "Status URI"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+storage-volume-claims/volume-claim-details.tsx:57
|
||||
#: src/renderer/components/layout/sidebar.tsx:84
|
||||
#: src/renderer/components/layout/sidebar.tsx:90
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
@ -2187,7 +2195,7 @@ msgstr ""
|
||||
msgid "This field must contain only lowercase latin characters, numbers and dash."
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+workspaces/clusters-menu.tsx:62
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:72
|
||||
msgid "This is the quick launch menu."
|
||||
msgstr ""
|
||||
|
||||
@ -2195,7 +2203,7 @@ msgstr ""
|
||||
msgid "To"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:40
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:39
|
||||
msgid "To help us improve the product please report bugs to {slackLink} community or {githubLink} issues tracker."
|
||||
msgstr ""
|
||||
|
||||
@ -2357,15 +2365,19 @@ msgstr ""
|
||||
msgid "Warnings: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+landing-page/landing-page.tsx:18
|
||||
msgid "Welcome!"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+cluster/cluster-metric-switchers.tsx:19
|
||||
msgid "Worker"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:81
|
||||
#: src/renderer/components/layout/sidebar.tsx:87
|
||||
msgid "Workloads"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+workspaces/bottom-bar.tsx:31
|
||||
#: src/renderer/components/cluster-manager/bottom-bar.tsx:35
|
||||
msgid "Workspaces"
|
||||
msgstr ""
|
||||
|
||||
@ -2475,7 +2487,7 @@ msgstr ""
|
||||
msgid "{0} unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.tsx:134
|
||||
#: src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.tsx:129
|
||||
msgid "{accountName} kubeconfig"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@ msgstr ""
|
||||
msgid "API Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:88
|
||||
#: src/renderer/components/layout/sidebar.tsx:94
|
||||
msgid "Access Control"
|
||||
msgstr "Контроль доступа"
|
||||
|
||||
@ -200,7 +200,7 @@ msgstr "Сбой работы приложения на <0>{pageUrl}</0>"
|
||||
msgid "Applying.."
|
||||
msgstr "Применение.."
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:87
|
||||
#: src/renderer/components/layout/sidebar.tsx:93
|
||||
msgid "Apps"
|
||||
msgstr "Приложения"
|
||||
|
||||
@ -212,7 +212,7 @@ msgstr "Выполнить команду drain для ноды <0>{nodeName}</0
|
||||
msgid "Arguments"
|
||||
msgstr "Аргументы"
|
||||
|
||||
#: src/renderer/components/+workspaces/clusters-menu.tsx:64
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:74
|
||||
msgid "Associate clusters and choose the ones you want to access via quick launch menu by clicking the + button."
|
||||
msgstr ""
|
||||
|
||||
@ -220,7 +220,7 @@ msgstr ""
|
||||
msgid "Auth App Role"
|
||||
msgstr "Auth App Role"
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:54
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:53
|
||||
#: src/renderer/components/wizard/wizard.tsx:130
|
||||
msgid "Back"
|
||||
msgstr "Назад"
|
||||
@ -243,8 +243,8 @@ msgid "Bindings"
|
||||
msgstr "Привязки"
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:37
|
||||
msgid "Build version"
|
||||
msgstr "Версия билда"
|
||||
#~ msgid "Build version"
|
||||
#~ msgstr "Версия билда"
|
||||
|
||||
#: src/renderer/components/+workloads-pods/container-charts.tsx:74
|
||||
#: src/renderer/components/+workloads-pods/pod-charts.tsx:100
|
||||
@ -386,7 +386,7 @@ msgid "Cloud API Token Secret"
|
||||
msgstr "Cloud API Token Secret"
|
||||
|
||||
#: src/renderer/components/+namespaces/namespace-select.tsx:43
|
||||
#: src/renderer/components/layout/sidebar.tsx:79
|
||||
#: src/renderer/components/layout/sidebar.tsx:85
|
||||
msgid "Cluster"
|
||||
msgstr "Кластер"
|
||||
|
||||
@ -408,7 +408,7 @@ msgstr "Команда"
|
||||
msgid "Common Name"
|
||||
msgstr "Общее имя"
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:76
|
||||
#: src/renderer/components/layout/sidebar.tsx:80
|
||||
msgid "Compact view"
|
||||
msgstr "Компактный вид"
|
||||
|
||||
@ -417,7 +417,7 @@ msgstr "Компактный вид"
|
||||
msgid "Completions"
|
||||
msgstr "Завершения"
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:46
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:45
|
||||
msgid "Component stack"
|
||||
msgstr "Стэк компонентов"
|
||||
|
||||
@ -452,7 +452,7 @@ msgstr "ConfigMap <0>{0}</0> успешно обновлена."
|
||||
msgid "ConfigMaps"
|
||||
msgstr "ConfigMaps"
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:82
|
||||
#: src/renderer/components/layout/sidebar.tsx:88
|
||||
msgid "Configuration"
|
||||
msgstr "Конфигурация"
|
||||
|
||||
@ -615,7 +615,7 @@ msgid "Currently applied filters:"
|
||||
msgstr "Текущие фильтры:"
|
||||
|
||||
#: src/renderer/components/+custom-resources/crd-list.tsx:55
|
||||
#: src/renderer/components/layout/sidebar.tsx:89
|
||||
#: src/renderer/components/layout/sidebar.tsx:95
|
||||
msgid "Custom Resources"
|
||||
msgstr ""
|
||||
|
||||
@ -679,7 +679,7 @@ msgstr "Описание"
|
||||
msgid "Desired number of replicas"
|
||||
msgstr "Нужный уровень реплик"
|
||||
|
||||
#: src/renderer/components/+workspaces/clusters-menu.tsx:40
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:49
|
||||
msgid "Disconnect"
|
||||
msgstr ""
|
||||
|
||||
@ -760,14 +760,14 @@ msgstr "Название"
|
||||
msgid "Environment"
|
||||
msgstr "Среда"
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:50
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:49
|
||||
msgid "Error stack"
|
||||
msgstr "Стэк ошибки"
|
||||
|
||||
#: src/renderer/components/+events/events.tsx:56
|
||||
#: src/renderer/components/+events/kube-event-details.tsx:34
|
||||
#: src/renderer/components/+events/kube-event-details.tsx:39
|
||||
#: src/renderer/components/layout/sidebar.tsx:86
|
||||
#: src/renderer/components/layout/sidebar.tsx:92
|
||||
msgid "Events"
|
||||
msgstr "События"
|
||||
|
||||
@ -785,8 +785,8 @@ msgid "Exit full size mode"
|
||||
msgstr "Выйти из полного размера"
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:76
|
||||
msgid "Extended view"
|
||||
msgstr "Расширенный вид"
|
||||
#~ msgid "Extended view"
|
||||
#~ msgstr "Расширенный вид"
|
||||
|
||||
#: src/renderer/components/+network-services/services.tsx:49
|
||||
msgid "External IP"
|
||||
@ -845,6 +845,10 @@ msgstr "От <0>{from}</0> до <1>{to}</1>"
|
||||
msgid "Fs Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+landing-page/landing-page.tsx:21
|
||||
msgid "Get started by associating one or more clusters to Lens."
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+custom-resources/crd-details.tsx:32
|
||||
#: src/renderer/components/+custom-resources/crd-list.tsx:58
|
||||
#: src/renderer/components/+custom-resources/crd-list.tsx:74
|
||||
@ -1336,7 +1340,7 @@ msgid "Namespace: {0}"
|
||||
msgstr "Namespace: {0}"
|
||||
|
||||
#: src/renderer/components/+namespaces/namespaces.tsx:30
|
||||
#: src/renderer/components/layout/sidebar.tsx:85
|
||||
#: src/renderer/components/layout/sidebar.tsx:91
|
||||
msgid "Namespaces"
|
||||
msgstr "Namespaces"
|
||||
|
||||
@ -1346,7 +1350,7 @@ msgstr "Namespaces: {0}"
|
||||
|
||||
#: src/renderer/components/+network-ingresses/ingress-details.tsx:66
|
||||
#: src/renderer/components/+workloads-pods/pod-charts.tsx:13
|
||||
#: src/renderer/components/layout/sidebar.tsx:83
|
||||
#: src/renderer/components/layout/sidebar.tsx:89
|
||||
msgid "Network"
|
||||
msgstr "Сеть"
|
||||
|
||||
@ -1444,7 +1448,7 @@ msgid "Node shell"
|
||||
msgstr "Командная строка ноды"
|
||||
|
||||
#: src/renderer/components/+nodes/nodes.tsx:111
|
||||
#: src/renderer/components/layout/sidebar.tsx:80
|
||||
#: src/renderer/components/layout/sidebar.tsx:86
|
||||
msgid "Nodes"
|
||||
msgstr "Ноды"
|
||||
|
||||
@ -1484,6 +1488,10 @@ msgstr "Объект"
|
||||
msgid "Ok"
|
||||
msgstr "Ок"
|
||||
|
||||
#: src/renderer/components/+whats-new/whats-new.tsx:36
|
||||
msgid "Ok, got it!"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/dock/dock.tsx:117
|
||||
msgid "Open"
|
||||
msgstr "Открыть"
|
||||
@ -2031,7 +2039,7 @@ msgstr "Установлено"
|
||||
msgid "Set quota"
|
||||
msgstr "Установить квоту"
|
||||
|
||||
#: src/renderer/components/+workspaces/clusters-menu.tsx:33
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:43
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
@ -2115,7 +2123,7 @@ msgid "Status URI"
|
||||
msgstr "Адрес статуса"
|
||||
|
||||
#: src/renderer/components/+storage-volume-claims/volume-claim-details.tsx:57
|
||||
#: src/renderer/components/layout/sidebar.tsx:84
|
||||
#: src/renderer/components/layout/sidebar.tsx:90
|
||||
msgid "Storage"
|
||||
msgstr "Storage"
|
||||
|
||||
@ -2205,7 +2213,7 @@ msgstr "Это обязательное поле"
|
||||
msgid "This field must contain only lowercase latin characters, numbers and dash."
|
||||
msgstr "Это поле может содержать только латинские буквы в нижнем регистре, номера и дефис."
|
||||
|
||||
#: src/renderer/components/+workspaces/clusters-menu.tsx:62
|
||||
#: src/renderer/components/cluster-manager/clusters-menu.tsx:72
|
||||
msgid "This is the quick launch menu."
|
||||
msgstr ""
|
||||
|
||||
@ -2213,7 +2221,7 @@ msgstr ""
|
||||
msgid "To"
|
||||
msgstr "Из"
|
||||
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:40
|
||||
#: src/renderer/components/error-boundary/error-boundary.tsx:39
|
||||
msgid "To help us improve the product please report bugs to {slackLink} community or {githubLink} issues tracker."
|
||||
msgstr "Чтобы помочь нам улучшить продукт пожалуйста отправляйте ошибки на {slackLink} сообщество или {githubLink} трекер ошибок."
|
||||
|
||||
@ -2375,15 +2383,19 @@ msgstr "Ожидание запуска сервисов"
|
||||
msgid "Warnings: {0}"
|
||||
msgstr "Предупреждения: {0}"
|
||||
|
||||
#: src/renderer/components/+landing-page/landing-page.tsx:18
|
||||
msgid "Welcome!"
|
||||
msgstr ""
|
||||
|
||||
#: src/renderer/components/+cluster/cluster-metric-switchers.tsx:19
|
||||
msgid "Worker"
|
||||
msgstr "Рабочие"
|
||||
|
||||
#: src/renderer/components/layout/sidebar.tsx:81
|
||||
#: src/renderer/components/layout/sidebar.tsx:87
|
||||
msgid "Workloads"
|
||||
msgstr "Ресурсы"
|
||||
|
||||
#: src/renderer/components/+workspaces/bottom-bar.tsx:31
|
||||
#: src/renderer/components/cluster-manager/bottom-bar.tsx:35
|
||||
msgid "Workspaces"
|
||||
msgstr ""
|
||||
|
||||
@ -2493,7 +2505,7 @@ msgstr "{0} всего, {1} доступно"
|
||||
msgid "{0} unavailable"
|
||||
msgstr "{0} недоступно"
|
||||
|
||||
#: src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.tsx:134
|
||||
#: src/renderer/components/kubeconfig-dialog/kubeconfig-dialog.tsx:129
|
||||
msgid "{accountName} kubeconfig"
|
||||
msgstr "{accountName} конфигурация"
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ export class Cluster implements ClusterModel {
|
||||
protected kubeconfigManager: KubeconfigManager;
|
||||
|
||||
public whenReady = when(() => this.initialized);
|
||||
protected disposers: CallableFunction[] = [];
|
||||
protected disposers: Function[] = [];
|
||||
|
||||
@observable initialized = false;
|
||||
@observable contextName: string;
|
||||
|
||||
@ -74,7 +74,7 @@ async function main() {
|
||||
}
|
||||
|
||||
// create window manager and open app
|
||||
windowManager = new WindowManager();
|
||||
windowManager = new WindowManager(proxyPort);
|
||||
windowManager.showSplash();
|
||||
}
|
||||
|
||||
|
||||
@ -126,6 +126,10 @@ export class LensProxy {
|
||||
}
|
||||
|
||||
protected async handleRequest(proxy: httpProxy, req: http.IncomingMessage, res: http.ServerResponse) {
|
||||
if (req.headers.host.split(":")[0] === "no-clusters.localhost") {
|
||||
this.router.handleStaticFile(req.url, res);
|
||||
return;
|
||||
}
|
||||
const cluster = this.clusterManager.getClusterForRequest(req)
|
||||
if (!cluster) {
|
||||
const reqId = this.getRequestId(req);
|
||||
|
||||
@ -52,20 +52,20 @@ export class Router {
|
||||
const matchingRoute = this.router.route(method, path);
|
||||
const routeFound = !matchingRoute.isBoom;
|
||||
if (routeFound) {
|
||||
const request = await this.getRequest({
|
||||
req, res, cluster, url,
|
||||
params: matchingRoute.params
|
||||
});
|
||||
const request = await this.getRequest({ req, res, cluster, url, params: matchingRoute.params });
|
||||
await matchingRoute.route(request)
|
||||
return true
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected async getRequest(opts: RouterRequestOpts) {
|
||||
protected async getRequest(opts: RouterRequestOpts): Promise<LensApiRequest> {
|
||||
const { req, res, url, cluster, params } = opts
|
||||
const { payload } = await Subtext.parse(req, null, { parse: true, output: 'data' });
|
||||
const request: LensApiRequest = {
|
||||
const { payload } = await Subtext.parse(req, null, {
|
||||
parse: true,
|
||||
output: "data",
|
||||
});
|
||||
return {
|
||||
cluster: cluster,
|
||||
path: url.pathname,
|
||||
raw: {
|
||||
@ -76,7 +76,6 @@ export class Router {
|
||||
payload: payload,
|
||||
params: params
|
||||
}
|
||||
return request
|
||||
}
|
||||
|
||||
protected getMimeType(filename: string) {
|
||||
@ -95,15 +94,15 @@ export class Router {
|
||||
return mimeTypes[path.extname(filename).slice(1)] || "text/plain"
|
||||
}
|
||||
|
||||
protected async handleStaticFile(filePath: string, response: http.ServerResponse) {
|
||||
const asset = path.resolve(outDir, filePath);
|
||||
async handleStaticFile(filePath: string, res: http.ServerResponse) {
|
||||
const asset = path.join(outDir, filePath);
|
||||
try {
|
||||
const data = await readFile(asset);
|
||||
response.setHeader("Content-Type", this.getMimeType(asset));
|
||||
response.write(data)
|
||||
response.end()
|
||||
res.setHeader("Content-Type", this.getMimeType(asset));
|
||||
res.write(data)
|
||||
res.end()
|
||||
} catch (err) {
|
||||
this.handleStaticFile(`${appName}.html`, response);
|
||||
this.handleStaticFile(`${appName}.html`, res);
|
||||
}
|
||||
}
|
||||
|
||||
@ -111,7 +110,7 @@ export class Router {
|
||||
// Static assets
|
||||
this.router.add({ method: 'get', path: '/{path*}' }, ({ params, response }: LensApiRequest) => {
|
||||
this.handleStaticFile(params.path, response);
|
||||
})
|
||||
});
|
||||
|
||||
this.router.add({ method: "get", path: `${apiPrefix}/config` }, configRoute.routeConfig.bind(configRoute))
|
||||
this.router.add({ method: "get", path: `${apiPrefix}/kubeconfig/service-account/{namespace}/{account}` }, kubeconfigRoute.routeServiceAccountRoute.bind(kubeconfigRoute))
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { reaction } from "mobx";
|
||||
import { autorun, reaction } from "mobx";
|
||||
import { BrowserWindow, shell } from "electron"
|
||||
import windowStateKeeper from "electron-window-state"
|
||||
import type { ClusterId } from "../common/cluster-store";
|
||||
@ -15,7 +15,7 @@ export class WindowManager {
|
||||
protected splashWindow: BrowserWindow;
|
||||
protected windowState: windowStateKeeper.State;
|
||||
|
||||
constructor() {
|
||||
constructor(protected proxyPort: number) {
|
||||
this.splashWindow = new BrowserWindow({
|
||||
width: 500,
|
||||
height: 300,
|
||||
@ -60,22 +60,22 @@ export class WindowManager {
|
||||
this.destroyView(cluster.id);
|
||||
});
|
||||
}),
|
||||
);
|
||||
|
||||
// handle initial view load without clusters
|
||||
// if (!clusterStore.clusters.size) {
|
||||
// this.initNoClustersView();
|
||||
// }
|
||||
// handle no-clusters view
|
||||
autorun(() => {
|
||||
if (!clusterStore.clusters.size) {
|
||||
this.initNoClustersView();
|
||||
}
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
// fixme: first run without clusters
|
||||
// protected async initNoClustersView() {
|
||||
// const htmlView = path.join(__dirname, `${appName}.html`);
|
||||
// const view = this.initView(undefined);
|
||||
// await view.loadFile(htmlView);
|
||||
// view.show();
|
||||
// this.hideSplash();
|
||||
// }
|
||||
protected async initNoClustersView() {
|
||||
this.activeView = this.initView(undefined);
|
||||
await this.activeView.loadURL(`http://no-clusters.localhost:${this.proxyPort}`);
|
||||
this.activeView.show();
|
||||
this.hideSplash();
|
||||
}
|
||||
|
||||
async showSplash() {
|
||||
await this.splashWindow.loadURL("static://splash.html")
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import "./app.scss";
|
||||
|
||||
import React, { Fragment } from "react";
|
||||
import { observer } from "mobx-react";
|
||||
import { i18nStore } from "../i18n";
|
||||
@ -31,9 +30,10 @@ import { CustomResources } from "./+custom-resources/custom-resources";
|
||||
import { crdRoute } from "./+custom-resources";
|
||||
import { isAllowedResource } from "../api/rbac";
|
||||
import { AddCluster, addClusterRoute } from "./+add-cluster";
|
||||
import { LandingPage, landingRoute } from "./+landing-page";
|
||||
import { LandingPage, landingRoute, landingURL } from "./+landing-page";
|
||||
import { clusterStore } from "../../common/cluster-store";
|
||||
import { ClusterSettings, clusterSettingsRoute } from "./+cluster-settings";
|
||||
import { Workspaces, workspacesRoute } from "./+workspaces";
|
||||
|
||||
@observer
|
||||
export class App extends React.Component {
|
||||
@ -45,16 +45,24 @@ export class App extends React.Component {
|
||||
await Terminal.preloadFonts();
|
||||
}
|
||||
|
||||
get startURL() {
|
||||
if (!clusterStore.clusters.size) {
|
||||
return landingURL();
|
||||
}
|
||||
if (isAllowedResource(["events", "nodes", "pods"])) {
|
||||
return clusterURL();
|
||||
}
|
||||
return workloadsURL();
|
||||
}
|
||||
|
||||
render() {
|
||||
const noClusters = clusterStore.clusters.size === 0;
|
||||
const homeUrl = isAllowedResource(["events", "nodes", "pods"]) ? clusterURL() : workloadsURL();
|
||||
return (
|
||||
<Fragment>
|
||||
<Switch>
|
||||
<Switch>
|
||||
{noClusters && <Route component={LandingPage}/>}
|
||||
<Route component={LandingPage} {...landingRoute}/>
|
||||
<Route component={AddCluster} {...addClusterRoute}/>
|
||||
<Route component={Workspaces} {...workspacesRoute}/>
|
||||
<Route component={ClusterSettings} {...clusterSettingsRoute}/>
|
||||
<Route component={Cluster} {...clusterRoute}/>
|
||||
<Route component={Nodes} {...nodesRoute}/>
|
||||
@ -67,8 +75,8 @@ export class App extends React.Component {
|
||||
<Route component={CustomResources} {...crdRoute}/>
|
||||
<Route component={UserManagement} {...usersManagementRoute}/>
|
||||
<Route component={Apps} {...appsRoute}/>
|
||||
<Redirect exact from="/" to={homeUrl}/>
|
||||
<Route path="*" component={NotFound}/>
|
||||
<Redirect exact from="/" to={this.startURL}/>
|
||||
<Route component={NotFound}/>
|
||||
</Switch>
|
||||
</Switch>
|
||||
<KubeObjectDetails/>
|
||||
|
||||
@ -16,6 +16,9 @@ export class ConfigStore {
|
||||
}
|
||||
|
||||
load() {
|
||||
if (location.hostname === "no-clusters.localhost") {
|
||||
return;
|
||||
}
|
||||
return apiBase.get("/config").then((config: IConfigRoutePayload) => {
|
||||
this.config = config;
|
||||
this.isLoaded = true;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user