mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-04-23 00:58:32 +02:00
Fix build
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Yaak App</title>
|
<title>Yaak App</title>
|
||||||
<script src="http://localhost:8097"></script>
|
<!-- <script src="http://localhost:8097"></script>-->
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
background-color: white;
|
background-color: white;
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ async fn migrate_db(
|
|||||||
println!("Running migrations at {}", p.to_string_lossy());
|
println!("Running migrations at {}", p.to_string_lossy());
|
||||||
let m = Migrator::new(p).await.expect("Failed to load migrations");
|
let m = Migrator::new(p).await.expect("Failed to load migrations");
|
||||||
m.run(pool).await.expect("Failed to run migrations");
|
m.run(pool).await.expect("Failed to run migrations");
|
||||||
|
println!("Migrations complete");
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -611,7 +612,8 @@ fn create_window(handle: AppHandle<Wry>, app_id: String) -> Window<Wry> {
|
|||||||
.add_item(
|
.add_item(
|
||||||
CustomMenuItem::new("toggle_sidebar".to_string(), "Toggle Sidebar")
|
CustomMenuItem::new("toggle_sidebar".to_string(), "Toggle Sidebar")
|
||||||
.accelerator("CmdOrCtrl+b"),
|
.accelerator("CmdOrCtrl+b"),
|
||||||
);
|
)
|
||||||
|
.add_item(CustomMenuItem::new("new_window".to_string(), "New Window"));
|
||||||
if is_dev() {
|
if is_dev() {
|
||||||
test_menu = test_menu
|
test_menu = test_menu
|
||||||
.add_native_item(MenuItem::Separator)
|
.add_native_item(MenuItem::Separator)
|
||||||
@@ -622,8 +624,7 @@ fn create_window(handle: AppHandle<Wry>, app_id: String) -> Window<Wry> {
|
|||||||
.add_item(
|
.add_item(
|
||||||
CustomMenuItem::new("toggle_devtools".to_string(), "Open Devtools")
|
CustomMenuItem::new("toggle_devtools".to_string(), "Open Devtools")
|
||||||
.accelerator("CmdOrCtrl + Option + i"),
|
.accelerator("CmdOrCtrl + Option + i"),
|
||||||
)
|
);
|
||||||
.add_item(CustomMenuItem::new("new_window".to_string(), "New Window"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let submenu = Submenu::new("Test Menu", test_menu);
|
let submenu = Submenu::new("Test Menu", test_menu);
|
||||||
@@ -631,20 +632,16 @@ fn create_window(handle: AppHandle<Wry>, app_id: String) -> Window<Wry> {
|
|||||||
let window_num = handle.windows().len();
|
let window_num = handle.windows().len();
|
||||||
let window_id = format!("{}_{}", app_id, window_num);
|
let window_id = format!("{}_{}", app_id, window_num);
|
||||||
let menu = default_menu.add_submenu(submenu);
|
let menu = default_menu.add_submenu(submenu);
|
||||||
let win = tauri::WindowBuilder::new(
|
let win = tauri::WindowBuilder::new(&handle, window_id, tauri::WindowUrl::App("".into()))
|
||||||
&handle,
|
.menu(menu)
|
||||||
window_id,
|
.fullscreen(false)
|
||||||
tauri::WindowUrl::App("workspaces".into()),
|
.resizable(true)
|
||||||
)
|
.inner_size(1100.0, 600.0)
|
||||||
.menu(menu)
|
.hidden_title(true)
|
||||||
.fullscreen(false)
|
.title("Yaak")
|
||||||
.resizable(true)
|
.title_bar_style(TitleBarStyle::Overlay)
|
||||||
.inner_size(1100.0, 600.0)
|
.build()
|
||||||
.hidden_title(true)
|
.expect("failed to build window");
|
||||||
.title("Yaak")
|
|
||||||
.title_bar_style(TitleBarStyle::Overlay)
|
|
||||||
.build()
|
|
||||||
.expect("failed to build window");
|
|
||||||
|
|
||||||
let win2 = win.clone();
|
let win2 = win.clone();
|
||||||
win.on_menu_event(move |event| match event.menu_item_id() {
|
win.on_menu_event(move |event| match event.menu_item_id() {
|
||||||
|
|||||||
@@ -11,7 +11,19 @@
|
|||||||
"version": "0.0.2"
|
"version": "0.0.2"
|
||||||
},
|
},
|
||||||
"tauri": {
|
"tauri": {
|
||||||
"windows": [],
|
"windows": [
|
||||||
|
{
|
||||||
|
"fullscreen": false,
|
||||||
|
"hiddenTitle": true,
|
||||||
|
"resizable": true,
|
||||||
|
"title": "Yaak",
|
||||||
|
"titleBarStyle": "Overlay",
|
||||||
|
"height": 600,
|
||||||
|
"width": 1100,
|
||||||
|
"minWidth": 400,
|
||||||
|
"minHeight": 400
|
||||||
|
}
|
||||||
|
],
|
||||||
"allowlist": {
|
"allowlist": {
|
||||||
"all": false,
|
"all": false,
|
||||||
"fs": {
|
"fs": {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import { invoke } from '@tauri-apps/api';
|
|||||||
import { listen } from '@tauri-apps/api/event';
|
import { listen } from '@tauri-apps/api/event';
|
||||||
import { appWindow } from '@tauri-apps/api/window';
|
import { appWindow } from '@tauri-apps/api/window';
|
||||||
import { MotionConfig } from 'framer-motion';
|
import { MotionConfig } from 'framer-motion';
|
||||||
|
import { Suspense } from 'react';
|
||||||
import { DndProvider } from 'react-dnd';
|
import { DndProvider } from 'react-dnd';
|
||||||
import { HTML5Backend } from 'react-dnd-html5-backend';
|
import { HTML5Backend } from 'react-dnd-html5-backend';
|
||||||
import { HelmetProvider } from 'react-helmet-async';
|
import { HelmetProvider } from 'react-helmet-async';
|
||||||
@@ -128,10 +129,6 @@ await listen('send_request', async () => {
|
|||||||
await invoke('send_request', { requestId });
|
await invoke('send_request', { requestId });
|
||||||
});
|
});
|
||||||
|
|
||||||
await listen('refresh', () => {
|
|
||||||
location.reload();
|
|
||||||
});
|
|
||||||
|
|
||||||
await listen('zoom', ({ payload: zoomDelta }: { payload: number }) => {
|
await listen('zoom', ({ payload: zoomDelta }: { payload: number }) => {
|
||||||
const fontSize = parseFloat(window.getComputedStyle(document.documentElement).fontSize);
|
const fontSize = parseFloat(window.getComputedStyle(document.documentElement).fontSize);
|
||||||
|
|
||||||
@@ -148,14 +145,17 @@ await listen('zoom', ({ payload: zoomDelta }: { payload: number }) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
export function App() {
|
export function App() {
|
||||||
|
console.log('STARTING APP');
|
||||||
return (
|
return (
|
||||||
<QueryClientProvider client={queryClient}>
|
<QueryClientProvider client={queryClient}>
|
||||||
<MotionConfig transition={{ duration: 0.1 }}>
|
<MotionConfig transition={{ duration: 0.1 }}>
|
||||||
<HelmetProvider>
|
<HelmetProvider>
|
||||||
<DndProvider backend={HTML5Backend}>
|
<DndProvider backend={HTML5Backend}>
|
||||||
<DialogProvider>
|
<DialogProvider>
|
||||||
<AppRouter />
|
<Suspense>
|
||||||
{/*<ReactQueryDevtools initialIsOpen={false} />*/}
|
<AppRouter />
|
||||||
|
{/*<ReactQueryDevtools initialIsOpen={false} />*/}
|
||||||
|
</Suspense>
|
||||||
</DialogProvider>
|
</DialogProvider>
|
||||||
</DndProvider>
|
</DndProvider>
|
||||||
</HelmetProvider>
|
</HelmetProvider>
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import { Suspense } from 'react';
|
|
||||||
import { createBrowserRouter, Navigate, RouterProvider } from 'react-router-dom';
|
import { createBrowserRouter, Navigate, RouterProvider } from 'react-router-dom';
|
||||||
import { routePaths } from '../hooks/useRoutes';
|
import { routePaths } from '../hooks/useRoutes';
|
||||||
import { useTauriListeners } from '../hooks/useTauriListeners';
|
import { useTauriListeners } from '../hooks/useTauriListeners';
|
||||||
@@ -35,10 +34,8 @@ const router = createBrowserRouter([
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
export function AppRouter() {
|
export function AppRouter() {
|
||||||
|
console.log('AppRouter');
|
||||||
useTauriListeners();
|
useTauriListeners();
|
||||||
return (
|
console.log('AppRouter 2');
|
||||||
<Suspense>
|
return <RouterProvider router={router} />;
|
||||||
<RouterProvider router={router} />
|
|
||||||
</Suspense>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,11 +92,8 @@ export function Editor({
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (cm.current === null) return;
|
if (cm.current === null) return;
|
||||||
const { view, languageCompartment } = cm.current;
|
const { view } = cm.current;
|
||||||
const newDoc = defaultValue;
|
view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: defaultValue ?? '' } });
|
||||||
view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: newDoc ?? '' } });
|
|
||||||
const ext = getLanguageExtension({ contentType, useTemplating, autocomplete });
|
|
||||||
view.dispatch({ effects: languageCompartment.reconfigure(ext) });
|
|
||||||
}, [forceUpdateKey]);
|
}, [forceUpdateKey]);
|
||||||
|
|
||||||
// Initialize the editor when ref mounts
|
// Initialize the editor when ref mounts
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
import { memo } from 'react';
|
import { memo } from 'react';
|
||||||
|
import * as editor from './Editor';
|
||||||
|
|
||||||
export type { EditorProps } from './Editor';
|
export type { EditorProps } from './Editor';
|
||||||
const editor = await import('./Editor');
|
// TODO: Figure out why code-splitting breaks production build from
|
||||||
|
// showing any content
|
||||||
|
// const editor = await import('./Editor');
|
||||||
|
|
||||||
export const Editor = memo(editor.Editor);
|
export const Editor = memo(editor.Editor);
|
||||||
export const graphql = editor.graphql;
|
export const graphql = editor.graphql;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { useQueryClient } from '@tanstack/react-query';
|
import { useQueryClient } from '@tanstack/react-query';
|
||||||
|
import { listen } from '@tauri-apps/api/event';
|
||||||
import { appWindow } from '@tauri-apps/api/window';
|
import { appWindow } from '@tauri-apps/api/window';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import { debounce } from '../lib/debounce';
|
import { debounce } from '../lib/debounce';
|
||||||
@@ -27,6 +28,13 @@ export function useTauriListeners() {
|
|||||||
else unsubFns.push(unsub);
|
else unsubFns.push(unsub);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
listen('refresh', () => {
|
||||||
|
location.reload();
|
||||||
|
}).then((unsub) => {
|
||||||
|
if (unmounted) unsub();
|
||||||
|
else unsubFns.push(unsub);
|
||||||
|
});
|
||||||
|
|
||||||
appWindow
|
appWindow
|
||||||
.listen(
|
.listen(
|
||||||
'updated_request',
|
'updated_request',
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
console.log('FIRST 0');
|
||||||
import { StrictMode } from 'react';
|
import { StrictMode } from 'react';
|
||||||
import ReactDOM from 'react-dom/client';
|
import ReactDOM from 'react-dom/client';
|
||||||
import { App } from './components/App';
|
import { App } from './components/App';
|
||||||
@@ -5,7 +6,9 @@ import { getKeyValue } from './lib/keyValueStore';
|
|||||||
import { getPreferredAppearance, setAppearance } from './lib/theme/window';
|
import { getPreferredAppearance, setAppearance } from './lib/theme/window';
|
||||||
import './main.css';
|
import './main.css';
|
||||||
|
|
||||||
|
console.log('FIRST');
|
||||||
setAppearance(await getKeyValue({ key: 'appearance', fallback: getPreferredAppearance() }));
|
setAppearance(await getKeyValue({ key: 'appearance', fallback: getPreferredAppearance() }));
|
||||||
|
console.log('SECOND');
|
||||||
|
|
||||||
// root holds our app's root DOM Element:
|
// root holds our app's root DOM Element:
|
||||||
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
|
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
|
||||||
|
|||||||
Reference in New Issue
Block a user