UI icon indicating copy to clipboard operation
UI copied to clipboard

custom_card_esh_welcome - Font Size Enhancement

Open jarrah31 opened this issue 2 years ago • 4 comments

@EverythingSmartHome

Thank you for your excellent detailed tutorial video that helped me get up to speed with the very useful minimalist Dashboard. I would however like to suggest some font and chip size alterations with your custom_card_esh_welcome module please.

  • Increase the chip size to allow for a larger font
  • Increase font size
  • Have the welcome text on a single line to save space on a mobile view

Current size of the chip and font: image

Suggested size: image

The code changes are as follows:

line 131            return welcome + ', ' + user.name + '!';`

line 359      - width: "67px"
line 360      - height: "99px"

line 382            - width: "35px"

line 386            - width: "57px"
line 387            - height: "57px"

line 415            - font-size: "13px"
line 416            - width: "50px"

line 421            - margin-top: "-10px"

The full set with the changes is here:

---
card_esh_welcome:
  variables:
    ulm_weather: "[[[ return variables.ulm_weather]]]"
    entity_1:
      entity_id:
      icon: "[[[ return entity.attributes.icon ]]]"
      name: "[[[ return entity.attributes.friendly_name ]]]"
      color: >
        [[[
          var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink'];
          var color = colors[Math.floor(Math.random() * colors.length)];
          return color;
        ]]]
    entity_2:
      entity_id:
      icon: "[[[ return entity.attributes.icon  ]]]"
      name: "[[[ return entity.attributes.friendly_name ]]]"
      color: >
        [[[
          var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink'];
          var color = colors[Math.floor(Math.random() * colors.length)];
          return color;
        ]]]
    entity_3:
      entity_id:
      icon: "[[[ return entity.attributes.icon  ]]]"
      name: "[[[ return entity.attributes.friendly_name ]]]"
      color: >
        [[[
          var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink'];
          var color = colors[Math.floor(Math.random() * colors.length)];
          return color;
        ]]]
    entity_4:
      entity_id:
      icon: "[[[ return entity.attributes.icon  ]]]"
      name: "[[[ return entity.attributes.friendly_name ]]]"
      color: >
        [[[
          var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink'];
          var color = colors[Math.floor(Math.random() * colors.length)];
          return color;
        ]]]
    entity_5:
      entity_id:
      icon: "[[[ return entity.attributes.icon  ]]]"
      name: "[[[ return entity.attributes.friendly_name ]]]"
      color: >
        [[[
          var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink'];
          var color = colors[Math.floor(Math.random() * colors.length)];
          return color;
        ]]]
  template:
    - "ulm_language_variables"
  show_icon: false
  show_name: false
  show_label: true
  styles:
    grid:
      - grid-template-areas: >
          [[[
            if(variables.ulm_card_esh_welcome_collapse && states[variables.ulm_card_esh_welcome_collapse].state == 'on'){
              return "\'item1\' \'item2\' ";
            } else {
              return "\'item1\' \'item2\' \'item3\'";
            }
          ]]]
      - grid-template-columns: "1fr"
      - grid-template-rows: "min-content min-content"
      - row-gap: "0px"
    card:
      - border-radius: "var(--border-radius)"
      - box-shadow: "var(--box-shadow)"
      - padding: "10px"
    custom_fields:
      item3:
        - display: >
            [[[
              if(variables.ulm_card_esh_welcome_collapse && states[variables.ulm_card_esh_welcome_collapse].state == 'on'){
                return "none";
              } else {
                return "block";
              }
            ]]]
      item4:
        - display: >
            [[[
              if(variables.ulm_card_esh_welcome_collapse && states[variables.ulm_card_esh_welcome_collapse].state == 'on'){
                return "none";
              } else {
                return "block";
              }
            ]]]
  custom_fields:
    item1:
      card:
        type: "custom:button-card"
        template: "card_esh_welcome_topbar"
        variables:
          ulm_card_esh_welcome_collapse: "[[[ return variables.ulm_card_esh_welcome_collapse ]]]"
          ulm_weather: "[[[ return variables.ulm_weather]]]"
        styles:
          card:
            - border-radius: "none"
            - box-shadow: "none"
            - padding: "4px"
            - margin-left: "relative"
    item2:
      card:
        type: "custom:button-card"
        show_icon: false
        show_label: false
        show_name: true
        show_entity_picture: false
        name: |
          [[[
            var today = new Date();
            var time = today.getHours()
            let welcome = '';
            if (time >= '18'){
              welcome = variables.ulm_evening;
            } else if (time >= '12'){
              welcome = variables.ulm_afternoon;
            } else if (time >= '5'){
              welcome = variables.ulm_morning;
            } else {
              welcome = variables.ulm_hello;
            }
            return welcome + ', ' + user.name + '!';
          ]]]
        styles:
          name:
            - align-self: "start"
            - justify-self: "start"
            - font-weight: "bold"
            - font-size: "24px"
            - margin-left: "16px"
          grid:
            - grid-template-areas: "'i n' 'i l'"
            - grid-template-columns: "min-content auto"
            - grid-template-rows: "min-content min-content"
            - text-align: "start"
          card:
            - box-shadow: "none"
            - padding-bottom: "8px"
    item3:
      card:
        type: "custom:button-card"
        template: >
          [[[
            if(variables.entity_1.nav && variables.entity_2.nav && variables.entity_3.nav && variables.entity_4.nav && variables.entity_5.nav){
              return 'card_esh_welcome_nav'
            }
          ]]]
        styles:
          card:
            - border-radius: "none"
            - box-shadow: "none"
            - padding: "4px"
        variables:
          entity_1: "[[[ return variables.entity_1]]]"
          entity_2: "[[[ return variables.entity_2]]]"
          entity_3: "[[[ return variables.entity_3]]]"
          entity_4: "[[[ return variables.entity_4]]]"
          entity_5: "[[[ return variables.entity_5]]]"

card_esh_welcome_title:
  tap_action:
    action: "none"
  show_icon: false
  show_label: true
  show_name: true
  styles:
    card:
      - background-color: "rgba(0,0,0,0)"
      - box-shadow: "none"
      - height: "auto"
      - width: "auto"
      - margin-top: "-10px"
      - margin-left: "16px"
      - margin-bottom: "-15px"
    grid:
      - grid-template-areas: "'n' 'l'"
      - grid-template-columns: "1fr"
      - grid-template-rows: "min-content min-content"
    name:
      - justify-self: "start"
      - font-weight: "bold"
      - font-size: "20px"
    label:
      - justify-self: "start"
      - font-weight: "bold"
      - font-size: "1rem"
      - opacity: "0.4"

card_esh_welcome_nav:
  show_icon: false
  show_name: true
  show_label: false
  styles:
    grid:
      - grid-template-areas: "'item1 item2 item3 item4 item5'"
      - grid-template-columns: "1fr 1fr 1fr 1fr 1fr"
      - grid-template-rows: "min-content"
      - justify-items: "center"
    card:
      - border-radius: "var(--border-radius)"
      - box-shadow: "var(--box-shadow)"
      - padding: "12px"
      - overflow: "visible"
  custom_fields:
    item1:
      card:
        type: "custom:button-card"
        template: "card_esh_welcome_pill_nav"
        custom_fields:
          item1:
            card:
              type: "custom:button-card"
              tap_action:
                action: "navigate"
                navigation_path: "[[[ return variables.entity_1.nav; ]]]"
              icon: "[[[ return variables.entity_1.icon ]]]"
              styles:
                icon:
                  - color: "[[[ return `rgba(var(--color-${variables.entity_1.color}), 1)`;]]]"
                img_cell:
                  - background-color: "[[[ return `rgba(var(--color-${variables.entity_1.color}), 0.20)`;]]]"
          item2:
            card:
              type: "custom:button-card"
              tap_action:
                action: "navigate"
                navigation_path: "[[[ return variables.entity_1.nav; ]]]"
              name: "[[[ return variables.entity_1.name ]]]"
    item2:
      card:
        type: "custom:button-card"
        template: "card_esh_welcome_pill_nav"
        entity: "[[[ return variables.entity_2.entity_id ]]]"
        custom_fields:
          item1:
            card:
              type: "custom:button-card"
              tap_action:
                action: "navigate"
                navigation_path: "[[[ return variables.entity_2.nav; ]]]"
              icon: "[[[ return variables.entity_2.icon ]]]"
              styles:
                icon:
                  - color: "[[[ return `rgba(var(--color-${variables.entity_2.color}), 1)`;]]]"
                img_cell:
                  - background-color: "[[[ return `rgba(var(--color-${variables.entity_2.color}), 0.20)`;]]]"
          item2:
            card:
              type: "custom:button-card"
              tap_action:
                action: "navigate"
                navigation_path: "[[[ return variables.entity_2.nav; ]]]"
              name: "[[[ return variables.entity_2.name ]]]"
    item3:
      card:
        type: "custom:button-card"
        template: "card_esh_welcome_pill_nav"
        entity: "[[[ return variables.entity_3.entity_id ]]]"
        custom_fields:
          item1:
            card:
              type: "custom:button-card"
              tap_action:
                action: "navigate"
                navigation_path: "[[[ return variables.entity_3.nav; ]]]"
              icon: "[[[ return variables.entity_3.icon ]]]"
              styles:
                icon:
                  - color: "[[[ return `rgba(var(--color-${variables.entity_3.color}), 1)`;]]]"
                img_cell:
                  - background-color: "[[[ return `rgba(var(--color-${variables.entity_3.color}), 0.20)`;]]]"
          item2:
            card:
              type: "custom:button-card"
              tap_action:
                action: "navigate"
                navigation_path: "[[[ return variables.entity_3.nav; ]]]"
              name: "[[[ return variables.entity_3.name ]]]"
    item4:
      card:
        type: "custom:button-card"
        template: "card_esh_welcome_pill_nav"
        entity: "[[[ return variables.entity_4.entity_id ]]]"
        custom_fields:
          item1:
            card:
              type: "custom:button-card"
              tap_action:
                action: "navigate"
                navigation_path: "[[[ return variables.entity_4.nav; ]]]"
              icon: "[[[ return variables.entity_4.icon ]]]"
              styles:
                icon:
                  - color: "[[[ return `rgba(var(--color-${variables.entity_4.color}), 1)`;]]]"
                img_cell:
                  - background-color: "[[[ return `rgba(var(--color-${variables.entity_4.color}), 0.20)`;]]]"
          item2:
            card:
              type: "custom:button-card"
              tap_action:
                action: "navigate"
                navigation_path: "[[[ return variables.entity_4.nav; ]]]"
              name: "[[[ return variables.entity_4.name ]]]"
    item5:
      card:
        type: "custom:button-card"
        template: "card_esh_welcome_pill_nav"
        custom_fields:
          item1:
            card:
              type: "custom:button-card"
              tap_action:
                action: "navigate"
                navigation_path: "[[[ return variables.entity_5.nav; ]]]"
              icon: "[[[ return variables.entity_5.icon ]]]"
              styles:
                icon:
                  - color: "[[[ return `rgba(var(--color-${variables.entity_5.color}), 1)`;]]]"
                img_cell:
                  - background-color: "[[[ return `rgba(var(--color-${variables.entity_5.color}), 0.20)`;]]]"
          item2:
            card:
              type: "custom:button-card"
              tap_action:
                action: "navigate"
                navigation_path: "[[[ return variables.entity_1.nav; ]]]"
              name: "[[[ return variables.entity_5.name ]]]"

card_esh_welcome_pill_nav:
  show_icon: false
  show_label: false
  show_name: false
  state:
    - value: "on"
      styles:
        card:
          - overflow: "visible"
          - box-shadow: "none"
  styles:
    grid:
      - grid-template-areas: "'item1' 'item2'"
      - grid-template-columns: "min-content"
      - grid-template-rows: "1fr 1fr"
      - row-gap: "12px"
      - justify-items: "center"
      - column-gap: "auto"
    card:
      - border-radius: "50px"
      - place-self: "center"
      - width: "67px"
      - height: "99px"
      - box-shadow: >
          [[[
            if (hass.themes.darkMode){
              return "0px 2px 4px 0px rgba(0,0,0,0.80)";
            } else {
              return "var(--box-shadow)";
            }
          ]]]
  color: "var(--google-grey)"
  custom_fields:
    item1:
      card:
        type: "custom:button-card"
        show_icon: true
        show_label: false
        show_name: false
        styles:
          grid:
            - grid-template-areas: "i"
          icon:
            - color: "[[[ return `rgba(var(--color-theme), 0.20)`;]]]"
            - width: "35px"
          img_cell:
            - background-color: "[[[ return `rgba(var(--color-theme), 0.05)`;]]] "
            - border-radius: "50%"
            - width: "57px"
            - height: "57px"
          card:
            - box-shadow: "none"
            - border-radius: "50px"
            - padding: "5px"
        state:
          - value: "on"
            styles:
              card:
                - overflow: "visible"
                - box-shadow: >
                    [[[
                      if (hass.themes.darkMode){
                        return "0px 2px 4px 0px rgba(0,0,0,0.80)";
                      } else {
                        return "var(--box-shadow)";
                      }
                    ]]]
    item2:
      card:
        type: "custom:button-card"
        show_icon: false
        show_label: false
        styles:
          grid:
            - grid-template-areas: "n"
          name:
            - font-weight: "bold"
            - font-size: "13px"
            - width: "50px"
            - padding-bottom: "7px"
          card:
            - box-shadow: "none"
            - padding: "0px 5px 5px 5px"
            - margin-top: "-10px"
            - border-radius: "50px"

card_esh_welcome_topbar:
  show_icon: false
  show_name: true
  show_label: false
  styles:
    grid:
      - grid-template-areas: "'item1 item2 item3'"
      - grid-template-columns: "1fr 7fr 1fr"
      - grid-template-rows: "min-content"
      - justify-items: "center"
    card:
      - border-radius: "var(--border-radius)"
      - box-shadow: "var(--box-shadow)"
      - padding: "12px"
  custom_fields:
    item1:
      card:
        type: "custom:button-card"
        template: "chips"
        entity: "[[[ return variables.ulm_card_esh_welcome_collapse ]]]"
        icon: "mdi:chevron-up"
        show_icon: true
        styles:
          grid:
            - grid-template-areas: "'i'"
          card:
            - box-shadow: >
                [[[
                  if (hass.themes.darkMode){
                    return "0px 2px 4px 0px rgba(0,0,0,0.80)";
                  } else {
                    return "var(--box-shadow)";
                  }
                ]]]
        state:
          - value: "on"
            icon: "mdi:chevron-down"
            styles:
              icon:
                - color: "rgb(var(--color-theme))"
        tap_action:
          action: "call-service"
          service: "input_boolean.toggle"
          service_data:
            entity_id: "[[[ return variables.ulm_card_esh_welcome_collapse ]]]"
    item2:
      card:
        type: "custom:button-card"
        template: "chip_weather_date"
        entity: "[[[ return variables.ulm_weather]]]"
        variables:
          ulm_weather: "[[[ return variables.ulm_weather]]]"
        tap_action:
          action: "more-info"
        styles:
          card:
            - width: "100px"
            - box-shadow: >
                [[[
                  if (hass.themes.darkMode){
                    return "0px 2px 4px 0px rgba(0,0,0,0.80)";
                  } else {
                    return "var(--box-shadow)";
                  }
                ]]]
    item3:
      card:
        type: "custom:button-card"
        tap_action:
          action: "navigate"
          navigation_path: "/config/dashboard"
        template: "chip_mdi_icon_only"
        variables:
          ulm_chip_mdi_icon_only_icon: "mdi:cog-outline"
        styles:
          card:
            - align-self: "end"
            - box-shadow: >
                [[[
                  if (hass.themes.darkMode){
                    return "0px 2px 4px 0px rgba(0,0,0,0.80)";
                  } else {
                    return "var(--box-shadow)";
                  }
                ]]]

jarrah31 avatar May 13 '22 18:05 jarrah31

Good improvements, I think two new variables with multiline: false and big_icons: true could be a possible implementation.

V4n1X avatar Nov 01 '22 15:11 V4n1X

That’s a great hint! I love how you have implemented this.

xm4rcell0x avatar Dec 13 '22 10:12 xm4rcell0x

i had implemented the bigger icons and padding to allow for longer words to actually fit, but after the update to this card that has reverted and with the changes to this card i can't figure out how to get it back

damusmf avatar Apr 12 '23 02:04 damusmf

Thank you for adjusting the font size and symbols, I have followed your method to achieve a better display, if it weren't for your work, I guess I would have to toss for a long time! 20230826 The current version has changed. I adjusted it accordingly. You can directly change the number and use your number to adjust it. The effect is also very good. I have annotated the original location and the current location in Chinese.


card_esh_welcome: template: "ulm_language_variables" variables: ulm_weather: "[[[ return variables.ulm_weather]]]" entity_1: color: > [[[ var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink']; var color = colors[Math.floor(Math.random() * colors.length)]; return color; ]]] entity_2: color: > [[[ var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink']; var color = colors[Math.floor(Math.random() * colors.length)]; return color; ]]] entity_3: color: > [[[ var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink']; var color = colors[Math.floor(Math.random() * colors.length)]; return color; ]]] entity_4: color: > [[[ var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink']; var color = colors[Math.floor(Math.random() * colors.length)]; return color; ]]] entity_5: color: > [[[ var colors = ['yellow', 'blue', 'red', 'purple','green', 'pink']; var color = colors[Math.floor(Math.random() * colors.length)]; return color; ]]] show_icon: false show_label: true show_name: false styles: grid: - grid-template-areas: > [[[ if(variables.ulm_card_esh_welcome_collapse && states[variables.ulm_card_esh_welcome_collapse].state == 'on'){ return "'item1' 'item2' "; } else { return "'item1' 'item2' 'item3'"; } ]]] - grid-template-columns: "1fr" - grid-template-rows: "min-content min-content" - row-gap: "0px" card: - border-radius: "var(--border-radius)" - box-shadow: "var(--box-shadow)" - padding: "10px" - cursor: "default" - "--mdc-ripple-press-opacity": 0 # prevent click animation custom_fields: item3: - display: > [[[ if(variables.ulm_card_esh_welcome_collapse && states[variables.ulm_card_esh_welcome_collapse].state == 'on'){ return "none"; } else { return "block"; } ]]] item4: - display: > [[[ if(variables.ulm_card_esh_welcome_collapse && states[variables.ulm_card_esh_welcome_collapse].state == 'on'){ return "none"; } else { return "block"; } ]]] custom_fields: item1: card: type: "custom:button-card" template: "card_esh_welcome_topbar" variables: ulm_card_esh_welcome_collapse: "[[[ return variables.ulm_card_esh_welcome_collapse ]]]" ulm_weather: "[[[ return variables.ulm_weather]]]" styles: card: - border-radius: "none" - box-shadow: "none" - padding: "4px" - margin-left: "relative" - cursor: "default" - "--mdc-ripple-press-opacity": 0 # prevent click animation item2: card: type: "custom:button-card" show_icon: false show_label: false show_name: true show_entity_picture: false name: | [[[ var today = new Date(); var time = today.getHours() let welcome = ''; if (time >= '18'){ welcome = variables.ulm_evening; } else if (time >= '12'){ welcome = variables.ulm_afternoon; } else if (time >= '5'){ welcome = variables.ulm_morning; } else { welcome = variables.ulm_hello; } return welcome + ', ' + '
' + user.name + '!'; ]]] # name: | # [[[ # var today = new Date(); # var time = today.getHours() # let welcome = ''; # if (time >= '18'){ # welcome = variables.ulm_evening; # } else if (time >= '12'){ # welcome = variables.ulm_afternoon; # } else if (time >= '5'){ # welcome = variables.ulm_morning; # } else { # welcome = variables.ulm_hello; # } # return welcome + ', ' + user.name + '!'; # ]]] styles: name: - align-self: "start" - justify-self: "start" - font-weight: "bold" - font-size: "24px" - margin-left: "16px" grid: - grid-template-areas: "'i n' 'i l'" - grid-template-columns: "min-content auto" - grid-template-rows: "min-content min-content" - text-align: "start" card: - box-shadow: "none" - padding-bottom: "8px" - cursor: "default" - "--mdc-ripple-press-opacity": 0 # prevent click animation item3: card: type: "custom:button-card" template: "card_esh_welcome_nav" styles: card: - border-radius: "none" - box-shadow: "none" - padding: "4px" - cursor: "default" - "--mdc-ripple-press-opacity": 0 # prevent click animation variables: entity_1: "[[[ return variables.entity_1 ]]]" entity_2: "[[[ return variables.entity_2 ]]]" entity_3: "[[[ return variables.entity_3 ]]]" entity_4: "[[[ return variables.entity_4 ]]]" entity_5: "[[[ return variables.entity_5 ]]]"

card_esh_welcome_title: tap_action: action: "none" show_icon: false show_label: true show_name: true styles: label: - justify-self: "start" - font-weight: "bold" - font-size: "1rem" - opacity: "0.4" name: - justify-self: "start" - font-weight: "bold" - font-size: "20px" grid: - grid-template-areas: "'n' 'l'" - grid-template-columns: "1fr" - grid-template-rows: "min-content min-content" card: - background-color: "rgba(0,0,0,0)" - box-shadow: "none" - height: "auto" - width: "auto" - margin-top: "-10px" - margin-left: "16px" - margin-bottom: "-15px" - cursor: "default" - "--mdc-ripple-press-opacity": 0 # prevent click animation

card_esh_welcome_nav: show_icon: false show_name: true show_label: false styles: grid: - grid-template-areas: | [[[ return "'" + [(variables.entity_1?.nav ? 'item1' : ''), (variables.entity_2?.nav ? 'item2' : ''), (variables.entity_3?.nav ? 'item3' : ''), (variables.entity_4?.nav ? 'item4' : ''), (variables.entity_5?.nav ? 'item5' : '')].join(' ') + "'"; ]]] - grid-template-columns: | [[[ return [(variables.entity_1?.nav ? '1fr' : ''), (variables.entity_2?.nav ? '1fr' : ''), (variables.entity_3?.nav ? '1fr' : ''), (variables.entity_4?.nav ? '1fr' : ''), (variables.entity_5?.nav ? '1fr' : '')].join(' '); ]]] - grid-template-rows: "min-content" - justify-items: "center" card: - border-radius: "var(--border-radius)" - box-shadow: "var(--box-shadow)" - padding: "12px" - overflow: "visible" custom_fields: item1: card: type: "custom:button-card" template: "card_esh_welcome_pill_nav" variables: number_of_nav_pills: | [[[ return [variables.entity_1?.nav, variables.entity_2?.nav, variables.entity_3?.nav, variables.entity_4?.nav, variables.entity_5?.nav].filter(el => el !== undefined).length; ]]] entity: "[[[ return variables.entity_1; ]]]" item2: card: type: "custom:button-card" template: "card_esh_welcome_pill_nav" variables: number_of_nav_pills: | [[[ return [variables.entity_1?.nav, variables.entity_2?.nav, variables.entity_3?.nav, variables.entity_4?.nav, variables.entity_5?.nav].filter(el => el !== undefined).length; ]]] entity: "[[[ return variables.entity_2; ]]]" item3: card: type: "custom:button-card" template: "card_esh_welcome_pill_nav" variables: number_of_nav_pills: | [[[ return [variables.entity_1?.nav, variables.entity_2?.nav, variables.entity_3?.nav, variables.entity_4?.nav, variables.entity_5?.nav].filter(el => el !== undefined).length; ]]] entity: "[[[ return variables.entity_3; ]]]" item4: card: type: "custom:button-card" template: "card_esh_welcome_pill_nav" variables: number_of_nav_pills: | [[[ return [variables.entity_1?.nav, variables.entity_2?.nav, variables.entity_3?.nav, variables.entity_4?.nav, variables.entity_5?.nav].filter(el => el !== undefined).length; ]]] entity: "[[[ return variables.entity_4; ]]]" item5: card: type: "custom:button-card" template: "card_esh_welcome_pill_nav" variables: number_of_nav_pills: | [[[ return [variables.entity_1?.nav, variables.entity_2?.nav, variables.entity_3?.nav, variables.entity_4?.nav, variables.entity_5?.nav].filter(el => el !== undefined).length; ]]] entity: "[[[ return variables.entity_5; ]]]"

card_esh_welcome_pill_nav: tap_action: action: "navigate" navigation_path: "[[[ return variables.entity?.nav; ]]]" show_icon: false show_label: false show_name: false state: - operator: "template" value: "[[[ return !variables.entity?.nav; ]]]" styles: card: - display: "none" styles: grid: - grid-template-areas: "'item1' 'item2'" - grid-template-columns: "1fr" - grid-template-rows: "1fr 1fr" - row-gap: "12px" - justify-items: "center" - column-gap: "auto" card: - border-radius: "50px" - place-self: "center" # 五个大椭圆调整大小 # - width: "67px" # - height: "99px" # - width: "[[[ return (52 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" # - height: "[[[ return (84 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" - width: "[[[ return (67 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" - height: "[[[ return (99 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" - box-shadow: > [[[ if (hass.themes.darkMode){ return "0px 2px 4px 0px rgba(0,0,0,0.80)"; } else { return "var(--box-shadow)"; } ]]] - "--mdc-ripple-press-opacity": 0.12 # allow click animation color: "var(--google-grey)" custom_fields: item1: card: type: "custom:button-card" tap_action: action: "navigate" navigation_path: "[[[ return variables.entity?.nav; ]]]" show_icon: true show_label: false show_name: false icon: "[[[ return variables.entity?.icon ]]]" styles: icon: - color: "[[[ return rgba(var(--color-${variables.entity?.color}), 1);]]]" # 五个图像标识调整大小 # - width: "35px" # - width: "[[[ return (20 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" - width: "[[[ return (35 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" img_cell: - background-color: "[[[ return rgba(var(--color-${variables.entity?.color}), 0.20);]]]" - border-radius: "50%" # 五个小圆圈调整大小 # - width: "57px" # - height: "57px" # - width: "[[[ return (42 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" # - height: "[[[ return (42 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" - width: "[[[ return (57 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" - height: "[[[ return (57 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" grid: - grid-template-areas: "i" card: - box-shadow: "none" - border-radius: "50px" - padding: "5px" state: - value: "on" styles: card: - overflow: "visible" - box-shadow: | [[[ if (hass.themes.darkMode){ return "0px 2px 4px 0px rgba(0,0,0,0.80)"; } else { return "var(--box-shadow)"; } ]]] item2: card: type: "custom:button-card" tap_action: action: "navigate" navigation_path: "[[[ return variables.entity?.nav; ]]]" show_icon: false show_label: false name: "[[[ return variables.entity?.name ]]]" styles: name: - font-weight: "bold" # 五个字母调整大小 # - font-size: "13px" # - width: "50px" # - font-size: "[[[ return (9.5 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" # - width: "[[[ return (33 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]"
- font-size: "[[[ return (13 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" - width: "[[[ return (50 * (1+(5-Math.max(variables.number_of_nav_pills, 3))*0.25)) + 'px'; ]]]" - padding-bottom: "7px" grid: - grid-template-areas: "n" card: - box-shadow: "none" - padding: "0px 5px 5px 5px" # 五个字母位置向上调整 # - margin-top: "-5px" - margin-top: "-10px" - border-radius: "50px"

card_esh_welcome_topbar: show_icon: false show_label: false show_name: true styles: grid: - grid-template-areas: "'item1 item2 item3'" - grid-template-columns: "1fr 7fr 1fr" - grid-template-rows: "min-content" - justify-items: "center" card: - border-radius: "var(--border-radius)" - box-shadow: "var(--box-shadow)" - padding: "12px" - cursor: "default" - "--mdc-ripple-press-opacity": 0 # prevent click animation custom_fields: item1: card: type: "custom:button-card" template: "chips" tap_action: action: "call-service" service: "input_boolean.toggle" service_data: entity_id: "[[[ return variables.ulm_card_esh_welcome_collapse ]]]" show_icon: true icon: "mdi:chevron-up" entity: "[[[ return variables.ulm_card_esh_welcome_collapse ]]]" styles: grid: - grid-template-areas: "'i'" card: - box-shadow: > [[[ if (hass.themes.darkMode){ return "0px 2px 4px 0px rgba(0,0,0,0.80)"; } else { return "var(--box-shadow)"; } ]]] - visibility: "[[[ return variables.ulm_card_esh_welcome_collapse ? 'visible' : 'hidden'; ]]]" - "--mdc-ripple-press-opacity": 0.12 # allow click animation state: - value: "on" icon: "mdi:chevron-down" styles: icon: - color: "rgb(var(--color-theme))" item2: card: type: "custom:button-card" template: "chip_weather_date" variables: ulm_weather: "[[[ return variables.ulm_weather]]]" tap_action: action: "more-info" entity: "[[[ return variables.ulm_weather]]]" styles: card: - width: "100px" - box-shadow: > [[[ if (hass.themes.darkMode){ return "0px 2px 4px 0px rgba(0,0,0,0.80)"; } else { return "var(--box-shadow)"; } ]]] - "--mdc-ripple-press-opacity": 0.12 # allow click animation item3: card: type: "custom:button-card" template: "chip_mdi_icon_only" variables: ulm_chip_mdi_icon_only_icon: "mdi:cog-outline" tap_action: action: "navigate" navigation_path: "/config/dashboard" styles: card: - align-self: "end" - box-shadow: > [[[ if (hass.themes.darkMode){ return "0px 2px 4px 0px rgba(0,0,0,0.80)"; } else { return "var(--box-shadow)"; } ]]] - "--mdc-ripple-press-opacity": 0.12 # allow click animation

walkerjohnsonofficial avatar Aug 26 '23 08:08 walkerjohnsonofficial