From b1aea27f20f4697abfa25dd68ce4aef68b20acff Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Mon, 11 May 2026 08:38:32 +0100 Subject: [PATCH 1/9] ref: Carbon calculation to v4 --- api/carbon.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/api/carbon.js b/api/carbon.js index a08d530..97531c4 100644 --- a/api/carbon.js +++ b/api/carbon.js @@ -7,25 +7,23 @@ const log = createLogger('carbon'); const TIMEOUT = 8000; const MAX_BYTES = 10 * 1024 * 1024; -// Sustainable Web Design model v3 constants, matches websitecarbon.com formula -const KWH_PER_GB = 0.81; +// Sustainable Web Design model v4 constants, matches websitecarbon.com formula +const KWH_PER_GB = 0.3; const FIRST_VISIT = 0.25; const RETURN_VISIT = 0.75; const RETURN_DATA_PCT = 0.02; -const GRID_INTENSITY = 442; +const GRID_INTENSITY = 494; const RENEWABLE_INTENSITY = 50; const LITRES_PER_GRAM = 0.5562; -// Reference median grams CO2 per visit, drawn from websitecarbon's published average. -// Used to estimate a percentile rank since we lack their measured-sites dataset -const REFERENCE_MEDIAN_GRAMS = 0.8; +// Median CO2 for an HTML-only fetch at HTTP Archive's ~30 KB median +const REFERENCE_MEDIAN_GRAMS = 0.001; -// Approximate percentile via log2 distance from the reference median. -// 1 doubling above median drops 25 points; clamp to [1, 99] +// Percentile rank via log2 distance from the median, clamped to [1, 95] const estimateCleanerThan = (grams) => { if (!grams || grams <= 0) return 0; - const pct = 50 - 25 * Math.log2(grams / REFERENCE_MEDIAN_GRAMS); - return Math.max(1, Math.min(99, Math.round(pct))); + const pct = 50 - 15 * Math.log2(grams / REFERENCE_MEDIAN_GRAMS); + return Math.max(1, Math.min(95, Math.round(pct))); }; // Stream the response, cap at MAX_BYTES so huge pages can't blow memory or time From a4a8e445c93c0e416e80b35676fa65ee55ee7e85 Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Mon, 11 May 2026 08:41:10 +0100 Subject: [PATCH 2/9] ref: Meta tags, show site name in title on check page --- src/layouts/MetaTags.astro | 52 ++++++++++++++++--------------- src/pages/check/[...target].astro | 5 ++- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/src/layouts/MetaTags.astro b/src/layouts/MetaTags.astro index 772b15d..ed416c9 100644 --- a/src/layouts/MetaTags.astro +++ b/src/layouts/MetaTags.astro @@ -16,7 +16,10 @@ const siteInfo = { titleLong: 'Web Check - X-Ray Vision for any Website', description: 'Web Check is the all-in-one OSINT and security tool, for revealing the inner workings of any website', - keywords: '', + keywords: + 'web check, OSINT, website security, security audit, DNS lookup, SSL check, ' + + 'tech stack detection, website analyzer, web tools, open source', + themeColor: '#c1fb41', author: 'Alicia Sykes', twitter: '@Lissy_Sykes', site: import.meta.env.SITE_URL || 'https://web-check.xyz', @@ -27,17 +30,16 @@ const siteInfo = { }, }; -// Set values for the meta tags, from props or defaults -const { - title = siteInfo.title, - description = siteInfo.description, - keywords = siteInfo.keywords, - breadcrumbs, - customSchemaJson, -} = Astro.props; +// Resolve per-page values, falling back to siteInfo defaults +const { title, description, keywords, breadcrumbs, customSchemaJson } = Astro.props; +const pageTitle = title ?? siteInfo.title; +const ogTitle = title ?? siteInfo.titleLong; +const pageDescription = description ?? siteInfo.description; +const pageKeywords = keywords ?? siteInfo.keywords; -// Set non-customizable values for meta tags, from the siteInfo -const { site, author, twitter, analytics, titleLong } = siteInfo; +const { site, author, twitter, analytics, themeColor } = siteInfo; +const canonical = new URL(Astro.url.pathname, site).href; +const ogImage = `${site}/banner.png`; // Given a map of breadcrumbs, return the JSON-LD for the BreadcrumbList schema const makeBreadcrumbs = () => { @@ -56,10 +58,12 @@ const makeBreadcrumbs = () => { --- -{title} - - +{pageTitle} + +{pageKeywords && } + + @@ -73,19 +77,17 @@ const makeBreadcrumbs = () => { - + - - - - - + + + + - - - - - + + + + diff --git a/src/pages/check/[...target].astro b/src/pages/check/[...target].astro index b4767fb..ee5b768 100644 --- a/src/pages/check/[...target].astro +++ b/src/pages/check/[...target].astro @@ -14,9 +14,12 @@ if (searchUrl) { const target = normalizeAddress(searchUrl); if (target) Astro.redirect(`/check/${target}`); } + +const { target } = Astro.params; +const pageTitle = target ? `${target} | Web Check` : 'Web Check'; --- - + Date: Mon, 11 May 2026 09:06:37 +0100 Subject: [PATCH 3/9] ref: Hold my beer, i bout to commit --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 073ceed..10d53bc 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,8 @@ "typecheck": "astro check", "lint": "eslint --config .config/eslint.config.js .", "format:check": "prettier --check --ignore-unknown '!yarn.lock' '!**/*.md' .", - "format:fix": "prettier --write --ignore-unknown '!yarn.lock' '!**/*.md' ." + "format:fix": "prettier --write --ignore-unknown '!yarn.lock' '!**/*.md' .", + "hold-my-beer": "yarn format:fix && yarn lint && yarn typecheck" }, "dependencies": { "@astrojs/check": "^0.9.9", From 4d275e72c3da3c10d97ab5ab41fad395dba3c064 Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Mon, 11 May 2026 09:06:55 +0100 Subject: [PATCH 4/9] feat: New assets for site icons --- public/android-chrome-192x192.png | Bin 20779 -> 3334 bytes public/android-chrome-512x512.png | Bin 26319 -> 10236 bytes public/apple-touch-icon.png | Bin 20239 -> 3079 bytes public/favicon-16x16.png | Bin 921 -> 352 bytes public/favicon-32x32.png | Bin 2324 -> 605 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png index 818bfea007b73138bd5dbefde09b75871499df21..126f0fe9b24d5358d688f5d3b556cebf97b145eb 100644 GIT binary patch literal 3334 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 RGSQ+Q(bqQ7D%5a{_#b3^#uxwq literal 26319 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⁡BK@Xmf-GB2OS;yL^?~~P|Q4Imlw$+A&Sf|&xs*rtor7mW4XaX zE1&eA-_yJ5oy-i4P?Q^{(Tgq~q}CAtmDpm*LXp0UC*pZI0qusU2d&%wWMIQFkkB{u zP|=!ma=!%gfI=CzPb#OTzmxr)C6IkZ!^|t>nW`iz3RV@-_B5J@L~FYX)Jew{e}`=O zm1!TZjx&6F9J<#=+6HIWIMl{#9Xn2-uYHIo zfXY+F_xN9{VPrSS{+UPs`6In3rceLMP02cBM>@)891XLGUMRAPzJj!txGbSJ?kyj= z=Co+PZ$?K{DqqTPR=60Ov}2ASDU?!U{ZYCG@~kDBK|`F+`UALOHQORR!}X>_4vs>V z$9Whv8=_DMxUm;iq(}6k%#~nkP%{k|^)A;He|2uXM`Nw5ZvD}ge610g#$731!nN8WZ{=%^K9Y}J?(>Hsy-Y^#%~y(eI*!nQY(S)E%gfHksOmef zcS~=)*?~ym)RM-3SSEC92bx(-j_11x-;V&<0uVHGyt;h)7H!V$Q zoA=X0@z~GbjA}ANmo9OVNE9L8;(WvQF~0|C`Fv~lhU^#Vuht$gAo4qdxVL{$CZy#$jj7|~Sn#4;Ok8FLc0hOfj5{p{!Hv&1 z)S9Y1f;XNci*&&PT(UNltT=U_y{cTKCZ~8vKqJJ-p&`N}d^=VPG!dr-&*0}*iF@JCoN7jyGK-{Q~oru#?~ zejJ|t;JZ6=X`5|JNE&Rwx8SE20+cDcSxE0rDl0JQQ+acM>H}Tv#NUaNdV|#-c%I{bJ5RBlreQjCyETp zbs8v_jDDxvwWkL!_UVu}U%nN=MpK(^lKwxZbF^RLD&dHRHYY;=`bY|noq68?GVSWy{t z*1s=njFN0@8lF~U4mk0vQBp|>ANIrH>zBM#Cq5iAh%6bZw&td#QW9k<@cv6&{tzHD zt)h-h84 zUkbQp0)=n@FsKq(_jr_MN>tYMaO5s9uK3ecn zs?^BAxoI){q>-;@<2#MFGrZvZ4AsO8MxbFldcsfx25be@f_;P>tOPSSrjV3NlvqXV zb7&Nt;qn6}Bw*JmZLw)*v;yr`8&aOB2woO|2>~lenA2nzzyG(;yj! kU*=0fy3>J;W=nb4cma%RAw<`qyq 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 DV_KK` literal 20239 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 diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png index cba0476480ec333d172176d66cebe6aaefb700a4..8055a300ae39be06a6521ee169fbfd681b8ef79d 100644 GIT binary patch delta 581 zcmV-L0=oT_65RxlBYyx1a7bBm00D6r00D6r0qnuB2mk;A4@pEpRCwBBU>Ho`|NsAn zKwJaF9W=uAKx~D}az`Nk{h#*W9}tINbHGBVg4aNNhDP`q)Q;`g9IzfLIg^G_+yu4b z*r)?W9Y8Y&T=^f$cI}r#)|FpQW^{J|)bfqjemnlZ`rF|Kxql9rMXBXr2mErZ!D2@< zJ_js?N-iePa>w;B%dh=*=)#c(`k;2~#wIx(D!GvsmP75B3$ET@GkL1<>F- zSAIJ>;R|*kZXu8hc0lczj!iNgD)|G5S&-$f{&Ls}w&0h;S773DCdYE99nYb5WMh-m zK&r7!kmYWCw|`XxTJ`|p2q#Z6ELT7>-ximm`%nc<=yE8IK*cRY7D5G3vp)ba8!knY zpo;DRF*6QFJS5d}sM%+sW-r61NDtaz0D&-UYM_qT3e4xFBv|f<6#R}1M5fd`K+Hjf z@}C)q&q2*RLyQJJq^4On6&z5B)D&|dR#Oj>reF#zcYj9m%zRQbvH|f4q;kQH49hKn z_!HEOt3b>{ssWNfd>d-OPauvbL9ag$e}U?K3dD-!1|g{MxQUd4mjkgN9`)QnJOe2w zJpy7)N)wR?5br{A1jt8eK+KAyh6#vcpydY)90g(-YBi-8fjA$Czav?2588_=2IA{T z;=h2n8a`V=Mh%CkK%?O=j$Y43Al9KrA5sTeY`=x3^w~gcIuM;%Rv>0)7|H+uA9>Es Td8Wb800000NkvXXu0mjf_Ky6< delta 2314 zcmV+l3HA2f1e6kxBYz0nNkl9O?~tHdQHr#&$WYGT{OCF)Tqi91kH6cJp?W&#Q#jLZxm zGBdpQdf&i|11|W7_m4U6TkgHT@7~{czdHb;KRGur3=Y%2&r;PWe;E+Z1(5X+8glwM8PSr_OwJPrlNmgEp3yye zY-L46@gfeh41dx|H(w@0MzTAaUIgTs0O&+>DV(1%A~xon!dD09gYWM&^S%Q&YX)*? z-zj|?zECN#jw124$Rat-6K9^M{}cdnzLG+@l;JQZ)dN)yifmX+;`D&%#>9|WKTkNl zbDU=C@)B9`!BHKr|Gup9_=fQXD!;b>EXd4np;OZOfALGez?!Opvg z1If}@a({m1kQRn|cdH#60O>pI%{zE(P@pn@D4jtx(a(y~f}^{nwcUC|us|;HB8Jj& z#}R}T!1}Y0`Gw&cIIK?dK%O)g92~4rsI|EOGgTT7c})kuh-MTW7;V>g1i%mjXMcPN zIe&`+Z|1Cf2*|q9{G(f>@9Y*Vr>i=T>cf<$0Dok)U@4)SMvL>GggtQ&%P?uSas0X~ zIQ@A9%pKjv6|P;FnQ(_(zTZtl? z-bj9q+3Yes3l*$@#1t>wlorBc-b!FN&YmytpjO0X6r-ue6D%h{5EydGK@+M&{S7r_ z&VO`gNF;FH0Y)78coNKyg`0b$l#mX}$Lh&xmOwf}1Nqx# z15n6PsZH_3RcRt6bIcasVEvl>J;7*ea6YuUGdA8`ls5gYJ zZemF?b1mKdEo1uyK*b9Kwe<*yya`JO4~}TyKaPjbNDJ|ULG?uiTJAAYghWOZb9jc| zB&EPW`S-M0A0L-cL*Lyr?vY=mmw)2N?cq-Wn7Qf-^0r0V=RJlrVra-sA}TOwgb2Sd zGZZ}pwQbVZbEqwqp{?1^4X+py-4-%s@I@951pM34G%`xg6>CbSuM%e?L5 zwpIaVqYlB-El>}A@$*rhr-1%GV~`@yMiJ;PZ6qijuXMk1l&3!hpvvb0{9tnM5Vc-S=ztpvd5tdyTX6n zSfRG7zX|}2)z0{4%`hZ=cprgLtquV6RFzo#-ByC5X3kz2v+(u~Q@g@i_ocEL{{h_s zDzSZ~zX->R;XjtAGHrpeNsbHqyb-se5pt&|oDiv$ z7k%qYbwMbz-UZ^pNxGc-)4cGlG#)eltwAz5cZ)z+iNMKtdg(5s-Y*fH-Uw?`A7B_fnuRIXfNUe8AmE!e z9YR-VVU1Jxq&c$~mOU={m&Oy5Z=t%-7tJ*uc6)tO5WV0w9<>QjDC+QwKprDvEucg6 zk`4oh(i}Ou%wj9Ym`2!_sUGa6R!m1%@&lVjXl&vF7R+8UqJMCr2WI;F*Qf)ErsZxm zM*vE%$CyO#N8Z**1Whi6`#>EA`U}ubv_R(69SMB{hl&ew>ZYWTurMp#e83KX`hI1* z9>wJBBO>Gx8;FpYq=_HxzX%oj_g-D8$9qLc2 z8HQh$mELvAX8Y-`Scg%R^%KO9uWEN9lNuHw+kh*?k$*o^Bat&cKK`}jFV99FT02?u z%d~Q3^`*gv(Qyrx|9)>m!HrADAJ`1>Adi- zne`8fh<^=~s0Z{X#fyxVQ9mdB4SP!Vb-{a9&Dzf6k@#{vwb_d!*}mnwpL8 k Date: Mon, 11 May 2026 09:17:32 +0100 Subject: [PATCH 5/9] ref: Updates manifest with icon paths --- public/manifest.json | 45 +++++++++++++++++++++++------- src/client/components/Form/Nav.tsx | 2 +- src/layouts/MetaTags.astro | 4 ++- 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/public/manifest.json b/public/manifest.json index 3febec9..4babde7 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,20 +1,45 @@ { + "name": "Web Check", "short_name": "Web Check", - "name": "Lissy93/Web-Check", + "description": "Web Check is the all-in-one OSINT and security tool, for revealing the inner workings of any website", + "id": "/", + "start_url": "/", + "scope": "/", + "display": "standalone", + "theme_color": "#d6fb41", + "background_color": "#111211", "icons": [ { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" + "src": "/favicon.svg", + "type": "image/svg+xml", + "sizes": "any" }, { - "src": "apple-touch-icon.png", + "src": "/favicon-16x16.png", + "type": "image/png", + "sizes": "16x16" + }, + { + "src": "/favicon-32x32.png", + "type": "image/png", + "sizes": "32x32" + }, + { + "src": "/apple-touch-icon.png", "type": "image/png", "sizes": "180x180" + }, + { + "src": "/android-chrome-192x192.png", + "type": "image/png", + "sizes": "192x192", + "purpose": "any" + }, + { + "src": "/android-chrome-512x512.png", + "type": "image/png", + "sizes": "512x512", + "purpose": "any" } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#9fef00", - "background_color": "#141d2b" + ] } diff --git a/src/client/components/Form/Nav.tsx b/src/client/components/Form/Nav.tsx index 749b8ed..ae96729 100644 --- a/src/client/components/Form/Nav.tsx +++ b/src/client/components/Form/Nav.tsx @@ -20,7 +20,7 @@ const Nav = (props: { children?: ReactNode }) => { return (
- Web Check Icon + Web Check Icon Web Check diff --git a/src/layouts/MetaTags.astro b/src/layouts/MetaTags.astro index ed416c9..3527df1 100644 --- a/src/layouts/MetaTags.astro +++ b/src/layouts/MetaTags.astro @@ -73,8 +73,10 @@ const makeBreadcrumbs = () => { - + + + From b7c4cd12ebbb1f9d4b6077b04ffc3c8f6fe0d0a1 Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Mon, 11 May 2026 10:24:56 +0100 Subject: [PATCH 6/9] ref: Subdomain robustness --- api/subdomains.js | 11 ++++++++--- src/client/jobs/registry.ts | 5 ++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/api/subdomains.js b/api/subdomains.js index 5b03c39..e42b63d 100644 --- a/api/subdomains.js +++ b/api/subdomains.js @@ -45,10 +45,15 @@ const subdomainsHandler = async (url) => { params: { q: `%.${domain}`, output: 'json' }, headers: { Accept: 'application/json' }, }); - const rows = Array.isArray(res.data) ? res.data : []; - const all = collectSubdomains(rows, domain); + if (!Array.isArray(res.data)) { + return { error: 'Certificate Transparency lookup returned unexpected data, please retry' }; + } + const all = collectSubdomains(res.data, domain); if (!all.length) { - return { skipped: `No subdomains found for ${domain} in Certificate Transparency logs` }; + return { + skipped: `No subdomains found for ${domain} in Certificate Transparency logs`, + retryable: true, + }; } return { domain, diff --git a/src/client/jobs/registry.ts b/src/client/jobs/registry.ts index b050152..ca36214 100644 --- a/src/client/jobs/registry.ts +++ b/src/client/jobs/registry.ts @@ -102,11 +102,11 @@ const fetchAndPoll = (path: string) => }), ); -// Re-run on transient errors, returning the last error if all attempts fail +// Re-run on transient errors or when the server hints `retryable: true` const fetchAndRetry = (path: string) => retrying( path, - (r) => !!r?.error, + (r) => !!r?.error || !!r?.retryable, 3, 2000, (last) => last, @@ -207,7 +207,6 @@ export const jobs: JobSpec[] = [ { id: 'tls-labs', expectedAddressTypes: [...URL_ONLY], - noClientTimeout: true, cards: [ card('tls-security-audit', 'TLS Security Audit', ['security'], TlsSecurityAuditCard), card('tls-client-compat', 'TLS Client Compatibility', ['security'], TlsClientCompatCard), From 1b6901335036d1c51fc36e16219f41146aa4c58d Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Mon, 11 May 2026 10:30:42 +0100 Subject: [PATCH 7/9] fix: Rank when www. included --- api/rank.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/api/rank.js b/api/rank.js index b44c874..3625fa5 100644 --- a/api/rank.js +++ b/api/rank.js @@ -4,19 +4,24 @@ import { parseTarget } from './_common/parse-target.js'; import { upstreamError } from './_common/upstream.js'; const rankHandler = async (url) => { - const { hostname: domain } = parseTarget(url); + const { hostname } = parseTarget(url); const { TRANCO_USERNAME, TRANCO_API_KEY } = process.env; const auth = TRANCO_API_KEY ? { auth: { username: TRANCO_USERNAME, password: TRANCO_API_KEY } } : {}; + const fallback = hostname.startsWith('www.') ? hostname.slice(4) : `www.${hostname}`; + // Tranco indexes only one variant per site, so try as-is, then toggle www + const lookup = (domain) => httpGet(`https://tranco-list.eu/api/ranks/domain/${domain}`, auth); try { - const response = await httpGet(`https://tranco-list.eu/api/ranks/domain/${domain}`, auth); - if (!response.data?.ranks?.length) { - return { - skipped: `${domain} isn't ranked in the top 1 million sites yet`, - }; + const first = await lookup(hostname); + if (first.data?.ranks?.length) return first.data; + try { + const second = await lookup(fallback); + if (second.data?.ranks?.length) return second.data; + } catch { + // Ignore fallback failures (e.g. rate limit) and accept the empty first result } - return response.data; + return { skipped: `${hostname} isn't ranked in the top 1 million sites yet` }; } catch (error) { return upstreamError(error, 'Tranco rank lookup'); } From 9f3a996c217ac94933df75d09a64887e9c89be09 Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Mon, 11 May 2026 10:49:43 +0100 Subject: [PATCH 8/9] ref: Updates info on main check page --- .../components/misc/FancyBackground.tsx | 12 +- src/client/components/misc/Footer.tsx | 2 +- src/client/views/About.tsx | 5 +- src/client/views/Home.tsx | 119 +++++------------- 4 files changed, 45 insertions(+), 93 deletions(-) diff --git a/src/client/components/misc/FancyBackground.tsx b/src/client/components/misc/FancyBackground.tsx index fa9c2d5..5415d69 100644 --- a/src/client/components/misc/FancyBackground.tsx +++ b/src/client/components/misc/FancyBackground.tsx @@ -315,12 +315,16 @@ const FancyBackground = (): JSX.Element => { useEffect(() => { App.setup(); App.draw(); - - var frame = function () { - App.evolve(); + const frameInterval = 25; + let lastTime = 0; + const frame = (now: number) => { + if (now - lastTime >= frameInterval) { + App.evolve(); + lastTime = now; + } requestAnimationFrame(frame); }; - frame(); + requestAnimationFrame(frame); }, [App]); return ( diff --git a/src/client/components/misc/Footer.tsx b/src/client/components/misc/Footer.tsx index fbd97ef..8114890 100644 --- a/src/client/components/misc/Footer.tsx +++ b/src/client/components/misc/Footer.tsx @@ -51,7 +51,7 @@ const Footer = (props: { isFixed?: boolean }): JSX.Element => { Web-Check is licensed under MIT - - © Alicia Sykes 2023 + © Alicia Sykes 2026 ); diff --git a/src/client/views/About.tsx b/src/client/views/About.tsx index 723ad5e..04649e2 100644 --- a/src/client/views/About.tsx +++ b/src/client/views/About.tsx @@ -121,12 +121,11 @@ const SponsorshipContainer = styled.div` } `; -const makeAnchor = (title: string): string => { - return title +const makeAnchor = (title: string): string => + title .toLowerCase() .replace(/[^\w\s]|_/g, '') .replace(/\s+/g, '-'); -}; const About = (): JSX.Element => { const location = useLocation(); diff --git a/src/client/views/Home.tsx b/src/client/views/Home.tsx index 37c295b..435e616 100644 --- a/src/client/views/Home.tsx +++ b/src/client/views/Home.tsx @@ -43,42 +43,15 @@ const SponsorCard = styled.div` box-shadow: 4px 4px 0px ${colors.bgShadowColor}; border-radius: 8px; padding: 1rem; - z-index: 5; margin: 1rem; width: calc(100% - 2rem); max-width: 60rem; z-index: 2; - .inner { - display: flex; - justify-content: space-between; - flex-wrap: wrap; - gap: 1rem; - p { - margin: 0.25rem 0; - } + p { + margin: 0.25rem 0; } a { - color: ${colors.textColor}; - } - img { - border-radius: 0.25rem; - box-shadow: 2px 2px 0px ${colors.fgShadowColor}; - transition: box-shadow 0.2s; - margin: 0 auto; - display: block; - width: 200px; - &:hover { - box-shadow: 4px 4px 0px ${colors.fgShadowColor}; - } - &:active { - box-shadow: -2px -2px 0px ${colors.fgShadowColor}; - } - } - .cta { - font-size: 0.78rem; - a { - color: ${colors.primary}; - } + color: ${colors.primary}; } `; @@ -124,14 +97,23 @@ const SiteFeaturesWrapper = styled(StyledCard)` font-size: 0.9rem; color: ${colors.textColor}; li { + position: relative; margin: 0.1rem 0; - text-indent: -1.2rem; + padding-left: 1.2rem; break-inside: avoid-column; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } li:before { content: '✓'; color: ${colors.primary}; - margin-right: 0.5rem; + position: absolute; + left: 0; + } + li:not(:last-child) a { + color: inherit; + text-decoration: none; } } a { @@ -139,6 +121,13 @@ const SiteFeaturesWrapper = styled(StyledCard)` } `; +// Build a URL-safe anchor id from a section title (e.g. "IP Info" -> "ip-info") +const makeAnchor = (title: string): string => + title + .toLowerCase() + .replace(/[^\w\s]|_/g, '') + .replace(/\s+/g, '-'); + const Home = (): JSX.Element => { const defaultPlaceholder = 'e.g. duck.com'; const [userInput, setUserInput] = useState(''); @@ -191,23 +180,6 @@ const Home = (): JSX.Element => { submit(); }; - // const findIpAddress = () => { - // setUserInput(''); - // setPlaceholder('Looking up your IP...'); - // setInputDisabled(true); - // fetch('https://ipapi.co/json/') - // .then(function(response) { - // response.json().then(jsonData => { - // setUserInput(jsonData.ip); - // setPlaceholder(defaultPlaceholder); - // setInputDisabled(true); - // }); - // }) - // .catch(function(error) { - // console.log('Failed to get IP address :\'(', error) - // }); - // }; - return ( @@ -238,43 +210,16 @@ const Home = (): JSX.Element => { - Sponsored by + Enjoying Web Check? - + . Every bit genuinely helps, thank you +

@@ -283,7 +228,11 @@ const Home = (): JSX.Element => {
    {docs.map((doc, index) => ( -
  • {doc.title}
  • +
  • + + {doc.title} + +
  • ))}
  • + more! From 23c6b62762a8d2674a41078d742bf807537b22ee Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Mon, 11 May 2026 10:57:32 +0100 Subject: [PATCH 9/9] fix: Hide animation for loader --- src/client/components/misc/Loader.tsx | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/client/components/misc/Loader.tsx b/src/client/components/misc/Loader.tsx index 48248cd..67290b0 100644 --- a/src/client/components/misc/Loader.tsx +++ b/src/client/components/misc/Loader.tsx @@ -8,14 +8,15 @@ const LoaderContainer = styled(StyledCard)` margin: 0 auto; width: 95vw; position: relative; - transition: all 0.2s ease-in-out; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 2rem; height: 50vh; - transition: all 0.3s ease-in-out; + transition: + height 0.3s ease-in-out, + opacity 0.3s ease-in-out; p.loadTimeInfo { text-align: center; margin: 0; @@ -29,14 +30,9 @@ const LoaderContainer = styled(StyledCard)` height: 0; overflow: hidden; opacity: 0; - margin: -1rem 0 0 0; - padding: 0; - svg { - width: 0; - } - h4 { - font-size: 0; - } + margin-top: -1rem; + padding-top: 0; + padding-bottom: 0; } &.hide { display: none;