2025-06-20 12:53:20 -06:00
<!DOCTYPE html>
2025-06-20 13:09:18 -06:00
< html lang = "en" >
2025-06-20 12:53:20 -06:00
< head >
< meta charset = "UTF-8" />
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" />
< title > BYU-Idaho Amateur Radio Society</ title >
< script src = "https://cdn.tailwindcss.com" ></ script >
2025-06-20 13:09:18 -06:00
< script >
tailwind . config = {
darkMode : 'class'
}
</ script >
< script src = "https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js" defer ></ script >
2025-06-20 12:53:20 -06:00
< script >
// Dark mode persistence
if ( localStorage . theme === 'dark' || ( ! ( 'theme' in localStorage ) && window . matchMedia ( '(prefers-color-scheme: dark)' ). matches )) {
document . documentElement . classList . add ( 'dark' )
} else {
document . documentElement . classList . remove ( 'dark' )
}
</ script >
< style >
. accent-bg { background-color : #006eb6 ; }
. banner-bg { background-color : #a2daff ; }
</ style >
</ head >
< body class = "bg-white dark:bg-gray-900 text-gray-800 dark:text-gray-100 min-h-screen flex flex-col" x-data = "appData()" x-init = "init()" >
<!-- Banner -->
< template x-if = "banner.title && banner.content" >
< div class = "w-full banner-bg text-black text-center py-2 px-4" >
< strong x-text = "banner.title" ></ strong > : < span x-text = "banner.content" ></ span >
</ div >
</ template >
<!-- Navbar -->
2025-06-20 13:09:18 -06:00
< nav class = "accent-bg text-white px-4 py-3 shadow-md" x-data = "{ open: false }" >
< div class = "flex flex-wrap items-center justify-between" >
2025-06-21 02:39:33 -06:00
< a href = "/" class = "text-xl font-semibold mr-4" > BYU-I Amateur Radio Society</ a >
2025-06-20 13:09:18 -06:00
< button @ click = "open = !open" class = "sm:hidden text-white ml-auto focus:outline-none" >
< svg x-show = "!open" xmlns = "http://www.w3.org/2000/svg" class = "h-6 w-6" fill = "none" viewBox = "0 0 24 24" stroke = "currentColor" >
< path stroke-linecap = "round" stroke-linejoin = "round" stroke-width = "2" d = "M4 6h16M4 12h16M4 18h16" />
</ svg >
< svg x-show = "open" xmlns = "http://www.w3.org/2000/svg" class = "h-6 w-6" fill = "none" viewBox = "0 0 24 24" stroke = "currentColor" >
< path stroke-linecap = "round" stroke-linejoin = "round" stroke-width = "2" d = "M6 18L18 6M6 6l12 12" />
</ svg >
</ button >
< div class = "hidden sm:flex flex-grow justify-center space-x-4" >
< template x-for = "page in pages" :key = "page.path" >
< a :href = "page.path" :class = "{ 'font-bold underline': currentPath === page.path }" class = "hover:opacity-80 transition" >
< span x-text = "page.name" ></ span >
2025-06-20 12:53:20 -06:00
</ a >
2025-06-20 13:09:18 -06:00
</ template >
</ div >
< div class = "hidden sm:flex ml-auto" >
< button @ click = "toggleDarkMode" class = "ml-4 text-white focus:outline-none" title = "Toggle dark mode" >
< svg x-show = "!darkMode" xmlns = "http://www.w3.org/2000/svg" class = "h-6 w-6" fill = "none" viewBox = "0 0 24 24" stroke = "currentColor" >
< path stroke-linecap = "round" stroke-linejoin = "round" stroke-width = "2" d = "M12 3v1m0 16v1m8.66-8.66h-1M4.34 12H3m15.36 6.36l-.71-.71M6.34 6.34l-.71-.71m12.02 0l-.71.71M6.34 17.66l-.71.71M12 5a7 7 0 100 14 7 7 0 000-14z" />
</ svg >
< svg x-show = "darkMode" xmlns = "http://www.w3.org/2000/svg" class = "h-6 w-6" fill = "none" viewBox = "0 0 24 24" stroke = "currentColor" >
< path stroke-linecap = "round" stroke-linejoin = "round" stroke-width = "2" d = "M21 12.79A9 9 0 1111.21 3a7 7 0 009.79 9.79z" />
</ svg >
</ button >
</ div >
</ div >
< div x-show = "open" class = "sm:hidden mt-2 space-y-2" >
< template x-for = "page in pages" :key = "page.path" >
< a :href = "page.path" :class = "{ 'font-bold underline': currentPath === page.path }" class = "block px-2 py-1 hover:bg-white/10" >
< span x-text = "page.name" ></ span >
</ a >
2025-06-20 12:53:20 -06:00
</ template >
2025-06-20 13:09:18 -06:00
< button @ click = "toggleDarkMode" class = "w-full text-left px-2 py-1 text-white hover:bg-white/10" title = "Toggle dark mode" >
< span x-text = "darkMode ? '☀️ Light Mode' : '🌙 Dark Mode'" ></ span >
</ button >
</ div >
2025-06-20 12:53:20 -06:00
</ nav >
<!-- Main Content -->
< main class = "flex-grow p-6" >
2025-06-21 02:39:33 -06:00
< h1 class = "text-3xl font-bold mb-4" > Welcome to the BYU-Idaho Amateur Radio Society!</ h1 >
< p > Established in the mid-1900s, the BYU-Idaho Amateur Radio Society is one of the University's longest-operating student groups.</ p >
< h2 class = "text-xl font-semibold mt-6 mb-2" > Get Involved</ h2 >
< p > We meet most Wednesdays during the semester in STC 231, and host weekly < a href = "/net/" class = "text-blue-400 underline" > nets</ a > on the 146.510 MHz K7BYI Repeater.
< br >
For more information on current events and what we're up to, join our < a href = "https://discord.gg/D9fZ6uWugH" class = "text-blue-400 underline" > Discord</ a > !
< br >< br > We have activies for all skill levels, and no license is required to participate with us (though we'd be happy to help you get yours if you like)</ p >
2025-07-02 12:54:07 -06:00
<!-- Homepage Banner Image -->
< div class = "my-6" >
< img
src = "/assets/i/summerfieldday_20250628_130113.jpg"
alt = "BYUIARS members at Summer Field Day 2025"
class = "w-full max-w-5xl mx-auto rounded shadow-md"
/>
</ div >
2025-06-21 02:39:33 -06:00
< h2 class = "text-xl font-semibold mt-6 mb-2" > Why Should I Join the Amateur Radio Society?</ h2 >
< ul class = "list-disc pl-6 space-y-2" >
< li > Hands-on opportunities to learn about, use, and build radios and antennas</ li >
< li > Learn and apply physics</ li >
< li > Be better prepared for emergencies and wilderness activities</ li >
< li > Connect and network with some pretty cool folks</ li >
< li > Obtain your federal Amateur Radio License at no cost to you (A $50 value!)</ li >
< li > Plentiful scholarship opportunities</ li >
< li > Inter-Society collaboration opportunities</ li >
< li > Great project opportunities. Have a cool idea? We probably have people with the knowledge to help you make it happen!</ li >
</ ul >
2025-06-20 12:53:20 -06:00
</ main >
<!-- Footer -->
< footer class = "accent-bg text-white text-center py-4" >
2026-01-20 15:58:19 -08:00
© 2025-< span x-text = "new Date().getFullYear()" ></ span > BYU-Idaho Amateur Radio Society. All rights reserved.
2025-06-20 12:53:20 -06:00
</ footer >
< script >
function appData () {
return {
darkMode : document . documentElement . classList . contains ( 'dark' ),
currentPath : window . location . pathname ,
banner : { title : '' , content : '' },
pages : [],
async init () {
const navResp = await fetch ( '/assets/pages.json' );
this . pages = await navResp . json ();
2025-07-02 14:39:15 -06:00
const bannerResp = await fetch ( '/assets/banner.json?t=${Date.now()}' );
2025-06-20 12:53:20 -06:00
this . banner = await bannerResp . json ();
},
toggleDarkMode () {
this . darkMode = ! this . darkMode ;
document . documentElement . classList . toggle ( 'dark' );
localStorage . theme = this . darkMode ? 'dark' : 'light' ;
}
}
}
</ script >
</ body >
</ html >