diff --git a/.github/patches/xoffline.diff b/.github/patches/xoffline.diff new file mode 100644 index 0000000..e9ead0b --- /dev/null +++ b/.github/patches/xoffline.diff @@ -0,0 +1,20 @@ +diff --git a/flutter/lib/common/widgets/peer_card.dart b/flutter/lib/common/widgets/peer_card.dart +index 0a15eb45b..d776dd556 100644 +--- a/flutter/lib/common/widgets/peer_card.dart ++++ b/flutter/lib/common/widgets/peer_card.dart +@@ -1328,8 +1328,13 @@ Widget getOnline(double rightPadding, bool online) { + waitDuration: const Duration(seconds: 1), + child: Padding( + padding: EdgeInsets.fromLTRB(0, 4, rightPadding, 4), +- child: CircleAvatar( +- radius: 3, backgroundColor: online ? Colors.green : kColorWarn))); ++ child: online ++ ? CircleAvatar(radius: 3, backgroundColor: Colors.green) ++ : Icon( ++ Icons.close, // Red X for offline (Material Icon) ++ color: Colors.red, ++ size: 6.0, // Adjust size as needed ++ ))); + } + + Widget build_more(BuildContext context, {bool invert = false}) { diff --git a/.github/workflows/generator-android.yml b/.github/workflows/generator-android.yml index 70391ef..e9dd33b 100644 --- a/.github/workflows/generator-android.yml +++ b/.github/workflows/generator-android.yml @@ -385,6 +385,13 @@ jobs: wget https://raw.githubusercontent.com/bryangerlach/rdgen/refs/heads/master/.github/patches/cycle_monitor.diff git apply cycle_monitor.diff + - name: use X for offline display instead of orange circle + continue-on-error: true + if: fromJson(inputs.extras).xOffline == 'true' + run: | + wget https://raw.githubusercontent.com/bryangerlach/rdgen/refs/heads/master/.github/patches/xoffline.diff + git apply xoffline.diff + - name: Report Status uses: fjogeleit/http-request-action@v1 with: diff --git a/.github/workflows/generator-linux.yml b/.github/workflows/generator-linux.yml index 82bad07..c9e8202 100644 --- a/.github/workflows/generator-linux.yml +++ b/.github/workflows/generator-linux.yml @@ -322,6 +322,13 @@ jobs: wget https://raw.githubusercontent.com/bryangerlach/rdgen/refs/heads/master/.github/patches/cycle_monitor.diff git apply cycle_monitor.diff + - name: use X for offline display instead of orange circle + continue-on-error: true + if: fromJson(inputs.extras).xOffline == 'true' + run: | + wget https://raw.githubusercontent.com/bryangerlach/rdgen/refs/heads/master/.github/patches/xoffline.diff + git apply xoffline.diff + - name: Restore bridge files if: matrix.job.arch == 'x86_64' || env.UPLOAD_ARTIFACT == 'true' uses: actions/download-artifact@master diff --git a/.github/workflows/generator-windows.yml b/.github/workflows/generator-windows.yml index 58683c5..6a3691f 100644 --- a/.github/workflows/generator-windows.yml +++ b/.github/workflows/generator-windows.yml @@ -359,6 +359,13 @@ jobs: Invoke-WebRequest -Uri https://raw.githubusercontent.com/bryangerlach/rdgen/refs/heads/master/.github/patches/cycle_monitor.diff -OutFile cycle_monitor.diff git apply cycle_monitor.diff + - name: use X for offline display instead of orange circle + continue-on-error: true + if: fromJson(inputs.extras).xOffline == 'true' + run: | + Invoke-WebRequest -Uri https://raw.githubusercontent.com/bryangerlach/rdgen/refs/heads/master/.github/patches/xoffline.diff -OutFile xoffline.diff + git apply xoffline.diff + - name: run as admin continue-on-error: true diff --git a/rdgenerator/forms.py b/rdgenerator/forms.py index 913e627..014bc32 100644 --- a/rdgenerator/forms.py +++ b/rdgenerator/forms.py @@ -67,4 +67,6 @@ class GenerateForm(forms.Form): defaultManual = forms.CharField(widget=forms.Textarea, required=False) overrideManual = forms.CharField(widget=forms.Textarea, required=False) - cycleMonitor = forms.BooleanField(initial=False, required=False) \ No newline at end of file + #custom added features + cycleMonitor = forms.BooleanField(initial=False, required=False) + xOffline = forms.BooleanField(initial=False, required=False) \ No newline at end of file diff --git a/rdgenerator/templates/generator.html b/rdgenerator/templates/generator.html index 811dbbb..19b4a48 100644 --- a/rdgenerator/templates/generator.html +++ b/rdgenerator/templates/generator.html @@ -214,7 +214,8 @@ {{ form.defaultManual }}


{{ form.overrideManual }}

- +
+
diff --git a/rdgenerator/views.py b/rdgenerator/views.py index e6d7adf..8239336 100644 --- a/rdgenerator/views.py +++ b/rdgenerator/views.py @@ -24,6 +24,7 @@ def generator_view(request): version = form.cleaned_data['version'] delayFix = form.cleaned_data['delayFix'] cycleMonitor = form.cleaned_data['cycleMonitor'] + xOffline = form.cleaned_data['xOffline'] server = form.cleaned_data['serverIP'] key = form.cleaned_data['key'] apiServer = form.cleaned_data['apiServer'] @@ -157,6 +158,7 @@ def generator_view(request): extras['version'] = version extras['rdgen'] = 'true' extras['cycleMonitor'] = 'true' if cycleMonitor else 'false' + extras['xOffline'] = 'true' if xOffline else 'false' extra_input = json.dumps(extras) ####from here run the github action, we need user, repo, access token.