Leon4gr45 commited on
Commit
fa8ad0b
·
verified ·
1 Parent(s): 533ad33

Upload folder using huggingface_hub

Browse files
.hfignore CHANGED
@@ -1,8 +1,24 @@
 
1
  node_modules/
2
  .next/
 
 
3
  .git/
4
  .github/
5
- out/
6
- dist/
7
- *.log
8
  data/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Hugging Face deployment ignore list
2
  node_modules/
3
  .next/
4
+ out/
5
+ build/
6
  .git/
7
  .github/
 
 
 
8
  data/
9
+ sites/
10
+ deployments/
11
+ public/sites/
12
+ public/deployments/
13
+ *.log
14
+ .env
15
+ .env.*
16
+ .vscode/
17
+ .idea/
18
+ .cache/
19
+ project_dump.txt
20
+ *.dump
21
+ scripts/
22
+ e2e/
23
+ test-results/
24
+ playwright.config.ts
README.md CHANGED
@@ -1,10 +1,24 @@
1
  ---
2
- title: Builder
3
- emoji: 💻
4
- colorFrom: blue
5
- colorTo: indigo
6
  sdk: docker
7
  app_port: 7860
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  ---
9
 
10
  <div align="center">
 
1
  ---
2
+ title: OSW Studio
3
+ emoji: 🤖
4
+ colorFrom: indigo
5
+ colorTo: yellow
6
  sdk: docker
7
  app_port: 7860
8
+ pinned: false
9
+ license: mit
10
+ hf_oauth: true
11
+ hf_oauth_scopes:
12
+ - inference-api
13
+ - contribute-repos
14
+ tags:
15
+ - ai
16
+ - web-development
17
+ - code-generation
18
+ - llm
19
+ - agent
20
+ - low-code
21
+ short_description: Agentic Browser-based Website Builder
22
  ---
23
 
24
  <div align="center">
app/layout.tsx CHANGED
@@ -1,23 +1,10 @@
1
  import type { Metadata, Viewport } from "next";
2
- import { Inter, PT_Sans } from "next/font/google";
3
-
4
  import TanstackProvider from "@/components/providers/tanstack-query-provider";
5
  import { ThemeProvider } from "@/components/providers/theme-provider";
6
  import "@/assets/globals.css";
7
  import { Toaster } from "@/components/ui/sonner";
8
  import { BackendStatusBanner } from "@/components/backend-status-banner";
9
 
10
- const inter = Inter({
11
- variable: "--font-inter-sans",
12
- subsets: ["latin"],
13
- });
14
-
15
- const ptSans = PT_Sans({
16
- variable: "--font-ptSans-mono",
17
- subsets: ["latin"],
18
- weight: ["400", "700"],
19
- });
20
-
21
  export const metadata: Metadata = {
22
  title: "OSW Studio",
23
  description:
@@ -70,7 +57,7 @@ export default function RootLayout({
70
  return (
71
  <html lang="en" suppressHydrationWarning>
72
  <body
73
- className={`${inter.variable} ${ptSans.variable} antialiased bg-background h-[100dvh] overflow-hidden`}
74
  suppressHydrationWarning
75
  >
76
  <ThemeProvider>
 
1
  import type { Metadata, Viewport } from "next";
 
 
2
  import TanstackProvider from "@/components/providers/tanstack-query-provider";
3
  import { ThemeProvider } from "@/components/providers/theme-provider";
4
  import "@/assets/globals.css";
5
  import { Toaster } from "@/components/ui/sonner";
6
  import { BackendStatusBanner } from "@/components/backend-status-banner";
7
 
 
 
 
 
 
 
 
 
 
 
 
8
  export const metadata: Metadata = {
9
  title: "OSW Studio",
10
  description:
 
57
  return (
58
  <html lang="en" suppressHydrationWarning>
59
  <body
60
+ className="antialiased bg-background h-[100dvh] overflow-hidden"
61
  suppressHydrationWarning
62
  >
63
  <ThemeProvider>
app/page.tsx CHANGED
@@ -15,6 +15,7 @@ export default function Home() {
15
  const router = useRouter();
16
  const [bootError, setBootError] = useState<string | null>(null);
17
  const [bootDetail, setBootDetail] = useState<string | null>(null);
 
18
  const isServerMode = process.env.NEXT_PUBLIC_SERVER_MODE === 'true';
19
  const isDesktop = process.env.NEXT_PUBLIC_DESKTOP === 'true';
20
 
@@ -41,7 +42,13 @@ export default function Home() {
41
  setBootError(err instanceof Error ? err.message : 'Workspace initialization request failed');
42
  });
43
  } else {
44
- router.push('/admin/projects');
 
 
 
 
 
 
45
  }
46
  }, [isServerMode, isDesktop, router]);
47
 
@@ -66,7 +73,14 @@ export default function Home() {
66
  </p>
67
  </div>
68
  ) : (
69
- <p className="text-zinc-400">Loading...</p>
 
 
 
 
 
 
 
70
  )}
71
  </div>
72
  );
 
15
  const router = useRouter();
16
  const [bootError, setBootError] = useState<string | null>(null);
17
  const [bootDetail, setBootDetail] = useState<string | null>(null);
18
+ const [bootTarget, setBootTarget] = useState<string | null>(null);
19
  const isServerMode = process.env.NEXT_PUBLIC_SERVER_MODE === 'true';
20
  const isDesktop = process.env.NEXT_PUBLIC_DESKTOP === 'true';
21
 
 
42
  setBootError(err instanceof Error ? err.message : 'Workspace initialization request failed');
43
  });
44
  } else {
45
+ const target = '/admin/projects';
46
+ setBootTarget(target);
47
+ const timeout = window.setTimeout(() => {
48
+ setBootError(`Redirect to ${target} did not complete. Click the link below to continue.`);
49
+ }, 3000);
50
+ window.location.replace(target);
51
+ return () => window.clearTimeout(timeout);
52
  }
53
  }, [isServerMode, isDesktop, router]);
54
 
 
73
  </p>
74
  </div>
75
  ) : (
76
+ <div className="max-w-lg px-8 text-zinc-400 space-y-3 text-center">
77
+ <p>Loading...</p>
78
+ {bootTarget && (
79
+ <p className="text-sm">
80
+ Redirecting to <a className="underline" href={bootTarget}>OSW Studio</a>.
81
+ </p>
82
+ )}
83
+ </div>
84
  )}
85
  </div>
86
  );
assets/globals.css CHANGED
@@ -43,6 +43,8 @@
43
  }
44
 
45
  :root {
 
 
46
  --radius: 0.75rem;
47
  --background: oklch(0.98 0 0);
48
  --foreground: oklch(0.145 0 0);
 
43
  }
44
 
45
  :root {
46
+ --font-inter-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
47
+ --font-ptSans-mono: "PT Sans", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
48
  --radius: 0.75rem;
49
  --background: oklch(0.98 0 0);
50
  --foreground: oklch(0.145 0 0);
components/providers-models/connections-pane.tsx CHANGED
@@ -1124,6 +1124,12 @@ export function ConnectionsPane() {
1124
  {/* GitHub section */}
1125
  <GitHubConnectionsSection />
1126
 
 
 
 
 
 
 
1127
  {/* Separator between GitHub and Search */}
1128
  <div className="border-t border-border" />
1129
 
 
1124
  {/* GitHub section */}
1125
  <GitHubConnectionsSection />
1126
 
1127
+ {/* Separator between AI and GitHub */}
1128
+ <div className="border-t border-border" />
1129
+
1130
+ {/* GitHub section */}
1131
+ <GitHubConnectionsSection />
1132
+
1133
  {/* Separator between GitHub and Search */}
1134
  <div className="border-t border-border" />
1135
 
components/providers-models/drawer.tsx CHANGED
@@ -5,7 +5,7 @@ import { createPortal } from 'react-dom';
5
  import { X } from 'lucide-react';
6
  import { cn } from '@/lib/utils';
7
 
8
- export type DrawerMode = 'pick' | 'connect-choose' | 'connect-config' | 'connect-custom' | 'save-template' | 'edit-config' | null;
9
 
10
  export interface DrawerProps {
11
  open: boolean;
 
5
  import { X } from 'lucide-react';
6
  import { cn } from '@/lib/utils';
7
 
8
+ export type DrawerMode = 'pick' | 'connect-choose' | 'connect-config' | 'edit-config' | 'connect-custom' | 'save-template' | null;
9
 
10
  export interface DrawerProps {
11
  open: boolean;