Merge branch 'main' into feat/i18n-ja

This commit is contained in:
Shintaro Jokagi 2025-05-20 11:58:53 +12:00 committed by GitHub
commit 2f28cd02b8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 52 additions and 30 deletions

1
.github/CODEOWNERS vendored Normal file
View file

@ -0,0 +1 @@
* @mauro-balades

View file

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Before After
Before After

View file

@ -0,0 +1,13 @@
<svg width="1407" height="500" viewBox="0 0 1407 500" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_239_62)">
<path d="M1200.9 290.615C1200.9 246.523 1234.56 194.179 1291.91 194.179H1334.26L1319.06 242.181C1301.03 299.309 1273.23 335.14 1239.13 335.14C1214.37 335.14 1200.9 318.196 1200.9 290.615ZM986.088 266.512C965.018 334.06 997.167 380.54 1070.15 380.54C1080.8 380.54 1094.69 379.665 1099.04 378.585C1101.21 377.937 1102.29 376.847 1102.94 374.892L1115.54 332.754C1116.18 330.367 1115.54 328.412 1111.84 328.628C1100.76 329.719 1090.77 330.583 1081.65 330.583C1044.94 330.583 1029.95 311.037 1040.82 276.069L1066.44 193.963H1140.95C1142.9 193.963 1144.64 192.872 1145.5 190.486L1158.75 147.916C1159.4 145.529 1158.11 143.79 1155.28 143.79H1082.08L1091.64 112.732C1092.29 110.561 1091.85 109.255 1090.12 107.743L1051.45 72.7753C1049.28 70.8206 1046.89 71.4686 1046.02 74.298L986.077 266.523L986.088 266.512ZM729.565 268.024C708.064 336.663 742.599 381.62 796.898 381.62C828.172 381.62 852.718 366.631 870.321 342.084L869.889 373.574C869.889 376.62 871.412 377.484 874.014 377.484H908.766C911.379 377.484 912.459 376.393 913.334 374.006L983.269 148.337C984.133 145.518 983.053 143.78 980.008 143.78H930.483C928.085 143.78 926.789 144.87 925.915 147.257L896.152 242.397C877.686 301.263 848.366 334.924 817.74 334.924C787.113 334.924 774.079 310.81 785.591 273.888L824.91 148.348C825.774 145.529 824.694 143.79 821.649 143.79H772.124C769.738 143.79 768.431 144.881 767.556 147.268L729.543 268.034L729.565 268.024ZM560.148 266.512C539.079 334.06 571.228 380.54 644.209 380.54C654.846 380.54 668.755 379.665 673.096 378.585C675.267 377.937 676.358 376.847 677.005 374.892L689.597 332.754C690.245 330.367 689.381 328.412 685.904 328.628C674.824 329.719 664.835 330.583 655.71 330.583C619.003 330.583 604.014 311.037 614.878 276.069L640.504 193.963H715.008C716.962 193.963 718.701 192.872 719.565 190.486L732.815 147.916C733.463 145.529 732.167 143.79 729.338 143.79H656.142L665.699 112.732C666.347 110.561 665.915 109.255 664.176 107.743L625.515 72.7753C623.345 70.8206 620.947 71.4686 620.083 74.298L560.137 266.523L560.148 266.512ZM1220.88 381.631C1249.99 381.631 1274.09 368.596 1292.34 342.095V373.585C1292.34 376.188 1293.86 377.494 1296.25 377.494H1331C1333.39 377.494 1334.69 376.404 1335.56 374.017L1406.15 148.132C1406.8 145.745 1405.5 143.79 1403.11 143.79H1293.42C1186.34 143.79 1144.64 236.317 1144.64 296.263C1144.42 348.607 1177.22 381.62 1220.88 381.62" fill="#B05C5F"/>
<path d="M40.6017 5L126.617 91.4471C128.571 93.4017 130.526 94.0497 133.571 94.0497H500.213C502.826 94.0497 504.338 91.0043 501.736 88.6177L416.79 3.04536C414.835 1.09071 412.88 0 408.755 0H42.5564C39.0791 0 38.6471 3.04536 40.6017 5Z" fill="#B05C5F"/>
<path d="M27.999 496.091C27.5671 498.045 28.431 500 31.0444 500H388.561C392.038 500 393.561 498.477 394.641 495.443L502.815 148.348C503.906 144.87 502.373 143.791 499.338 143.791H140.731C137.686 143.791 136.822 144.881 135.731 147.268L27.999 496.091Z" fill="#B05C5F"/>
<path d="M0.850098 396.177C0.850098 400.086 5.8501 400.086 6.93001 396.177L88.8199 130.54C89.9106 127.494 89.9106 125.54 87.2972 122.937L5.8501 42.5701C3.89545 40.3994 0.850098 41.4794 0.850098 44.0927V396.177Z" fill="#B05C5F"/>
</g>
<defs>
<clipPath id="clip0_239_62">
<rect width="1405.48" height="500" fill="white" transform="translate(0.850098)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

View file

@ -28,7 +28,7 @@ const descriptions = Object.values(features.featureTabs).map((tab) => tab.descri
id="Features"
class="relative flex w-full flex-col py-12 text-start lg:py-36"
>
<Description class="mb-2 text-6xl font-bold">
<Description class="mb-2 text-4xl sm:text-6xl font-bold">
<motion.span client:load {...getTitleAnimation(0.2)}>
{title1}
</motion.span>

View file

@ -6,7 +6,7 @@ import { getLocale, getUI } from '~/utils/i18n'
const locale = getLocale(Astro)
import tutaLogo from '~/assets/tuta-logo.png'
import tutaLogo from '~/assets/sponsors/tutaLogo_monochrome.svg'
import Image from 'astro/components/Image.astro'
const { showSponsors = true } = Astro.props

View file

@ -26,32 +26,32 @@
// Function to select a platform
async function selectPlatform(platform: string) {
// Update button styling
platformButtons.forEach((button) => {
for (const button of platformButtons) {
const buttonPlatform = button.getAttribute('data-platform')
if (buttonPlatform === platform) {
button.setAttribute('data-active', 'true')
} else {
button.setAttribute('data-active', 'false')
}
})
}
// Show/hide platform sections
platformSections.forEach((section) => {
for (const section of platformSections) {
if (section.id === `${platform}-downloads`) {
section.setAttribute('data-active', 'true')
} else {
section.setAttribute('data-active', 'false')
}
})
}
}
// Handle platform button clicks
platformButtons.forEach((button) => {
for (const button of platformButtons) {
button.addEventListener('click', () => {
const platform = button.getAttribute('data-platform') ?? ''
selectPlatform(platform)
})
})
}
// Check for twilight mode
async function checkTwilightMode() {
@ -70,21 +70,21 @@
}
const tags = document.querySelectorAll('.release-type-tag')
tags.forEach((tag) => {
for (const tag of tags) {
tag.innerHTML = tag.innerHTML.replace('Beta', 'Twilight')
})
}
// Apply twilight mode to all relevant elements
const coralElements = document.querySelectorAll(
'.download-browser-logo, .release-type-tag, .decorative-gradient, .download-link, .download-arrow-icon, .download-card__icon, .checksum-icon-btn, .copy-btn',
'.download-browser-logo, .release-type-tag, .decorative-gradient, .download-link, .download-arrow-icon, .download-card__icon, .checksum-icon-btn, .copy-btn, .flathub-download',
)
coralElements.forEach((element) => {
for (const element of coralElements) {
element.setAttribute('data-twilight', 'true')
})
}
// Replace all download links with twilight versions
const downloadLinks = document.querySelectorAll('a.download-link')
downloadLinks.forEach((link) => {
for (const link of downloadLinks) {
if (!link.id.includes('beta')) {
const href = link.getAttribute('href')
if (href && href.includes('/latest/download/')) {
@ -95,7 +95,7 @@
link.setAttribute('href', twilightHref)
}
}
})
}
}
}

View file

@ -59,7 +59,7 @@ function isFlatReleaseInfo(obj: unknown): obj is ReleaseInfo {
platform === "linux" ? (
<>
{releases.flathub && releases.flathub.all.label && (
<div>
<article class="flathub-download data-[twilight='true']:hidden">
<h4 class="mb-3 text-lg font-medium">Package Managers</h4>
<div class="space-y-3">
<DownloadCard
@ -68,13 +68,13 @@ function isFlatReleaseInfo(obj: unknown): obj is ReleaseInfo {
variant="flathub"
/>
</div>
</div>
</article>
)}
{releases.x86_64 &&
typeof releases.x86_64 === "object" &&
"tarball" in releases.x86_64 &&
(releases.x86_64.tarball) && (
<div>
<article>
<h4 class="mb-3 text-lg font-medium">x86_64</h4>
<div class="">
{releases.x86_64.tarball && (
@ -94,13 +94,13 @@ function isFlatReleaseInfo(obj: unknown): obj is ReleaseInfo {
/>
)}
</div>
</div>
</article>
)}
{releases.aarch64 &&
typeof releases.aarch64 === "object" &&
"tarball" in releases.aarch64 &&
(releases.aarch64.tarball) && (
<div>
<article>
<h4 class="mb-3 text-lg font-medium">ARM64</h4>
<div class="gap-3">
{releases.aarch64.tarball && (
@ -120,7 +120,7 @@ function isFlatReleaseInfo(obj: unknown): obj is ReleaseInfo {
/>
)}
</div>
</div>
</article>
)}
</>
) : (

View file

@ -130,6 +130,14 @@ const {
window.addEventListener('scroll', toggleScrollButton)
versionButton?.addEventListener('click', openVersionModal)
versionList?.addEventListener('click', navigateToVersion)
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && modal?.hasAttribute('open')) {
closeModal(modal)
// Remove scroll lock if present
document.body.style.overflow = ''
}
})
</script>
<style is:global>

View file

@ -2657,7 +2657,7 @@
"features": [
"Updated to Firefox 138.0.3",
"For MacOS users, dragging tabs and changing the texture for the workspace's background now provides haptic feedback (zen.haptic-feedback.enabled)",
"The 'copy current url' toast now displays a share icon (only on windows and MacOS)",
"The 'copy current url' toast now displays a share icon (only on Windows and MacOS)",
"The URL bar can now search through renamed pinned tabs"
],
"workflowId": 15003870178,
@ -2666,30 +2666,30 @@
{
"version": "1.12.5b",
"extra": "",
"fixes": ["Fixed a weird shadow with the URL bar.", "Fixed all tabs button appearing unexpectedly."],
"fixes": ["A weird shadow with the URL bar.", "'All tabs' button appearing unexpectedly."],
"features": [],
"workflowId": 15024223699,
"date": "14/05/2025"
},
{
"version": "1.12.6b",
"extra": "This new release updates firefox to the latest version which fixes various security issues.",
"extra": "This new release updates Firefox to the latest version which fixes various security issues.",
"fixes": [
"Compact mode appearing 'tab openned in the background' when having multiple toolbars.",
"Compact mode showing 'tab opened in the background' when having multiple toolbars.",
"An issue with GTK popups having low contrast.",
"Tabs not being able to unload after closing glance.",
"Tabs not being able to unload after closing Glance.",
"An issue with updating invalid mods clearing the mod list.",
"An accessibility issue with the scrollbar on the sidebar.",
"Fixed opening a new link as split view while having glance open.",
"Fixed all-tabs menu not showing any text when collapsed toolbar is enabled."
"Opening a new link in split view while having Glance open.",
"'All tabs' menu not showing any text when collapsed toolbar is enabled."
],
"security": "https://www.mozilla.org/en-US/security/advisories/mfsa2025-36/",
"features": ["Updated to Firefox 138.0.4", "Better compact mode support for multiple toolbars."],
"knownIssues": ["Selecting a tab on private mode doesn't scroll to make the tab visible."],
"themeChanges": [
"Changed the layout of workspaces and their icons internally to provide a more stable layout that doesn't require floating elements. We finally manage to get it how we wanted it to be, meaning it will change less in the future."
"Changed the layout of workspaces and their icons internally to provide a more stable layout that doesn't require floating elements. We finally managed to get it to how we wanted it to be, so it will change less in the future."
],
"workflowId": 15107068418,
"workflowId": 15124722267,
"image": false,
"date": "19/05/2025"
}