From 14139faad26c3cb3d8f4abbcac43d1c0d210eb55 Mon Sep 17 00:00:00 2001 From: saboooor Date: Mon, 19 Jan 2026 14:57:51 -0500 Subject: [PATCH 1/9] feat: add settings page --- src/components/Elements/Nav.tsx | 7 +++-- src/routes/profile/layout.tsx | 10 +++--- src/routes/settings/index.tsx | 56 +++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 7 deletions(-) create mode 100644 src/routes/settings/index.tsx diff --git a/src/components/Elements/Nav.tsx b/src/components/Elements/Nav.tsx index 51032a3d..456d0623 100644 --- a/src/components/Elements/Nav.tsx +++ b/src/components/Elements/Nav.tsx @@ -2,7 +2,7 @@ import { component$, useContext } from '@builder.io/qwik'; import { Form, Link, useLocation } from '@builder.io/qwik-city'; import { LogoBirdflop, LogoDiscord, Nav, SelectMenuRaw } from '@luminescent/ui-qwik'; -import { Box, Globe, Github, Server, Book, LogOut, User, Palette, Rainbow, Zap, Flag, Presentation, Ellipsis, ShoppingCart, DollarSign, Activity, AppWindow } from 'lucide-icons-qwik'; +import { Box, Globe, Github, Server, Book, LogOut, User, Palette, Rainbow, Zap, Flag, Presentation, Ellipsis, ShoppingCart, DollarSign, Activity, AppWindow, Settings } from 'lucide-icons-qwik'; import { inlineTranslate, useSpeakConfig, useSpeakLocale } from 'qwik-speak'; import { useSession, useSignIn, useSignOut } from '~/routes/plugin@auth'; @@ -10,7 +10,6 @@ import { useSession, useSignIn, useSignOut } from '~/routes/plugin@auth'; import { languages } from '~/speak-config'; import Accordion from './Accordion'; import { openItemsContext } from '~/routes/layout'; -import { ThemeToggle } from './ThemeToggle'; export default component$(() => { const t = inlineTranslate(); @@ -99,7 +98,9 @@ export default component$(() => { - + + + diff --git a/src/routes/profile/layout.tsx b/src/routes/profile/layout.tsx index b237c053..2618db3c 100644 --- a/src/routes/profile/layout.tsx +++ b/src/routes/profile/layout.tsx @@ -1,11 +1,10 @@ import { component$, Slot } from '@builder.io/qwik'; import { useSession, useSignIn, useSignOut } from '../plugin@auth'; -import { Form, useLocation } from '@builder.io/qwik-city'; -import { CircleUserRound, LogOut } from 'lucide-icons-qwik'; +import { Form, Link, useLocation } from '@builder.io/qwik-city'; +import { CircleUserRound, LogOut, Settings } from 'lucide-icons-qwik'; import { LogoBirdflop } from '@luminescent/ui-qwik'; import { inlineTranslate } from 'qwik-speak'; -import { ThemeToggle } from '~/components/Elements/ThemeToggle'; export default component$(() => { const t = inlineTranslate(); @@ -59,7 +58,10 @@ export default component$(() => {

- + + + {t('nav.settings.title@@Settings')} +
{ + const t = inlineTranslate(); + const config = useSpeakConfig(); + const locale = useSpeakLocale(); + + return ( +
+
+

+ + {t('nav.settings.title@@Settings')} +

+

+ {t('nav.settings.description@@Manage your settings and preferences here.')} +

+ +
+ ( + { + name: languages[value.lang as keyof typeof languages], + value: value.lang, + } + ))} + value={locale.lang} + onChange$={(e, el) => { + document.cookie = `locale=${JSON.stringify(config.supportedLocales.find(locale => locale.lang == el.value))};max-age=86400;path=/`; + location.reload(); + }}> + {t('settings.language@@Language')} + + +
+ + +
+
+
+
+ ); +}); + +export const head = generateHead({ + title: 'Resources - Free Minecraft Resources by Birdflop', + description: 'Public resources developed by Birdflop. ' + defaultDescription, +}); \ No newline at end of file From b9c1fab25420f8c0c4f12771c5870cbb698ef31a Mon Sep 17 00:00:00 2001 From: Saboor <42164502+saboooor@users.noreply.github.com> Date: Mon, 19 Jan 2026 15:05:28 -0500 Subject: [PATCH 2/9] Update src/components/Elements/Nav.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- src/components/Elements/Nav.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/Elements/Nav.tsx b/src/components/Elements/Nav.tsx index 456d0623..d4080a28 100644 --- a/src/components/Elements/Nav.tsx +++ b/src/components/Elements/Nav.tsx @@ -98,8 +98,14 @@ export default component$(() => { - - + +