Feature/nym connect logs in app (#3045)

* remove menu bar

* create log view toggle function

* update routes

* update changelog

* fix clippy error
This commit is contained in:
Fouad
2023-02-16 15:15:53 +00:00
committed by GitHub
parent 1feb53cc87
commit dafb69d2d6
6 changed files with 47 additions and 7 deletions
+4
View File
@@ -2,6 +2,10 @@
## UNRELEASED
## [nym-connect-v1.1.10](https://github.com/nymtech/nym/tree/nym-connect-v1.1.10) (2023-02-21)
- Allow opening and closing of logs within the app
## [nym-connect-v1.1.9](https://github.com/nymtech/nym/tree/nym-connect-v1.1.9) (2023-02-14)
- Button animations ([#2949])
+1 -3
View File
@@ -6,10 +6,9 @@
use std::sync::Arc;
use config_common::defaults::setup_env;
use tauri::{Manager, Menu};
use tauri::Manager;
use tokio::sync::RwLock;
use crate::menu::AddDefaultSubmenus;
use crate::menu::{create_tray_menu, tray_menu_event_handler};
use crate::state::State;
use crate::window::window_toggle;
@@ -64,7 +63,6 @@ fn main() {
crate::operations::growth::test_and_earn::growth_tne_toggle_window,
crate::operations::help::log::help_log_toggle_window,
])
.menu(Menu::os_default(&context.package_info().name).add_default_app_submenus())
.on_menu_event(|event| {
if event.menu_item_id() == menu::SHOW_LOG_WINDOW {
let _r = crate::operations::help::log::help_log_toggle_window(
@@ -5,7 +5,7 @@ import { useClientContext } from 'src/context/main';
import { ConnectionStatusKind } from 'src/types';
import { AppVersion } from 'src/components/AppVersion';
export const Settings = () => {
export const GatewaySettings = () => {
const { userDefinedGateway, setUserDefinedGateway } = useClientContext();
const [gatewayKey, setGatewayKey] = useState<string | undefined>(userDefinedGateway?.gateway);
@@ -0,0 +1,29 @@
import React from 'react';
import { Link as RouterLink } from 'react-router-dom';
import { Link, List, ListItem, ListItemButton, ListItemText, Stack } from '@mui/material';
import { AppVersion } from 'src/components/AppVersion';
import { toggle_log_viewer } from 'src/utils';
const menuSchema = [{ title: 'Select your gateway', path: 'gateway' }];
export const SettingsMenu = () => (
<Stack justifyContent="space-between" height="100%">
<List dense disablePadding>
{menuSchema.map((item) => (
<Link component={RouterLink} to={item.path} underline="none" color="white" key={item.title}>
<ListItem disablePadding>
<ListItemButton>
<ListItemText>{item.title}</ListItemText>
</ListItemButton>
</ListItem>
</Link>
))}
<ListItem disablePadding>
<ListItemButton onClick={toggle_log_viewer}>
<ListItemText>Logs</ListItemText>
</ListItemButton>
</ListItem>
</List>
<AppVersion />
</Stack>
);
+7 -3
View File
@@ -1,10 +1,11 @@
import React from 'react';
import React, { useEffect } from 'react';
import { Routes, Route } from 'react-router-dom';
import { ConnectionPage } from 'src/pages/connection';
import { Menu } from 'src/pages/menu';
import { CompatibleApps } from 'src/pages/menu/Apps';
import { HelpGuide } from 'src/pages/menu/Guide';
import { Settings } from 'src/pages/menu/Settings';
import { SettingsMenu } from 'src/pages/menu/settings';
import { GatewaySettings } from 'src/pages/menu/settings/GatewaySettings';
export const AppRoutes = () => (
<Routes>
@@ -13,7 +14,10 @@ export const AppRoutes = () => (
<Route index element={<Menu />} />
<Route path="apps" element={<CompatibleApps />} />
<Route path="guide" element={<HelpGuide />} />
<Route path="settings" element={<Settings />} />
<Route path="settings">
<Route index element={<SettingsMenu />} />
<Route path="gateway" element={<GatewaySettings />} />
</Route>
</Route>
</Routes>
);
+5
View File
@@ -1,5 +1,6 @@
import { useEffect, useRef } from 'react';
import { EventName, listen, UnlistenFn, EventCallback } from '@tauri-apps/api/event';
import { invoke } from '@tauri-apps/api';
export const useTauriEvents = <T>(event: EventName, handler: EventCallback<T>) => {
const unlisten = useRef<UnlistenFn>();
@@ -17,3 +18,7 @@ export const useTauriEvents = <T>(event: EventName, handler: EventCallback<T>) =
};
}, []);
};
export const toggle_log_viewer = async () => {
await invoke('help_log_toggle_window');
};