-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindexEventsList.js
More file actions
142 lines (114 loc) · 5.22 KB
/
indexEventsList.js
File metadata and controls
142 lines (114 loc) · 5.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
function createEventComponent(eventData) {
// Create the main li element
const eventLi = document.createElement('li');
eventLi.classList.add('events');
// Create the anchor tag for the event image
const imgLink = document.createElement('a');
imgLink.href = eventData.link;
imgLink.target = '_blank';
const eventImg = document.createElement('img');
eventImg.classList.add('events-banners');
eventImg.src = eventData.imageUrl;
eventImg.alt = '';
imgLink.appendChild(eventImg);
eventLi.appendChild(imgLink);
// Create the div for event details
const eventDetailsDiv = document.createElement('div');
eventDetailsDiv.style.flex = 'auto';
eventDetailsDiv.classList.add('eventsContent');
// Create the h1 element for event name
const eventNameLink = document.createElement('a');
eventNameLink.classList.add('black-link');
eventNameLink.href = eventData.link;
eventNameLink.target = '_blank';
eventNameLink.textContent = eventData.name;
const eventName = document.createElement('h1');
eventName.style.flex = '100';
eventName.classList.add('event-head');
eventName.appendChild(eventNameLink);
const lineBreak = document.createElement('br');
eventName.appendChild(lineBreak)
// Check if rankImg should be visible
if (eventData.rankImg) {
const rankImg = document.createElement('img');
rankImg.classList.add('pm-rank');
rankImg.src = "https://cdn.discordapp.com/attachments/1321134768280174693/1321135563444715591/hdranklogo2024.png?ex=676c22df&is=676ad15f&hm=ce58cc52b40634a1b39846771c922606c75c14050ab168d21c1f4fb2c2feef2c&";
rankImg.alt = '';
eventDetailsDiv.appendChild(rankImg); // Append the rankImg to the eventName (div) element
}
// Append the event location to the h1 element
const locationLabel = document.createElement('b');
locationLabel.classList.add('event-date');
locationLabel.style.display = 'inline-flex';
eventName.appendChild(locationLabel);
const location = document.createElement('b');
location.classList.add('event-date');
location.style.display = 'inline-flex';
location.textContent = eventData.location;
eventName.appendChild(location);
const eventDate = document.createElement('p');
eventDate.classList.add('event-date');
eventDate.style.display = 'block';
eventDate.textContent = eventData.date;
eventName.appendChild(eventDate);
eventDetailsDiv.appendChild(eventName);
// Create paragraphs for event description
const eventDescription = document.createElement('p');
eventDescription.classList.add('events-text');
eventDescription.textContent = eventData.description;
eventDetailsDiv.appendChild(eventDescription);
// Create the start.gg link
const startGgLink = document.createElement('a');
startGgLink.classList.add('start-gg');
startGgLink.classList.add('start-gg-home');
startGgLink.href = eventData.link;
startGgLink.target = '_blank';
startGgLink.textContent = 'start.gg';
eventDetailsDiv.appendChild(startGgLink);
// Append the event details div to the main li element
eventLi.appendChild(eventDetailsDiv);
return eventLi;
}
// Sample event data (replace this with actual event data)
const eventsData = [
{
name: "Gigaton Hammer 3",
date: "1/3/25 - 1/5/25",
location: "New York, NY, USA",
description: "One of HDR's biggest events is back in 2025! The third iteration of Gigaton Hammer returns to the New Yorker Hotel on January 3rd-5th, with both singles and doubles events plus a 96 entrant cap.",
imageUrl: "https://www.bing.com/th?pid=Sgg&qlt=100&u=https%3A%2F%2Fimages.start.gg%2Fimages%2Ftournament%2F730804%2Fimage-9bb3a153435e56720e23a06e7e0fd2f0-optimized.png&ehk=IEnxrX1br9kHXqHbTyO2EX6H5FMWD1jJJKrvUi%2Bgi44%3D&w=280&h=280&r=0",
link: "https://www.start.gg/tournament/gigaton-hammer-3-hdr-lmbm/details",
rankImg: true,
trailer: ""
}
];
// Create a single div element to contain all the lists
const eventsContainer = document.createElement('div');
eventsContainer.classList.add('eventsContainer');
// Create the event components for each pair of events
for (let i = 0; i < eventsData.length; i += 2) {
// Create a new ul for each pair of events
const eventList = document.createElement('ul');
eventList.classList.add('eventsList');
// Create and append the li elements for each event in the pair
for (let j = i; j < i + 2 && j < eventsData.length; j++) {
const eventData = eventsData[j];
const eventComponent = createEventComponent(eventData);
// Append the event component directly to the ul
eventList.appendChild(eventComponent);
}
// Check if there's only one li element in the ul and it's not on a screen less than 600px wide
const lis = eventList.querySelectorAll('li');
const screenWidthLessThan600 = window.matchMedia("(max-width: 600px)").matches;
if (lis.length === 1 && !screenWidthLessThan600) {
// Apply max-width: 100% to the single li element
lis[0].style.marginLeft = '25%';
}
// Append the ul (with li inside) to the container div
eventsContainer.appendChild(eventList);
}
// Append the container div to the eventsListDiv
document.addEventListener('DOMContentLoaded', function () {
const eventsListDiv = document.getElementById('eventsList');
eventsListDiv.appendChild(eventsContainer);
});