From 640a9855aaab8cbb6451027874fe9af7536ce43d Mon Sep 17 00:00:00 2001 From: pierrephz Date: Wed, 20 Nov 2024 11:03:17 +0100 Subject: [PATCH 1/3] console: Work on a tertiary button --- pkg/webui/components/button/button.styl | 68 ++++++++++++++++--- pkg/webui/components/button/index.js | 2 + .../blurry-noc-metrics-panel/index.js | 6 +- .../total-end-devices-upseller-panel/index.js | 7 +- pkg/webui/locales/en.json | 16 +++++ pkg/webui/locales/ja.json | 16 +++++ sdk/js/generated/api-definition.json | 8 +++ 7 files changed, 103 insertions(+), 20 deletions(-) diff --git a/pkg/webui/components/button/button.styl b/pkg/webui/components/button/button.styl index 969620f0ee..f5057163d9 100644 --- a/pkg/webui/components/button/button.styl +++ b/pkg/webui/components/button/button.styl @@ -19,10 +19,10 @@ // where the button is used as a container. reset-button() - &.primary, &.secondary, &.naked + &.primary, &.secondary, &.tertiary, &.naked position: relative display: inline-flex - transition: 80ms background ease-in-out, 80ms color ease-in-out, 80ms border-color ease-in-out, 80ms box-shadow ease-in-out + transition: .1s background ease-in-out, .1s color ease-in-out, .1s border-color ease-in-out, .1s box-shadow ease-in-out border-radius: $br.m outline: 0 cursor: pointer @@ -31,6 +31,7 @@ gap: $cs.xxs height: $default-input-height text-decoration: none + font-weight: $fw.bold padding: 0 $cs.m white-space: nowrap box-sizing: border-box @@ -72,7 +73,6 @@ &.primary:not(.naked) color: var(--c-text-neutral-min) - background-color: var(--c-text-brand-normal) &:disabled @@ -123,19 +123,17 @@ &.secondary color: var(--c-text-neutral-heavy) background-color: var(--c-bg-neutral-min) - box-shadow: 0px 2px 2px 0px rgba(0 0 0 4.5%), inset 0px 0px 0px 1px var(--c-bg-neutral-min) - gradient-border(var(--c-bg-neutral-min), var(--c-gradient-neutral-light-01), var(--c-gradient-neutral-light-02)) - border: 1px solid transparent + border: solid 1px var(--c-border-neutral-light) &:not(:disabled) &:hover - gradient-border(var(--c-bg-neutral-extralight), var(--c-gradient-neutral-light-01), var(--c-gradient-neutral-light-02)) + background-color: var(--c-bg-neutral-light) +focus-visible() - gradient-border(var(--c-bg-neutral-extralight), var(--c-gradient-neutral-light-01), var(--c-gradient-neutral-light-02)) + gradient-border(var(--c-bg-neutral-light), var(--c-gradient-neutral-light-01), var(--c-gradient-neutral-light-02)) &:active - gradient-border(var(--c-bg-neutral-extralight), var(--c-gradient-neutral-light-01), var(--c-gradient-neutral-light-02)) + gradient-border(var(--c-bg-neutral-light), var(--c-gradient-neutral-light-01), var(--c-gradient-neutral-light-02)) box-shadow: none &.warning @@ -182,6 +180,58 @@ width: 1.2rem height: 1.2rem + &.tertiary + color: var(--c-text-brand-normal) + background-color: var(--c-bg-brand-light) + + &:disabled + color: var(--c-text-neutral-light) + background-color: var(--c-border-neutral-light) + + &:not(:disabled) + &:hover + background-color: var(--c-bg-brand-semilight) + + +focus-visible() + background-color: var(--c-bg-brand-light) + + &:active + background-color: var(--c-text-brand-light) + + &.warning + color: var(--c-text-warning-normal) + background-color: var(--c-bg-warning-light) + + &:not(:disabled) + &:hover + background-color: var(--c-bg-warning-semilight) + + +focus-visible() + background-color: var(--c-bg-warning-semilight) + + &:active + background-color: var(--c-bg-warning-ligth) + + &:disabled + background-color: var(--c-bg-warning-normal-disabled) + + &.danger + color: var(--c-text-danger-normal) + background-color: var(--c-bg-error-light) + + &:not(:disabled) + &:hover + background-color: var(--c-bg-error-semilight) + + +focus-visible() + background-color: var(--c-bg-error-semilight) + + &:active + background-color: var(--c-bg-error-normal-active) + + &:disabled + background-color: var(--c-bg-error-normal-disabled) + &.naked:not(.primary) color: var(--c-text-neutral-light) diff --git a/pkg/webui/components/button/index.js b/pkg/webui/components/button/index.js index 8ec86b9ec4..f3bf060874 100644 --- a/pkg/webui/components/button/index.js +++ b/pkg/webui/components/button/index.js @@ -38,6 +38,7 @@ const assembleClassnames = ({ warning, primary, secondary, + tertiary, naked, icon, small, @@ -54,6 +55,7 @@ const assembleClassnames = ({ [style.warning]: warning, [style.primary]: primary, [style.secondary]: secondary, + [style.tertiary]: tertiary, [style.naked]: naked, [style.busy]: busy, [style.small]: small, diff --git a/pkg/webui/console/components/blurry-noc-metrics-panel/index.js b/pkg/webui/console/components/blurry-noc-metrics-panel/index.js index 2962e39bc7..34dcfcff61 100644 --- a/pkg/webui/console/components/blurry-noc-metrics-panel/index.js +++ b/pkg/webui/console/components/blurry-noc-metrics-panel/index.js @@ -65,15 +65,11 @@ const BlurryNocMetricsPanel = ({ title, icon }) => { content={sharedMessages.quicklyTroubleshoot} /> diff --git a/pkg/webui/console/components/total-end-devices-upseller-panel/index.js b/pkg/webui/console/components/total-end-devices-upseller-panel/index.js index 22de5fcc67..109e147a36 100644 --- a/pkg/webui/console/components/total-end-devices-upseller-panel/index.js +++ b/pkg/webui/console/components/total-end-devices-upseller-panel/index.js @@ -13,7 +13,6 @@ // limitations under the License. import React from 'react' -import classnames from 'classnames' import { IconBolt, IconDevice } from '@ttn-lw/components/icon' import Panel from '@ttn-lw/components/panel' @@ -48,15 +47,11 @@ const TotalEndDevicesUpsellerPanel = () => { content={sharedMessages.quicklyTroubleshoot} /> diff --git a/pkg/webui/locales/en.json b/pkg/webui/locales/en.json index 61310b878d..757e38b6cb 100644 --- a/pkg/webui/locales/en.json +++ b/pkg/webui/locales/en.json @@ -517,6 +517,20 @@ "console.containers.documentation-dashboard-panel.index.tts": "The Things Stack", "console.containers.documentation-dashboard-panel.index.reference": "Reference", "console.containers.documentation-dashboard-panel.index.gettingStarted": "Getting started", + "console.containers.email-notifications-form.index.CLIENT_REQUESTED": "New OAuth client requested", + "console.containers.email-notifications-form.index.USER_REQUESTED": "New user requested to join", + "console.containers.email-notifications-form.index.API_KEY_CREATED": "API Key created for an entity", + "console.containers.email-notifications-form.index.API_KEY_CHANGED": "API key changed in an entity", + "console.containers.email-notifications-form.index.COLLABORATOR_CHANGED": "Collaborator created or changed in an entity", + "console.containers.email-notifications-form.index.ENTITY_STATE_CHANGED": "State of an entity has changed", + "console.containers.email-notifications-form.index.INVITATION": "User invitation has been sent", + "console.containers.email-notifications-form.index.PASSWORD_CHANGED": "Password was changed", + "console.containers.email-notifications-form.index.errorNotification": "Admins can't unsubscribe from all email notifications, since there are notifications that require admin action.", + "console.containers.email-notifications-form.index.requiresAdminAction": "Requires admin action, can't be unselected", + "console.containers.email-notifications-form.index.unsubscribeFromEverything": "Turn off all email notifications", + "console.containers.email-notifications-form.index.unsubscribeDescription": "You will continue to receive notifications in the console.", + "console.containers.email-notifications-form.index.discardChanges": "Discard changes", + "console.containers.email-notifications-form.index.updateEmailPreferences": "Updated email preferences", "console.containers.event-split-frame.index.expandEventPanel": "Expand live data overlay", "console.containers.freq-plans-select.utils.warning": "Frequency plans unavailable", "console.containers.freq-plans-select.utils.none": "Do not set a frequency plan", @@ -997,6 +1011,8 @@ "console.views.gateway-general-settings.messages.techContactDescription": "Technical contact information for this gateway. Typically used to indicate who to contact with technical/security questions about the gateway.", "console.views.gateway-general-settings.messages.deleteGatewayDefaultMessage": "This will PERMANENTLY DELETE THE ENTITY ITSELF AND ALL ASSOCIATED ENTITIES, including collaborator associations. It will also NOT BE POSSIBLE TO REUSE THE ENTITY ID until purged by an admin but the EUI can be reregistered later with a different ID.", "console.views.organization-add.index.orgDescription": "Organizations are used to group multiple users and assigning collective rights for them. An organization can then be set as collaborator of applications or gateways. This makes it easy to grant or revoke rights to entities for a group of users.{break} Learn more in our guide on Organization Management.", + "console.views.user-settings-email-notifications.index.emailNotifications": "Email notifications", + "console.views.user-settings-email-notifications.index.customizeEmailNotifications": "Customize the notifications for which you receive emails. To see all your notifications, head to the notifications panel.", "console.views.user-settings-oauth-auth-settings.index.deleteButton": "Revoke authorization", "console.views.user-settings-oauth-auth-settings.index.deleteSuccess": "This authorization was successfully revoked", "console.views.user-settings-oauth-auth-settings.index.deleteFailure": "There was an error and this authorization could not be revoked", diff --git a/pkg/webui/locales/ja.json b/pkg/webui/locales/ja.json index 72b0ab30f0..47033da8a5 100644 --- a/pkg/webui/locales/ja.json +++ b/pkg/webui/locales/ja.json @@ -517,6 +517,20 @@ "console.containers.documentation-dashboard-panel.index.tts": "", "console.containers.documentation-dashboard-panel.index.reference": "", "console.containers.documentation-dashboard-panel.index.gettingStarted": "", + "console.containers.email-notifications-form.index.CLIENT_REQUESTED": "", + "console.containers.email-notifications-form.index.USER_REQUESTED": "", + "console.containers.email-notifications-form.index.API_KEY_CREATED": "", + "console.containers.email-notifications-form.index.API_KEY_CHANGED": "", + "console.containers.email-notifications-form.index.COLLABORATOR_CHANGED": "", + "console.containers.email-notifications-form.index.ENTITY_STATE_CHANGED": "", + "console.containers.email-notifications-form.index.INVITATION": "", + "console.containers.email-notifications-form.index.PASSWORD_CHANGED": "", + "console.containers.email-notifications-form.index.errorNotification": "", + "console.containers.email-notifications-form.index.requiresAdminAction": "", + "console.containers.email-notifications-form.index.unsubscribeFromEverything": "", + "console.containers.email-notifications-form.index.unsubscribeDescription": "", + "console.containers.email-notifications-form.index.discardChanges": "", + "console.containers.email-notifications-form.index.updateEmailPreferences": "", "console.containers.event-split-frame.index.expandEventPanel": "", "console.containers.freq-plans-select.utils.warning": "", "console.containers.freq-plans-select.utils.none": "", @@ -997,6 +1011,8 @@ "console.views.gateway-general-settings.messages.techContactDescription": "", "console.views.gateway-general-settings.messages.deleteGatewayDefaultMessage": "", "console.views.organization-add.index.orgDescription": "", + "console.views.user-settings-email-notifications.index.emailNotifications": "", + "console.views.user-settings-email-notifications.index.customizeEmailNotifications": "", "console.views.user-settings-oauth-auth-settings.index.deleteButton": "", "console.views.user-settings-oauth-auth-settings.index.deleteSuccess": "", "console.views.user-settings-oauth-auth-settings.index.deleteFailure": "", diff --git a/sdk/js/generated/api-definition.json b/sdk/js/generated/api-definition.json index 2afde1b91e..c07f3b0edf 100644 --- a/sdk/js/generated/api-definition.json +++ b/sdk/js/generated/api-definition.json @@ -7457,6 +7457,8 @@ "created_at", "deleted_at", "description", + "email_notification_preferences", + "email_notification_preferences.types", "ids", "ids.email", "ids.user_id", @@ -7818,6 +7820,8 @@ "created_at", "deleted_at", "description", + "email_notification_preferences", + "email_notification_preferences.types", "ids", "ids.email", "ids.user_id", @@ -7873,6 +7877,8 @@ "created_at", "deleted_at", "description", + "email_notification_preferences", + "email_notification_preferences.types", "ids", "ids.email", "ids.user_id", @@ -7931,6 +7937,8 @@ "created_at", "deleted_at", "description", + "email_notification_preferences", + "email_notification_preferences.types", "ids", "ids.email", "ids.user_id", From 70de5d8ef200558437a5cf5d2d4def3246f5baca Mon Sep 17 00:00:00 2001 From: pierrephz Date: Wed, 20 Nov 2024 13:24:32 +0100 Subject: [PATCH 2/3] console: Fix branch --- pkg/webui/locales/en.json | 16 ---------------- pkg/webui/locales/ja.json | 16 ---------------- 2 files changed, 32 deletions(-) diff --git a/pkg/webui/locales/en.json b/pkg/webui/locales/en.json index 757e38b6cb..61310b878d 100644 --- a/pkg/webui/locales/en.json +++ b/pkg/webui/locales/en.json @@ -517,20 +517,6 @@ "console.containers.documentation-dashboard-panel.index.tts": "The Things Stack", "console.containers.documentation-dashboard-panel.index.reference": "Reference", "console.containers.documentation-dashboard-panel.index.gettingStarted": "Getting started", - "console.containers.email-notifications-form.index.CLIENT_REQUESTED": "New OAuth client requested", - "console.containers.email-notifications-form.index.USER_REQUESTED": "New user requested to join", - "console.containers.email-notifications-form.index.API_KEY_CREATED": "API Key created for an entity", - "console.containers.email-notifications-form.index.API_KEY_CHANGED": "API key changed in an entity", - "console.containers.email-notifications-form.index.COLLABORATOR_CHANGED": "Collaborator created or changed in an entity", - "console.containers.email-notifications-form.index.ENTITY_STATE_CHANGED": "State of an entity has changed", - "console.containers.email-notifications-form.index.INVITATION": "User invitation has been sent", - "console.containers.email-notifications-form.index.PASSWORD_CHANGED": "Password was changed", - "console.containers.email-notifications-form.index.errorNotification": "Admins can't unsubscribe from all email notifications, since there are notifications that require admin action.", - "console.containers.email-notifications-form.index.requiresAdminAction": "Requires admin action, can't be unselected", - "console.containers.email-notifications-form.index.unsubscribeFromEverything": "Turn off all email notifications", - "console.containers.email-notifications-form.index.unsubscribeDescription": "You will continue to receive notifications in the console.", - "console.containers.email-notifications-form.index.discardChanges": "Discard changes", - "console.containers.email-notifications-form.index.updateEmailPreferences": "Updated email preferences", "console.containers.event-split-frame.index.expandEventPanel": "Expand live data overlay", "console.containers.freq-plans-select.utils.warning": "Frequency plans unavailable", "console.containers.freq-plans-select.utils.none": "Do not set a frequency plan", @@ -1011,8 +997,6 @@ "console.views.gateway-general-settings.messages.techContactDescription": "Technical contact information for this gateway. Typically used to indicate who to contact with technical/security questions about the gateway.", "console.views.gateway-general-settings.messages.deleteGatewayDefaultMessage": "This will PERMANENTLY DELETE THE ENTITY ITSELF AND ALL ASSOCIATED ENTITIES, including collaborator associations. It will also NOT BE POSSIBLE TO REUSE THE ENTITY ID until purged by an admin but the EUI can be reregistered later with a different ID.", "console.views.organization-add.index.orgDescription": "Organizations are used to group multiple users and assigning collective rights for them. An organization can then be set as collaborator of applications or gateways. This makes it easy to grant or revoke rights to entities for a group of users.{break} Learn more in our guide on Organization Management.", - "console.views.user-settings-email-notifications.index.emailNotifications": "Email notifications", - "console.views.user-settings-email-notifications.index.customizeEmailNotifications": "Customize the notifications for which you receive emails. To see all your notifications, head to the notifications panel.", "console.views.user-settings-oauth-auth-settings.index.deleteButton": "Revoke authorization", "console.views.user-settings-oauth-auth-settings.index.deleteSuccess": "This authorization was successfully revoked", "console.views.user-settings-oauth-auth-settings.index.deleteFailure": "There was an error and this authorization could not be revoked", diff --git a/pkg/webui/locales/ja.json b/pkg/webui/locales/ja.json index 47033da8a5..72b0ab30f0 100644 --- a/pkg/webui/locales/ja.json +++ b/pkg/webui/locales/ja.json @@ -517,20 +517,6 @@ "console.containers.documentation-dashboard-panel.index.tts": "", "console.containers.documentation-dashboard-panel.index.reference": "", "console.containers.documentation-dashboard-panel.index.gettingStarted": "", - "console.containers.email-notifications-form.index.CLIENT_REQUESTED": "", - "console.containers.email-notifications-form.index.USER_REQUESTED": "", - "console.containers.email-notifications-form.index.API_KEY_CREATED": "", - "console.containers.email-notifications-form.index.API_KEY_CHANGED": "", - "console.containers.email-notifications-form.index.COLLABORATOR_CHANGED": "", - "console.containers.email-notifications-form.index.ENTITY_STATE_CHANGED": "", - "console.containers.email-notifications-form.index.INVITATION": "", - "console.containers.email-notifications-form.index.PASSWORD_CHANGED": "", - "console.containers.email-notifications-form.index.errorNotification": "", - "console.containers.email-notifications-form.index.requiresAdminAction": "", - "console.containers.email-notifications-form.index.unsubscribeFromEverything": "", - "console.containers.email-notifications-form.index.unsubscribeDescription": "", - "console.containers.email-notifications-form.index.discardChanges": "", - "console.containers.email-notifications-form.index.updateEmailPreferences": "", "console.containers.event-split-frame.index.expandEventPanel": "", "console.containers.freq-plans-select.utils.warning": "", "console.containers.freq-plans-select.utils.none": "", @@ -1011,8 +997,6 @@ "console.views.gateway-general-settings.messages.techContactDescription": "", "console.views.gateway-general-settings.messages.deleteGatewayDefaultMessage": "", "console.views.organization-add.index.orgDescription": "", - "console.views.user-settings-email-notifications.index.emailNotifications": "", - "console.views.user-settings-email-notifications.index.customizeEmailNotifications": "", "console.views.user-settings-oauth-auth-settings.index.deleteButton": "", "console.views.user-settings-oauth-auth-settings.index.deleteSuccess": "", "console.views.user-settings-oauth-auth-settings.index.deleteFailure": "", From 268c14d1b8d2d50595e12075a47aa2fee54955b0 Mon Sep 17 00:00:00 2001 From: Darya Plotnytska Date: Wed, 20 Nov 2024 13:59:47 +0100 Subject: [PATCH 3/3] dev: Fix api-definitions --- sdk/js/generated/api-definition.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/sdk/js/generated/api-definition.json b/sdk/js/generated/api-definition.json index c07f3b0edf..2afde1b91e 100644 --- a/sdk/js/generated/api-definition.json +++ b/sdk/js/generated/api-definition.json @@ -7457,8 +7457,6 @@ "created_at", "deleted_at", "description", - "email_notification_preferences", - "email_notification_preferences.types", "ids", "ids.email", "ids.user_id", @@ -7820,8 +7818,6 @@ "created_at", "deleted_at", "description", - "email_notification_preferences", - "email_notification_preferences.types", "ids", "ids.email", "ids.user_id", @@ -7877,8 +7873,6 @@ "created_at", "deleted_at", "description", - "email_notification_preferences", - "email_notification_preferences.types", "ids", "ids.email", "ids.user_id", @@ -7937,8 +7931,6 @@ "created_at", "deleted_at", "description", - "email_notification_preferences", - "email_notification_preferences.types", "ids", "ids.email", "ids.user_id",