Skip to content

Commit 71c8649

Browse files
authored
Merge pull request #218 from DnsChanger/feat/tools-page-and-ip-info
feat: add tools page with IP info and shutdown utilities
2 parents cb6a75d + 9d34848 commit 71c8649

10 files changed

Lines changed: 584 additions & 256 deletions

File tree

src/renderer/app.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,18 @@ import React, { useState, useEffect, type JSX } from 'react'
22

33
import { Toaster } from 'react-hot-toast'
44
import type { IconType } from 'react-icons'
5-
import { BsPower } from 'react-icons/bs'
5+
import { TbTool } from 'react-icons/tb'
66
import { MdOutlineExplore } from 'react-icons/md'
77
import { TbSettings, TbSmartHome } from 'react-icons/tb'
8+
import { ToolsPage } from './pages/tools/tools.page'
89
import TypesafeI18n from '../i18n/i18n-react'
910
import { loadLocaleAsync } from '../i18n/i18n-util.async'
1011
import type { SettingInStore, Settings } from '../shared/interfaces/settings.interface'
1112
import { PageWrapper } from './Wrappers/pages.wrapper'
1213
import { ExplorePage } from './pages/explore.page'
1314
import { HomePage } from './pages/home.page'
1415
import { SettingPage } from './pages/setting.page'
15-
import { ShutdownPage } from './pages/shutdown.page'
16+
1617
import { getThemeSystem, themeChanger } from './utils/theme.util'
1718
export let settingStore: SettingInStore = window.storePreload.get('settings')
1819
import ReactGA from 'react-ga4'
@@ -35,7 +36,7 @@ const pages: Page[] = [
3536
icon: MdOutlineExplore,
3637
name: 'Explore',
3738
},
38-
{ key: '/shutdown', element: <ShutdownPage />, icon: BsPower, name: 'Shutdown' },
39+
{ key: '/tools', element: <ToolsPage />, icon: TbTool, name: 'Tools' },
3940
{ key: '/setting', element: <SettingPage />, icon: TbSettings, name: 'Setting' },
4041
]
4142
const queryClient = new QueryClient()
@@ -116,7 +117,7 @@ export function App() {
116117
}`}
117118
>
118119
{React.createElement(page.icon, {
119-
size: 28,
120+
size: 20,
120121
})}
121122
<AnimatePresence mode="wait">
122123
{InPath(page.key) && (

src/renderer/component/buttons/benchmark-dns-btn.component.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@ import type { Server } from '../../../shared/interfaces/server.interface'
55
import { DnsBenchmarkModalComponent } from '../modals/dns-benchmark.component'
66
import Tooltip from '../tooltip/toolTip'
77
import { Button } from '../button/button'
8+
import { cn } from '../../utils/cn'
89

910
interface Props {
1011
servers: Server[]
12+
className?: string
1113
}
1214

13-
export function BenchmarkDnsButtonComponent({ servers }: Props) {
15+
export function BenchmarkDnsButtonComponent({ servers, className }: Props) {
1416
const [isOpenModal, setIsOpenModal] = useState<boolean>(false)
1517

1618
return (
@@ -19,7 +21,10 @@ export function BenchmarkDnsButtonComponent({ servers }: Props) {
1921
<Button
2022
size="sm"
2123
onClick={() => setIsOpenModal(true)}
22-
className="bg-base-200 hover:bg-base-300 rounded-xl transition-all duration-200 hover:scale-105 active:scale-95 cursor-pointer"
24+
className={cn(
25+
'bg-base-200 hover:bg-base-300 rounded-xl transition-all duration-200 hover:scale-105 active:scale-95 cursor-pointer',
26+
className
27+
)}
2328
>
2429
<MdSpeed className="text-base-content/80" size={15} />
2530
</Button>

src/renderer/component/cards/server.card.component.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ export function ServerCardComponent({
151151

152152
<button
153153
onClick={() => setMenuOpen(!menuOpen)}
154-
className="p-1.5 transition-colors rounded-lg shrink-0 text-base-content/50 hover:bg-base-200 hover:text-base-content"
154+
className="p-1.5 transition-colors rounded-lg shrink-0 text-base-content/50 hover:bg-base-200 hover:text-base-content cursor-pointer"
155155
aria-label="More options"
156156
>
157157
<CiCircleMore size={18} />

src/renderer/component/explore/explore-header.component.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,10 @@ export function ExploreHeaderComponent({
6161
<IoReload size={18} />
6262
</Button>
6363

64-
<BenchmarkDnsButtonComponent servers={filteredServers} />
64+
<BenchmarkDnsButtonComponent
65+
servers={filteredServers}
66+
className="bg-transparent shadow-none border-0"
67+
/>
6568
</div>
6669

6770
<div className="flex items-center justify-between text-xs text-base-content/60 px-1">

src/renderer/pages/setting.page.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ export function SettingPage() {
114114
id="startUp"
115115
checked={settingState.startUp}
116116
onChange={toggleStartUp}
117-
icon={<VscRunAbove className="text-primary text-lg" />}
117+
icon={<VscRunAbove />}
118118
title="Start up"
119119
description={LL.pages.settings.autoRunningTitle()}
120120
/>
@@ -124,7 +124,7 @@ export function SettingPage() {
124124
id="autoUP"
125125
checked={settingState.autoUpdate}
126126
onChange={toggleAutoUpdate}
127-
icon={<MdBrowserUpdated className="text-success text-lg" />}
127+
icon={<MdBrowserUpdated />}
128128
title="Automatic Update"
129129
description="Get updates automatically"
130130
/>
@@ -134,7 +134,7 @@ export function SettingPage() {
134134
id="Minimize"
135135
checked={settingState.minimize_tray}
136136
onChange={toggleMinimize_tray}
137-
icon={<TbWindowMinimize className="text-secondary text-lg" />}
137+
icon={<TbWindowMinimize />}
138138
title="Minimize to Tray"
139139
description="The app moves to tray in background"
140140
/>
@@ -144,7 +144,7 @@ export function SettingPage() {
144144
id="Analytics"
145145
checked={settingState.use_analytic ?? true}
146146
onChange={toggleUseAnalytic}
147-
icon={<MdOutlineAnalytics className="text-accent text-lg" />}
147+
icon={<MdOutlineAnalytics />}
148148
title="Anonymous Analytics"
149149
description="Help improve the application with anonymous usage data"
150150
/>

src/renderer/pages/shutdown.page.tsx

Lines changed: 0 additions & 244 deletions
This file was deleted.

0 commit comments

Comments
 (0)