Skip to content

Commit 25385e0

Browse files
committed
Support web, add github action
1 parent f0d20a7 commit 25385e0

File tree

11 files changed

+403
-244
lines changed

11 files changed

+403
-244
lines changed

.github/workflows/deploy.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Build and Deploy Flutter Web
2+
3+
on:
4+
push:
5+
branches:
6+
- release
7+
8+
jobs:
9+
build:
10+
name: Build
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v2
16+
17+
- name: Set up Flutter
18+
uses: subosito/flutter-action@v2
19+
with:
20+
flutter-version: 'latest'
21+
22+
- name: Install dependencies
23+
run: flutter pub get
24+
25+
- name: Build web
26+
run: flutter build web --base-href "/open-dev/" --release
27+
28+
- name: Deploy to GitHub Pages
29+
uses: peaceiris/actions-gh-pages@v3
30+
with:
31+
github_token: ${{ secrets.GITHUB_TOKEN }}
32+
publish_dir: build/web

README.md

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,18 @@
1111
## Description
1212
**Open Dev** is a free and open-source assistant designed to make coding easier. Built with Flutter, Open Dev provides a suite of tools for developers to enhance their productivity and streamline their workflows. From parsing JSON to generating secure passwords, Open Dev offers a comprehensive set of utilities akin to those found in [DevUtils](https://devutils.com/) and [DevToys](https://devtoys.app/).
1313

14+
Let's try it now in your browser [Open Dev](https://jamalianpour.github.io/open-dev)
15+
1416
## Table of Contents
15-
1. [Features](#features)
16-
2. [Screenshots](#screenshots)
17+
1. [Features 🚀](#features)
18+
2. [Screenshots 📷](#screenshots)
1719
3. [Cross-Platform Support](#cross-platform-support)
1820
4. [Download and Installation](#download-and-installation)
1921
5. [Contributing](#contributing)
2022
6. [License](#license)
2123
7. [Contact](#contact)
2224

23-
## Features
25+
## Features 🚀
2426
- **JSON Parser and Converter to YAML:** Parse and show JSON in object viewer to read and search, Easily convert JSON data to YAML format for better readability and use in various applications.
2527
- **XML Parser and Converter to JSON:** Transform XML data into JSON format effortlessly, making it easier to work with in JavaScript and other environments.
2628
- **Cron Parser:** Interpret and validate cron expressions to ensure correct scheduling of automated tasks.
@@ -39,30 +41,35 @@
3941
- **URL Encode/Decode:** Encode and decode URLs to ensure proper formatting and transmission.
4042

4143

42-
## Screenshots
44+
## Screenshots 📷
4345
Here are some screenshots of Open Dev in action:
4446

47+
![OpenDev Dashboard](assets/screenshot/dashboard.png)
4548

46-
| Dashboard | JSON Parser and Converter to YAML |
47-
| --------------------------------------------- | ----------------------------------- |
48-
| ![Dashboard](assets/screenshot/dashboard.png) | ![Json](assets/screenshot/json.png) |
49-
| QR Code Generator | Hash Generator |
50-
| ![Dashboard](assets/screenshot/Qr.png) | ![Json](assets/screenshot/Hash.png) |
51-
| Unix Time Converter | JWT Debugger |
52-
| ![Dashboard](assets/screenshot/UnixTime.png) | ![Json](assets/screenshot/JWT.png) |
49+
| Hash Generator | JSON Parser and Converter to YAML |
50+
| ------------------------------------------------------- | ---------------------------------------------- |
51+
| ![Hash Generator](assets/screenshot/Hash.png) | ![JSON Parser](assets/screenshot/json.png) |
52+
| QR Code Generator | RegExp Tester |
53+
| ![QR Code Generator](assets/screenshot/Qr.png) | ![RegExp Tester](assets/screenshot/RegExp.png) |
54+
| Unix Time Converter | JWT Debugger |
55+
| ![Unix Time Converter](assets/screenshot/UnixTime.png) | ![JWT Debugger](assets/screenshot/JWT.png) |
5356

5457

5558
## Cross-Platform Support
5659
Open Dev is designed to be a cross-platform tool, ensuring it can be used on a variety of operating systems.
5760

58-
### macOS
61+
### macOS 🖥️
5962
Our primary target platform is macOS. Open Dev takes full advantage of the macOS environment to deliver a seamless user experience.
6063

61-
### Windows and Linux
64+
### Windows and Linux 🧑‍💻
6265
In addition to macOS, Open Dev works perfectly on both Windows and Linux. Users can enjoy the same robust functionality across these operating systems without any compromises.
6366

64-
### Web (Planned)
65-
We are also planning to support the web in future releases. This will allow users to access Open Dev directly from their web browsers, further extending the reach and convenience of our toolset.
67+
### Web 🌐
68+
We are also support the web now. This will allow users to access Open Dev directly from their web browsers, further extending the reach and convenience of our toolset.
69+
Try [Open Dev](https://jamalianpour.github.io/open-dev)
70+
71+
> [!WARNING]
72+
> Image Formatter dose not work on web!!! Please try our desktop version for this feature.
6673
6774

6875
## Download and Installation

assets/screenshot/RegExp.png

661 KB
Loading

assets/screenshot/dashboard.png

-29.1 KB
Loading

lib/main.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@ Future<void> main() async {
3232
await windowManager.show();
3333
await windowManager.focus();
3434
});
35-
}
3635

37-
if (Platform.isWindows) {
38-
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
39-
WindowsDeviceInfo deviceInfoWindows = await deviceInfo.windowsInfo;
40-
if (deviceInfoWindows.productName.contains('Windows 11')) {
41-
await Window.setEffect(
42-
effect: WindowEffect.mica,
43-
);
36+
if (Platform.isWindows) {
37+
DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
38+
WindowsDeviceInfo deviceInfoWindows = await deviceInfo.windowsInfo;
39+
if (deviceInfoWindows.productName.contains('Windows 11')) {
40+
await Window.setEffect(
41+
effect: WindowEffect.mica,
42+
);
43+
}
4444
}
4545
}
4646

@@ -54,11 +54,11 @@ class MyApp extends StatelessWidget {
5454
Widget build(BuildContext context) {
5555
return MaterialApp(
5656
title: 'Open Dev',
57-
theme: ThemeData(useMaterial3: true, colorScheme: lightColorScheme),
57+
theme: ThemeData(useMaterial3: true, colorScheme: darkColorScheme),
5858
darkTheme: ThemeData(useMaterial3: true, colorScheme: darkColorScheme),
5959
debugShowCheckedModeBanner: false,
6060
home: kIsWeb
61-
? const BaseView()
61+
? Container(color: Colors.grey[900], child: const BaseView())
6262
: const SafeArea(
6363
child: TitlebarSafeArea(
6464
child: BaseView(),

0 commit comments

Comments
 (0)