# Create subgroups
primary_group = displayio.Group()
primary_group.append(bkg_tile)
text_group = displayio.Group()
hello_group = displayio.Group()
temp_group = displayio.Group()
warning_group = displayio.Group()
main_group = displayio.Group()

# Add subgroups to main display group
main_group.append(primary_group)
main_group.append(text_group)
main_group.append(hello_group)
main_group.append(warning_group)
main_group.append(temp_group)

# Add warning popup group
warning_group.append(roundrect)
warning_group.append(warning_text_label)

# Label Display Group (foreground layer)
hello_group.append(hello_label_outline1)
hello_group.append(hello_label_outline2)
hello_group.append(hello_label_outline3)
hello_group.append(hello_label_outline4)
hello_group.append(hello_label)
temp_group.append(temp_label)
temp_group.append(temp_data_shadow)
temp_group.append(temp_data_label)
text_group.append(humidity_outline1)
text_group.append(humidity_outline2)
text_group.append(humidity_outline3)
text_group.append(humidity_outline4)
text_group.append(humidity_label)
text_group.append(humidity_shadow)
text_group.append(humidity_data_label)
text_group.append(barometric_label_shadow)
text_group.append(barometric_label)
text_group.append(barometric_shadow)
text_group.append(barometric_data_label)
display.show(main_group)

def show_warning(text):
    warning_text_label.text = text
    warning_group.hidden = False
def hide_warning():
    warning_group.hidden = True