2025-05-12 22:56:57 +10:00
<!DOCTYPE html>
2025-05-10 13:53:38 +02:00
< html lang = "en" >
2025-05-12 22:42:14 +10:00
< head >
< meta charset = "UTF-8" />
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" />
2025-05-29 15:15:23 +02:00
< title > Crap Fixer Update Check</ title >
2025-05-12 22:42:14 +10:00
< style >
2025-05-15 17:42:36 +02:00
: root {
--bg : #f3f6fd ;
--primary : #0067c0 ;
--text : #1b1b1b ;
--card-bg : #ffffff cc ;
--shadow : 0 8 px 24 px rgba ( 0 , 0 , 0 , 0.1 );
--radius : 20 px ;
}
* {
box-sizing : border-box ;
}
2025-05-12 22:42:14 +10:00
body {
2025-05-15 17:42:36 +02:00
font-family : "Segoe UI Variable" , "Segoe UI" , Tahoma , sans-serif ;
background : linear-gradient ( 145 deg , #ecf0f7 , #f8faff );
color : var ( -- text );
2025-05-12 22:42:14 +10:00
padding : 2 rem ;
2025-05-15 17:42:36 +02:00
margin : 0 ;
display : flex ;
flex-direction : column ;
align-items : center ;
min-height : 100 vh ;
2025-05-12 22:42:14 +10:00
}
2025-05-15 17:42:36 +02:00
2025-05-12 22:42:14 +10:00
h1 {
2025-05-15 17:42:36 +02:00
font-size : 2 rem ;
font-weight : 600 ;
margin-bottom : 1 rem ;
display : flex ;
align-items : center ;
gap : 0.5 rem ;
2025-05-12 22:42:14 +10:00
}
2025-05-15 17:42:36 +02:00
2025-05-12 22:42:14 +10:00
# status {
2025-05-15 17:42:36 +02:00
background : var ( -- card - bg );
backdrop-filter : blur ( 10 px );
padding : 1.5 rem ;
border-radius : var ( -- radius );
box-shadow : var ( -- shadow );
width : 100 % ;
2025-05-21 15:53:37 +02:00
max-width : 500 px ;
2025-05-15 17:42:36 +02:00
font-size : 1.1 rem ;
2025-05-12 22:42:14 +10:00
}
2025-05-15 17:42:36 +02:00
2025-05-21 15:53:37 +02:00
a {
color : var ( -- primary );
text-decoration : none ;
font-weight : 500 ;
}
a : hover {
text-decoration : underline ;
}
2025-05-29 15:15:23 +02:00
. donate-box {
font-family : Verdana , Geneva , sans-serif ;
font-size : 13 px ;
background-color : #fffde5 ;
border : 1 px solid #ccc ;
padding : 15 px ;
max-width : 340 px ;
box-shadow : 1 px 1 px 5 px rgba ( 0 , 0 , 0 , 0.1 );
margin-top : 2 rem ;
color : #333 ;
}
. donate-box h3 {
margin-top : 0 ;
font-size : 14 px ;
color : #444 ;
}
. donate-box a {
color : #0066cc ;
text-decoration : none ;
}
. donate-box a : hover {
text-decoration : underline ;
}
. project-follow {
margin-top : 2 rem ;
text-align : center ;
}
. project-follow a {
padding : 0.8 rem 1.5 rem ;
background : #24292f ;
color : white ;
border-radius : 12 px ;
text-decoration : none ;
font-size : 1 rem ;
transition : background 0.3 s ease ;
display : inline-block ;
}
. project-follow a : hover {
background : #0366d6 ;
}
2025-05-15 17:42:36 +02:00
@ media ( max-width : 600px ) {
body {
padding : 1 rem ;
}
# status ,
. donate {
padding : 1 rem ;
}
2025-05-12 22:42:14 +10:00
}
</ style >
</ head >
< body >
2025-05-21 15:53:37 +02:00
2025-05-21 15:55:49 +02:00
< h1 > 🔍 CrapFixer Update Check</ h1 >
2025-05-21 15:53:37 +02:00
<!-- Main Content -->
< p id = "status" > Checking version...</ p >
2025-05-29 15:15:23 +02:00
< div class = "donate-box" >
< h3 > How can I help?</ h3 >
2025-05-29 15:17:40 +02:00
< p >
If you like this software, you can help by < a href = "https://twitter.com/intent/tweet?text=Still%20cleaning%20up%20Windows%20like%20it%E2%80%99s%202005.%20CrapFixer%20fixes%20the%20crap%20Windows%20leaves%20behind.%20https%3A%2F%2Fgithub.com%2Fbuiltbybel%2FCrapFixer" target = "_blank" > tweeting about it</ a > or < strong > supporting the project</ strong > with a donation.
</ p >
2025-05-29 15:15:23 +02:00
< p >
Although this software is free, any donations — large or small — are greatly appreciated :)
</ p >
< form action = "https://www.paypal.com/donate" method = "post" target = "_blank" style = "margin-top: 10px;" >
< input type = "hidden" name = "hosted_button_id" value = "M9DW4VNKH9ECQ" />
< input type = "image" src = "https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" name = "submit" alt = "Donate with PayPal" />
</ form >
< p style = "margin-top: 1rem;" >
Or support me with a coffee: < a href = "https://ko-fi.com/builtbybel" target = "_blank" > ☕ Ko-fi</ a >
</ p >
< p style = "margin-top: 1rem;" >
Just like the good old tools from back in the day — built with care, running on caffeine and community support ☕💾
</ p >
</ div >
< div class = "project-follow" >
< a href = "https://github.com/builtbybel/CrapFixer" target = "_blank" > 🐙 Follow CrapFixer on GitHub</ a >
</ div >
2025-05-21 15:53:37 +02:00
2025-05-10 13:46:41 +02:00
2025-05-21 11:11:44 +02:00
<!-- Update Logic Script -->
2025-05-12 22:42:14 +10:00
< script >
2025-05-31 16:26:26 +02:00
const latestVersion = "1.11.71" ;
2025-05-10 13:46:41 +02:00
2025-05-12 22:42:14 +10:00
function compareVersions ( v1 , v2 ) {
const a = v1 . split ( "." ). map ( Number );
const b = v2 . split ( "." ). map ( Number );
for ( let i = 0 ; i < Math . max ( a . length , b . length ); i ++ ) {
if (( a [ i ] || 0 ) < ( b [ i ] || 0 )) return - 1 ;
if (( a [ i ] || 0 ) > ( b [ i ] || 0 )) return 1 ;
}
return 0 ;
2025-05-10 13:46:41 +02:00
}
2025-05-12 22:42:14 +10:00
const params = new URLSearchParams ( window . location . search );
const userVersion = params . get ( "version" );
2025-05-10 13:46:41 +02:00
2025-05-12 22:42:14 +10:00
const status = document . getElementById ( "status" );
2025-05-10 13:46:41 +02:00
2025-05-12 22:42:14 +10:00
if ( ! userVersion ) {
2025-05-21 15:53:37 +02:00
status . innerText =
2025-05-21 15:55:49 +02:00
"❓ No version found. Please open this page from the CrapFixer app." ;
2025-05-10 14:22:53 +02:00
} else {
2025-05-12 22:42:14 +10:00
const result = compareVersions ( userVersion , latestVersion );
if ( result < 0 ) {
2025-05-21 15:55:49 +02:00
status . innerHTML = `⚠️ Your version ( ${ userVersion } ) is outdated.<br><strong>Latest version:</strong> ${ latestVersion } <br><a href="https://github.com/builtbybel/CrapFixer/releases">⬇️ Download here</a>` ;
2025-05-12 22:42:14 +10:00
} else if ( result === 0 ) {
status . innerHTML = `✅ Your version ( ${ userVersion } ) is up to date.` ;
} else {
status . innerHTML = `✅ Your version ( ${ userVersion } ) is newer than the official release ( ${ latestVersion } ).<br><em>Note: You may be using a development build.</em>` ;
}
2025-05-10 14:22:53 +02:00
}
2025-05-12 22:42:14 +10:00
</ script >
</ body >
2025-05-10 13:46:41 +02:00
</ html >
2025-05-29 15:15:23 +02:00