-
+
+ );
+}
+
+function Featured() {
+ return (
+
+
+
Featured
+
+
+

+
+
+
Sodium
+
+
+
+

+
OneConfig Integrated
+
+
+
+
Peak mod
+
+
+
+
+
+
+
+
);
}
diff --git a/apps/onelauncher/frontend/src/routes/app/browser/route.tsx b/apps/onelauncher/frontend/src/routes/app/browser/route.tsx
new file mode 100644
index 00000000..4f5a3972
--- /dev/null
+++ b/apps/onelauncher/frontend/src/routes/app/browser/route.tsx
@@ -0,0 +1,120 @@
+import { PROVIDERS } from '@/utils';
+import { Button, Dropdown, Show, TextField } from '@onelauncher/common/components';
+import { createFileRoute, Outlet } from '@tanstack/react-router';
+import { SearchMdIcon } from '@untitled-theme/icons-react';
+
+export const Route = createFileRoute('/app/browser')({
+ component: RouteComponent,
+});
+
+function RouteComponent() {
+ return (
+
+
+
+ );
+}
+
+export function BrowserLayout(props: any) {
+ return (
+
+ );
+}
+
+function BrowserSidebar() {
+ return (
+
+
+
+
Active Cluster
+
+
+
+
Provider
+
+ {/*
+ {provider => (
+
+
+ {provider}
+
+ )}
+ */}
+ {PROVIDERS.map(provider => (
+ {provider}
+ ))}
+
+
+
+
+ );
+}
+
+function BrowserCategories() {
+ return (
+
+
+
+
+
+
Categories
+ {/*
+ {category => (
+ toggleCategory(category.id)}
+ >
+ {category.display}
+
+ )}
+ */}
+
+ Jennie
+
+
+
+
+
+ );
+}
+
+function BrowserToolbar() {
+ return (
+
+
+
+
+ }
+ placeholder="Search for content"
+ />
+
+
+ );
+}
diff --git a/apps/onelauncher/frontend/src/routes/app/settings/index.tsx b/apps/onelauncher/frontend/src/routes/app/settings/index.tsx
index f20e4f96..aa737658 100644
--- a/apps/onelauncher/frontend/src/routes/app/settings/index.tsx
+++ b/apps/onelauncher/frontend/src/routes/app/settings/index.tsx
@@ -32,7 +32,7 @@ function RouteComponent() {
return (
-
General Settings
+
General
(
-
{section.toUpperCase()}
+
{section.toUpperCase()}
{links[section].map((link, i) => {
// eslint yaps too much tbh
@@ -88,7 +99,7 @@ function Sidebar(props: SidebarProps) {
return (
goto(link[2], link[3])}
diff --git a/apps/onelauncher/frontend/src/utils/index.ts b/apps/onelauncher/frontend/src/utils/index.ts
index 86d99b37..a2d9d486 100644
--- a/apps/onelauncher/frontend/src/utils/index.ts
+++ b/apps/onelauncher/frontend/src/utils/index.ts
@@ -18,6 +18,8 @@ export const LOADERS: Array = [
'fabric',
'legacyfabric',
] as const;
+export const PROVIDERS: Array = ['Modrinth', 'Curseforge', 'SkyClient'] as const;
+export const PACKAGE_TYPES: Array = ['mod', 'resourcepack', 'datapack', 'shaderpack'] as const;
export function pluralize(n: number, word: string, locale: string = 'en'): string {
const pluralRules = new Intl.PluralRules(locale);
diff --git a/packages/web_common/src/theme.css b/packages/web_common/src/theme.css
index 880e97f7..6d23eac1 100644
--- a/packages/web_common/src/theme.css
+++ b/packages/web_common/src/theme.css
@@ -110,3 +110,13 @@ body {
display: none;
}
+h1 { @apply text-[2rem] font-semibold; line-height: 1.5 !important; }
+h2 { @apply text-[1.5rem] font-semibold; line-height: 1.25 !important; }
+h3 { @apply text-[1.25rem] font-medium; }
+h4 { @apply text-[1rem] font-medium; }
+h5 { @apply text-[0.875rem] text-fg-secondary font-bold uppercase; }
+h6 { @apply text-[0.75rem] text-fg-secondary font-medium uppercase; }
+
+code {
+ @apply rounded-md bg-component-bg p-2 text-left;
+}
\ No newline at end of file