@@ -116,146 +116,142 @@ const spotlightLeader = leaders[0];
116116 class =" h-full w-36 min-w-36 rounded-l-lg"
117117 data-spotlight =" logo"
118118 />
119- {
120- (
121- <ProfilePicture
122- src = { spotlightLeader .data .image }
123- alt = " Spotlight leader"
124- class = " absolute bottom-1.5 right-1.5 h-1/3 object-cover opacity-60 transition-opacity hover:opacity-100"
125- data-spotlight = " leader"
126- />
127- )
128- }
119+ <ProfilePicture
120+ src ={ spotlightLeader .data .image }
121+ alt =" Spotlight leader"
122+ class =" absolute bottom-1.5 right-1.5 h-1/3 object-cover opacity-60 transition-opacity hover:opacity-100"
123+ data-spotlight =" leader"
124+ />
125+ <CardContent class =" py-3 pl-3 pr-1.5" >
126+ <h3 class =" font-medium" data-spotlight =" name" >
127+ { spotlight .data .name }
128+ </h3 >
129+ <p
130+ class =" text-sm sm:text-base md:text-sm lg:text-base"
131+ data-spotlight =" desc"
132+ >
133+ { spotlight .data .spotlight ?? spotlight .data .brief }
134+ </p >
135+ </CardContent >
129136 </div >
130- <CardContent class =" py-3 pl-3 pr-1.5" >
131- <h3 class =" font-medium" data-spotlight =" name" >
132- { spotlight .data .name }
133- </h3 >
134- <p
135- class =" text-sm sm:text-base md:text-sm lg:text-base"
136- data-spotlight =" desc"
137- >
138- { spotlight .data .spotlight ?? spotlight .data .brief }
139- </p >
140- </CardContent >
141137 </LinkCard >
142138 </div >
143139 </div >
144- </div >
145140
146- <div class =" space-y-6" >
147- <h2 class =" text-lg font-bold" >Innlegg</h2 >
148- <ul class =" space-y-3" >
149- {
150- om_oss
151- .sort ((a , b ) => (b .data .pubDate < a .data .pubDate ? 1 : - 1 ))
152- .map (
153- ({
154- slug ,
155- data: { title , pubDate , updateDate , description , image },
156- }) => (
157- <li >
158- <LinkCard href = { ` /om_oss/${slug } ` } >
159- <div class = " flex flex-col gap-3 rounded-lg border-[1px] border-gray-200 sm:flex-row dark:border-gray-500" >
160- <CardImage
161- src = { image }
162- alt = { ` ${title } post ` }
163- class = " h-40 w-full overflow-hidden !rounded-t-md sm:h-48 sm:max-w-[25%] sm:!rounded-tr-none"
164- />
141+ <div class =" space-y-6" >
142+ <h2 class =" text-lg font-bold" >Innlegg</h2 >
143+ <ul class =" space-y-3" >
144+ {
145+ om_oss
146+ .sort ((a , b ) => (b .data .pubDate < a .data .pubDate ? 1 : - 1 ))
147+ .map (
148+ ({
149+ slug ,
150+ data: { title , pubDate , updateDate , description , image },
151+ }) => (
152+ <li >
153+ <LinkCard href = { ` /om_oss/${slug } ` } >
154+ <div class = " flex flex-col gap-3 rounded-lg border-[1px] border-gray-200 sm:flex-row dark:border-gray-500" >
155+ <CardImage
156+ src = { image }
157+ alt = { ` ${title } post ` }
158+ class = " h-40 w-full overflow-hidden !rounded-t-md sm:h-48 sm:max-w-[25%] sm:!rounded-tr-none"
159+ />
165160
166- <CardContent class = " flex flex-col justify-between px-1.5 py-3" >
167- <h2 class = " font-medium" >{ title } </h2 >
168- <p >{ description } </p >
161+ <CardContent class = " flex flex-col justify-between px-1.5 py-3" >
162+ <h2 class = " font-medium" >{ title } </h2 >
163+ <p >{ description } </p >
169164
170- <div class = " flex flex-col gap-3 text-sm sm:flex-row sm:items-center" >
171- <CardDetail >
172- <Calendar />
173- { pubDate .toLocaleString (" NO-nb" , {
174- day: " numeric" ,
175- month: " numeric" ,
176- year: " numeric" ,
177- })}
178- </CardDetail >
179- <CardDetail >
180- <Pencil />
181- { (updateDate ?? pubDate ).toLocaleString (" NO-nb" , {
182- day: " numeric" ,
183- month: " numeric" ,
184- year: " numeric" ,
185- })}
186- </CardDetail >
187- </div >
188- </CardContent >
189- </div >
190- </LinkCard >
191- </li >
192- ),
193- )
194- }
195- </ul >
165+ <div class = " flex flex-col gap-3 text-sm sm:flex-row sm:items-center" >
166+ <CardDetail >
167+ <Calendar />
168+ { pubDate .toLocaleString (" NO-nb" , {
169+ day: " numeric" ,
170+ month: " numeric" ,
171+ year: " numeric" ,
172+ })}
173+ </CardDetail >
174+ <CardDetail >
175+ <Pencil />
176+ { (updateDate ?? pubDate ).toLocaleString (" NO-nb" , {
177+ day: " numeric" ,
178+ month: " numeric" ,
179+ year: " numeric" ,
180+ })}
181+ </CardDetail >
182+ </div >
183+ </CardContent >
184+ </div >
185+ </LinkCard >
186+ </li >
187+ ),
188+ )
189+ }
190+ </ul >
191+ </div >
196192 </div >
197- </div >
198193
199- <script is:inline >
200- document.addEventListener("DOMContentLoaded", () => {
201- const root = document.getElementById("root");
202- if (!root) return;
194+ <script is:inline >
195+ document.addEventListener("DOMContentLoaded", () => {
196+ const root = document.getElementById("root");
197+ if (!root) return;
203198
204- const groups = JSON.parse(root.dataset.groups);
205- const leaders = JSON.parse(root.dataset.leaders);
199+ const groups = JSON.parse(root.dataset.groups);
200+ const leaders = JSON.parse(root.dataset.leaders);
206201
207- const spotlightGroupIdx = Math.floor(Math.random() * groups.length);
208- const spotlight = groups[spotlightGroupIdx];
209- const spotlightLeader =
210- leaders.find((l) => l.slug === spotlight.data.leaders?.[0].slug) ??
211- leaders[0];
202+ const spotlightGroupIdx = Math.floor(Math.random() * groups.length);
203+ const spotlight = groups[spotlightGroupIdx];
204+ const spotlightLeader =
205+ leaders.find((l) => l.slug === spotlight.data.leaders?.[0].slug) ??
206+ leaders[0];
212207
213- const selectedGroups = [
214- groups[(spotlightGroupIdx + 1) % groups.length],
215- groups[spotlightGroupIdx],
216- groups[(spotlightGroupIdx + 2) % groups.length],
217- ];
208+ const selectedGroups = [
209+ groups[(spotlightGroupIdx + 1) % groups.length],
210+ groups[spotlightGroupIdx],
211+ groups[(spotlightGroupIdx + 2) % groups.length],
212+ ];
218213
219- const groupCard = document.querySelector("[data-role='groups-card']");
220- if (groupCard) {
221- selectedGroups.forEach((g, i) => {
222- const img = groupCard.querySelector(`[data-card-image='${i}']`);
223- if (img) {
224- img.src = g.data.logo.src;
225- img.alt = `${g.data.name} logo`;
226- }
227- });
228- }
214+ const groupCard = document.querySelector("[data-role='groups-card']");
215+ if (groupCard) {
216+ selectedGroups.forEach((g, i) => {
217+ const img = groupCard.querySelector(`[data-card-image='${i}']`);
218+ if (img) {
219+ img.src = g.data.logo.src;
220+ img.alt = `${g.data.name} logo`;
221+ }
222+ });
223+ }
229224
230- const leaderCard = document.querySelector("[data-role='leaders-card']");
231- if (leaderCard) {
232- selectedGroups.forEach((g, i) => {
233- const leader = leaders.find(
234- (l) => l.slug === g.data.leaders?.[0].slug,
235- );
236- const img = leaderCard.querySelector(`[data-card-image='${i}']`);
237- if (img && leader) {
238- img.src = leader.data.image.src;
239- img.alt = leader.data.name;
240- }
241- });
242- }
225+ const leaderCard = document.querySelector("[data-role='leaders-card']");
226+ if (leaderCard) {
227+ selectedGroups.forEach((g, i) => {
228+ const leader = leaders.find(
229+ (l) => l.slug === g.data.leaders?.[0].slug,
230+ );
231+ const img = leaderCard.querySelector(`[data-card-image='${i}']`);
232+ if (img && leader) {
233+ img.src = leader.data.image.src;
234+ img.alt = leader.data.name;
235+ }
236+ });
237+ }
243238
244- const spotlightCard = document.querySelector("[data-role='spotlight']");
245- if (spotlightCard) {
246- spotlightCard.querySelector("[data-spotlight='logo']").src =
247- spotlight.data.logo.src;
248- spotlightCard.querySelector("[data-spotlight='logo']").alt =
249- `${spotlight.data.name} logo`;
250- spotlightCard.querySelector("[data-spotlight='leader']").src =
251- spotlightLeader.data.image.src;
252- spotlightCard.querySelector("[data-spotlight='name']").textContent =
253- spotlight.data.name;
254- spotlightCard.querySelector("[data-spotlight='desc']").textContent =
255- spotlight.data.spotlight ?? spotlight.data.brief;
256- spotlightCard.querySelector("[data-spotlight='href']").href =
257- `/grupper/${spotlight.slug}`;
258- }
259- });
260- </script >
239+ const spotlightCard = document.querySelector("[data-role='spotlight']");
240+ if (spotlightCard) {
241+ spotlightCard.querySelector("[data-spotlight='logo']").src =
242+ spotlight.data.logo.src;
243+ spotlightCard.querySelector("[data-spotlight='logo']").alt =
244+ `${spotlight.data.name} logo`;
245+ spotlightCard.querySelector("[data-spotlight='leader']").src =
246+ spotlightLeader.data.image.src;
247+ spotlightCard.querySelector("[data-spotlight='name']").textContent =
248+ spotlight.data.name;
249+ spotlightCard.querySelector("[data-spotlight='desc']").textContent =
250+ spotlight.data.spotlight ?? spotlight.data.brief;
251+ spotlightCard.querySelector("[data-spotlight='href']").href =
252+ `/grupper/${spotlight.slug}`;
253+ }
254+ });
255+ </script >
256+ </div >
261257</PageLayout >
0 commit comments