mirror of
https://github.com/kevinveenbirkenbach/homepage.veen.world.git
synced 2025-04-22 21:22:24 +02:00
43 lines
1.5 KiB
Python
43 lines
1.5 KiB
Python
def compute_card_classes(cards):
|
||
num_cards = len(cards)
|
||
lg_classes = []
|
||
if num_cards < 3:
|
||
if num_cards == 2:
|
||
lg_classes = ["col-lg-6", "col-lg-6"]
|
||
else:
|
||
lg_classes = ["col-lg-12"]
|
||
elif num_cards % 4 == 0:
|
||
lg_classes = ["col-lg-3"] * num_cards
|
||
elif num_cards % 3 == 0:
|
||
lg_classes = ["col-lg-4"] * num_cards
|
||
elif num_cards % 2 == 0:
|
||
lg_classes = ["col-lg-6"] * num_cards
|
||
else:
|
||
# For complex cases (e.g., 5, 7, 11) – Ensure at least 3 per row
|
||
for i in range(num_cards):
|
||
if num_cards % 4 == 3:
|
||
if i < 3:
|
||
lg_classes.append("col-lg-4")
|
||
else:
|
||
lg_classes.append("col-lg-3")
|
||
elif num_cards % 4 == 1:
|
||
if i < 2:
|
||
lg_classes.append("col-lg-6")
|
||
elif i < 5:
|
||
lg_classes.append("col-lg-4")
|
||
else:
|
||
lg_classes.append("col-lg-3")
|
||
elif num_cards % 3 == 2:
|
||
if i < 2:
|
||
lg_classes.append("col-lg-6")
|
||
else:
|
||
lg_classes.append("col-lg-4")
|
||
# md classes: If the number of cards is even or if not the last card, otherwise "col-md-12"
|
||
md_classes = []
|
||
for i in range(num_cards):
|
||
if num_cards % 2 == 0 or i < num_cards - 1:
|
||
md_classes.append("col-md-6")
|
||
else:
|
||
md_classes.append("col-md-12")
|
||
return lg_classes, md_classes
|