mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-03-22 04:42:03 +00:00
This PR refactors the GUI clients frontend into a single window with a sidebar. The functionality remains the same but we do make minor UI improvements on the way. To pull the entire refactor off, we now use `react` and `flowbite-react` for the GUI. All the communication with the backend is moved towards one-way commands and events. That means, the flow is always: - Backend emits events to update frontend - Frontend triggers actions in the backend that may or may not result in further events This allows us to decouple the GUI from knowing about which side-effects change what parts of the state. Instead, it simply updates whenever it receives an event. - The previous "Advanced Settings" screen is now split into two parts: Settings and Diagnostics. Later, we will add a "General settings" page here. - The tray menu remains identical to the current one. When the user clicks "Settings" or "About", we open the window and navigate to the corresponding page. - The app and git version are now directly embedded in the frontend, simplifying the interaction between the frontend and the backend further. |Before|After| |---|---| ||| ||| || |||
16 lines
565 B
HTML
16 lines
565 B
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon" />
|
|
<link rel="stylesheet" href="src-frontend/main.css" />
|
|
<script type="module" src="src-frontend/main.tsx"></script>
|
|
<style>
|
|
@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap");
|
|
</style>
|
|
<title>Firezone</title>
|
|
</head>
|
|
<body id="root" />
|
|
</html>
|