Better logic for lengths. Keep them more equal.

This commit is contained in:
Scott Idem
2025-10-10 17:54:49 -04:00
parent 8c2241e610
commit 5b9dacd291

View File

@@ -190,10 +190,12 @@ code_to_html.option_2['First Time '] = '<span class="fas fa-hand-paper"></span>'
/* *** END *** This should be moved out */
let full_name_class_size: string = $state('text-[.80in]');
let professional_title_class_size: string = $state('text-[.40in]');
let full_name_class_size: string = $state('text-[.60in]');
let professional_title_class_size: string = $state('text-[.35in]');
let affiliations_class_size: string = $state('text-[.60in]');
let location_class_size: string = $state('text-[.40in]');
let location_class_size: string = $state('text-[.35in]');
// WARNING: This does not currently take into account the total lengths of the strings, only the longest part when split by spaces. This help with wrapping in the tighter spaces of the badge.
let lq__event_badge_template_obj = $derived(liveQuery(async () => {
if (log_lvl) {
@@ -206,27 +208,45 @@ let lq__event_badge_template_obj = $derived(liveQuery(async () => {
longest_full_name_override_part = longest_str_part(full_name_override ?? '');
if (longest_full_name_override_part >= 9) {
full_name_class_size = 'text-[.70in]';
full_name_class_size = 'text-[.45in]';
} else if (longest_full_name_override_part >= 7) {
full_name_class_size = 'text-[.80in]';
full_name_class_size = 'text-[.60in]';
} else {
full_name_class_size = 'text-[.80in]';
full_name_class_size = 'text-[.75in]';
}
professional_title_override = $lq__event_badge_obj?.professional_title_override ?? $lq__event_badge_obj?.professional_title;
longest_professional_title_override_part = longest_str_part(professional_title_override ?? '');
if (longest_professional_title_override_part >= 13) {
professional_title_class_size = 'text-[.40in]';
professional_title_class_size = 'text-[.35in]';
} else if (longest_professional_title_override_part >= 10) {
professional_title_class_size = 'text-[.40in]';
professional_title_class_size = 'text-[.35in]';
} else if (longest_professional_title_override_part >= 7) {
professional_title_class_size = 'text-[.40in]';
professional_title_class_size = 'text-[.35in]';
} else {
professional_title_class_size = 'text-[.40in]';
professional_title_class_size = 'text-[.35in]';
}
affiliations_override = $lq__event_badge_obj?.affiliations_override ?? $lq__event_badge_obj?.affiliations;
longest_affiliations_override_part = longest_str_part(affiliations_override ?? '');
if (longest_affiliations_override_part >= 55) {
affiliations_class_size = 'text-[.30in]';
} else if (longest_affiliations_override_part >= 45) {
affiliations_class_size = 'text-[.35in]';
} else if (longest_affiliations_override_part >= 35) {
affiliations_class_size = 'text-[.35in]';
} else if (longest_affiliations_override_part >= 25) {
affiliations_class_size = 'text-[.40in]';
} else if (longest_affiliations_override_part >= 20) {
affiliations_class_size = 'text-[.40in]';
} else if (longest_affiliations_override_part >= 7) {
affiliations_class_size = 'text-[.40in]';
} else {
affiliations_class_size = 'text-[.60in]';
}
if (affiliations_class_size > full_name_class_size) {
affiliations_class_size = full_name_class_size;
}
location_override = $lq__event_badge_obj?.location_override ?? $lq__event_badge_obj?.location;
longest_location_override_part = longest_str_part(location_override ?? '');
@@ -235,15 +255,20 @@ let lq__event_badge_template_obj = $derived(liveQuery(async () => {
} else if (longest_location_override_part >= 45) {
location_class_size = 'text-[.35in]';
} else if (longest_location_override_part >= 35) {
location_class_size = 'text-[.40in]';
location_class_size = 'text-[.35in]';
} else if (longest_location_override_part >= 25) {
location_class_size = 'text-[.40in]';
location_class_size = 'text-[.35in]';
} else if (longest_location_override_part >= 20) {
location_class_size = 'text-[.40in]';
location_class_size = 'text-[.35in]';
} else if (longest_location_override_part >= 15) {
location_class_size = 'text-[.40in]';
location_class_size = 'text-[.35in]';
} else {
location_class_size = 'text-[.40in]';
location_class_size = 'text-[.35in]';
}
if (location_class_size > professional_title_class_size) {
location_class_size = professional_title_class_size;
} else if (professional_title_class_size > location_class_size) {
professional_title_class_size = location_class_size;
}