diff --git a/src/lib/components/organisms/Footer.svelte b/src/lib/components/organisms/Footer.svelte index 6bc354f..7c53dac 100644 --- a/src/lib/components/organisms/Footer.svelte +++ b/src/lib/components/organisms/Footer.svelte @@ -25,11 +25,21 @@ { label: 'Good first issues', href: 'https://github.com/langx/langx/contribute' }, { label: 'Releases', href: 'https://github.com/langx/langx/releases' }, { label: 'Docs', href: 'https://docs.langx.io' }, - { label: 'Word lists', href: '/tools/most-common-words' }, { label: 'Status', href: 'https://status.langx.io' }, { label: 'Branding', href: 'https://github.com/langx/branding' } ] }, + { + title: 'Tools', + links: [ + { label: 'All tools', href: '/tools' }, + { label: 'Word lists', href: '/tools/most-common-words' }, + { label: 'Say it in any language', href: '/tools/say' }, + { label: 'Vocabulary test', href: '/tools/vocabulary-test' }, + { label: 'Alphabets', href: '/tools/alphabet' }, + { label: 'Languages that overlap', href: '/tools/similar' } + ] + }, { title: 'Community', links: [ @@ -171,7 +181,11 @@ .groups { display: grid; - grid-template-columns: repeat(4, minmax(0, 1fr)); + // Was a fixed four, which left the fifth group stranded alone on a second + // row. Five will not fit across the space the brand column leaves — the + // labels here are longer than "Legal" — so three and two, which reads as + // a layout rather than an accident. + grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--space-lg) var(--space-md); @include for-phone-only { diff --git a/src/lib/components/organisms/OpenSource.svelte b/src/lib/components/organisms/OpenSource.svelte new file mode 100644 index 0000000..59effdf --- /dev/null +++ b/src/lib/components/organisms/OpenSource.svelte @@ -0,0 +1,167 @@ + + +
+
+

open source. all of it.

+

+ Not a public mirror, not an SDK, not the client with the interesting half missing. The app you + install and the server it talks to are the same code you can read, change and run yourself. +

+ +
+ {#each facts as f} +
+
{f.big}
+
{f.small}
+
+ {/each} +
+ +
+ + Good first issues +
+
+
+ + diff --git a/src/routes/(site)/+page.svelte b/src/routes/(site)/+page.svelte index c2483d5..5fd2325 100644 --- a/src/routes/(site)/+page.svelte +++ b/src/routes/(site)/+page.svelte @@ -4,6 +4,7 @@ import LanguageMarquee from '$lib/components/organisms/LanguageMarquee.svelte'; import Story from '$lib/components/organisms/Story.svelte'; import Anywhere from '$lib/components/organisms/Anywhere.svelte'; + import OpenSource from '$lib/components/organisms/OpenSource.svelte'; import Testimonials from '$lib/components/organisms/Testimonials.svelte'; import Faq from '$lib/components/organisms/FAQ.svelte'; import FinalCta from '$lib/components/organisms/FinalCta.svelte'; @@ -16,6 +17,7 @@ + diff --git a/src/routes/(site)/tools/vocabulary-test/+page.svelte b/src/routes/(site)/tools/vocabulary-test/+page.svelte new file mode 100644 index 0000000..01ad053 --- /dev/null +++ b/src/routes/(site)/tools/vocabulary-test/+page.svelte @@ -0,0 +1,138 @@ + + + + +
+ + +
+

Start here

+ +
+ +
+

All {WORD_LISTS.length} languages

+ +
+
+ +