Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
graphefruit committed Jan 24, 2025
2 parents e716e44 + 83fc621 commit 2c3f8b0
Show file tree
Hide file tree
Showing 30 changed files with 370 additions and 849 deletions.
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ android {
applicationId "com.beanconqueror.app"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 80003
versionName "8.0.3"
versionCode 80004
versionName "8.0.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
Expand Down
4 changes: 2 additions & 2 deletions ios/App/App.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.food-and-drink";
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MARKETING_VERSION = 8.0.3;
MARKETING_VERSION = 8.0.4;
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
PRODUCT_BUNDLE_IDENTIFIER = com.beanconqueror.app;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -380,7 +380,7 @@
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.food-and-drink";
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MARKETING_VERSION = 8.0.3;
MARKETING_VERSION = 8.0.4;
PRODUCT_BUNDLE_IDENTIFIER = com.beanconqueror.app;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
Expand Down
1 change: 1 addition & 0 deletions src/app/app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -845,6 +845,7 @@ export class AppComponent implements AfterViewInit {
private __attachOnDeviceResume() {
App.addListener('resume', async () => {
this.uiHelper.setActualAppState(true);
this.uiLog.log('App resumed');
const settings: Settings = this.uiSettingsStorage.getSettings();
if (settings.bluetooth_scale_stay_connected === false) {
this.__connectSmartScale();
Expand Down
4 changes: 4 additions & 0 deletions src/app/beans/bean-sort/bean-sort.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@
<ion-icon name="beanconqueror-filter-aa" slot="start"></ion-icon>
<ion-label>{{"BEAN_SORT_WEIGHT" | translate}}</ion-label>
</ion-item>
<ion-item (click)="setSortAfter(beanSortAfterEnum.WEIGHT_REMAINING)" [class.active]="isSortActive(beanSortAfterEnum.WEIGHT_REMAINING)" class="ion-margin-top" lines="none" tappable>
<ion-icon name="beanconqueror-filter-aa" slot="start"></ion-icon>
<ion-label>{{"BEAN_SORT_WEIGHT_REMAINING" | translate}}</ion-label>
</ion-item>
<ion-item (click)="setSortAfter(beanSortAfterEnum.AROMATICS)" [class.active]="isSortActive(beanSortAfterEnum.AROMATICS)" class="ion-margin-top" lines="none" tappable>
<ion-icon name="beanconqueror-filter-aa" slot="start"></ion-icon>
<ion-label>{{"BEAN_SORT_AROMATICS" | translate}}</ion-label>
Expand Down
6 changes: 4 additions & 2 deletions src/app/info/impressum/impressum.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@ <h1>Legal disclosure in accordance with §5 TMG</h1>
<br/>info&#64;beanconqueror.com
<br/>https://www.beanconqueror.com
<br/><br/><strong>Lars Saalbach</strong>
<br/>c/o Impressumservice Dein-Impressum
<br/>Stettiner Straße 41
<br/>35410 Hungen
<br/>
<br/>lars&#64;beanconqueror.com
<br/>Wallensteinstraße 5
<br/>90522 Oberasbach
<br/><br/>
<br/><h1>Disclaimer</h1>
<br/><br/>
Expand Down
4 changes: 2 additions & 2 deletions src/app/info/privacy/privacy.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ <h2 id="contact_information">Contact information</h2>
<ul class="for_boxes">
<li>
<div class="iconed icon_owner"><h3>Owner and Data Controller</h3>
<p>Lars Saalbach <br/>Wallensteinstraße 5 <br/>90522 Oberasbach</p>
<p>Lars Saalbach <br/>c/o Impressumservice Dein-Impressum<br/>Stettiner Straße 41 <br/>35410 Hungen</p>
<p><strong>Owner contact email:</strong> info&#64;beanconqueror.com</p></div>
</li>
</ul>
Expand All @@ -144,7 +144,7 @@ <h2 id="contact_information">Contact information</h2>
<div class="one_line_col"><h2 style="text-align: center; font-variant:small-caps;">Full policy</h2></div>

<div class="one_line_col"><h2 id="owner_of_the_data"> Owner and Data Controller </h2>
<p>Lars Saalbach <br/>Wallensteinstraße 5 <br/>90522 Oberasbach</p>
<p>Lars Saalbach <br/>c/o Impressumservice Dein-Impressum<br/>Stettiner Straße 41 <br/>35410 Hungen</p>
<p><strong>Owner contact email:</strong> info&#64;beanconqueror.com</p></div>
<div class="one_line_col"><h2 id="types_of_data"> Types of Data collected </h2>
<p> Among the types of Personal Data that this Application collects, by itself or through third parties,
Expand Down
46 changes: 46 additions & 0 deletions src/app/settings/settings.page.html
Original file line number Diff line number Diff line change
Expand Up @@ -755,6 +755,16 @@ <h2>{{"SMART_SCALE_FIRST_DRIP_THRESHOLD" | translate}}</h2>
</ion-range>
</ion-item>

<ion-item [lines]="'full'">
<ion-checkbox label-placement='start' (ngModelChange)="saveSettings();"
[(ngModel)]="settings.bluetooth_scale_espresso_just_one_cup">
<div class='ion-label' style="white-space: normal;">
<h2>{{"SMART_SCALE_ESPRESSO_WEIGHT_DOUBLING_JUST_ONE_CUP_TITLE" | translate}}</h2>
<p>{{"SMART_SCALE_ESPRESSO_WEIGHT_DOUBLING_JUST_ONE_CUP_DESCRIPTION" | translate}}</p>
</div>
</ion-checkbox>
</ion-item>

<ion-item lines="none">
<ion-label>
<h2>{{"SMART_SCALE_COMMAND_DELAY" | translate}}</h2>
Expand All @@ -769,6 +779,21 @@ <h2>{{"SMART_SCALE_COMMAND_DELAY" | translate}}</h2>
</ion-range>
</ion-item>


<ion-item lines="none">
<ion-label>
<h2>{{"SMART_SCALE_ACAIA_CONNECTION_MODE_TITLE" | translate}}</h2>
<p>{{"SMART_SCALE_ACAIA_CONNECTION_MODE_DESCRIPTION" | translate}}</p>
</ion-label>
</ion-item>
<ion-item *ngIf="platform.is('ios')">
<ion-select (ngModelChange)="saveSettings()" [(ngModel)]="settings.bluetooth_scale_acaia_connection_mode"
cancelText="{{'CANCEL'| translate }}" cancelText="{{'CANCEL'| translate }}"
okText="{{'CHOOSE'| translate }}" okText="{{'CHOOSE'| translate }}">
<ion-select-option value="V2">{{"SMART_SCALE_ACAIA_CONNECTION_MODE_V2" | translate}}</ion-select-option>
<ion-select-option value="V1">{{"SMART_SCALE_ACAIA_CONNECTION_MODE_V1" | translate}}</ion-select-option>
</ion-select>
</ion-item>
<ion-item lines="none">
<ion-label>
<h2>{{"SMART_SCALE_ACAIA_HEARTBEAT_TIMER" | translate}}</h2>
Expand All @@ -782,6 +807,27 @@ <h2>{{"SMART_SCALE_ACAIA_HEARTBEAT_TIMER" | translate}}</h2>
<div class='ion-label' slot="end">{{settings.acaia_heartbeat_command_delay}} ms</div>
</ion-range>
</ion-item>

<ion-item>
<ion-checkbox label-placement='start' (ngModelChange)="saveSettings();" [(ngModel)]="settings.graph_threshold_frequency_update">
<div class='ion-label' style="white-space: normal;">
<h2>Experimental Feature: Graph Update Interval</h2>
<p>Use this only if your graph lags while streaming, which mainly occurs on older tablets or phones. If you're not experiencing any issues, you can ignore this function.</p>
</div>
</ion-checkbox>
</ion-item>
<ion-item *ngIf="settings.graph_threshold_frequency_update">
<div class='ion-label' style="white-space: normal;">
<h2>Graph Update Frequency Interval</h2>
<p>Refresh at the selected millisecond interval</p>
</div>
<ion-range [disabled]='isScrolling' style="padding-top:0;padding-bottom:0px;padding-right:0px;" min="100" snaps="true" max="500"
step="10" (ngModelChange)="saveSettings()" [(ngModel)]="settings.graph_threshold_frequency_interval">
<div class='ion-label'
slot="end">{{settings.graph_threshold_frequency_interval| toFixed: 0}}</div>
</ion-range>
</ion-item>

<ion-item>
<ion-checkbox label-placement='start' (ionChange)="toggleLog();" [(ngModel)]="settings.scale_log">
<div class="ion-label" style="white-space: normal;">
Expand Down
85 changes: 17 additions & 68 deletions src/assets/i18n/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -1071,13 +1071,13 @@
"SELECT_MODE": "Modus auswählen",
"MODE_LISTENING": "Hören",
"MODE_CONTROL": "Steuern",
"MANUAL_CONTROLLING": "",
"PROFILE_P1_CONTROLLING": "",
"PROFILE_P2_CONTROLLING": "",
"PROFILE_P3_CONTROLLING": "",
"NO_PROFILE_TARGET_WEIGHT_INFORMATION": "",
"NO_MANUAL_TARGET_WEIGHT_INFORMATION": "",
"ERROR_CONNECTION_COULD_NOT_BE_ESTABLISHED": ""
"MANUAL_CONTROLLING": "Manuelle Kontrolle",
"PROFILE_P1_CONTROLLING": "Profil P1-Steuerung",
"PROFILE_P2_CONTROLLING": "Profil P2-Steuerung",
"PROFILE_P3_CONTROLLING": "Profil P3-Steuerung",
"NO_PROFILE_TARGET_WEIGHT_INFORMATION": "Du hast kein Zielgewicht festgelegt, das gewählte Profil wird vollständig ausgeführt.",
"NO_MANUAL_TARGET_WEIGHT_INFORMATION": "Du hast kein Zielgewicht festgelegt, bitte stoppe die Extraktion manuell.",
"ERROR_CONNECTION_COULD_NOT_BE_ESTABLISHED": "Die Verbindung zur Sanremo YOU Maschine konnte nicht hergestellt werden. Bitte stelle sicher, dass du im richtigen Netzwerk (LAN) bist, die richtige IP-Adresse eingegeben hast, usw."
}
},
"DEVICE_CONNECTION": "Geräteverbindung",
Expand Down Expand Up @@ -1354,64 +1354,6 @@
"PAGE_SETTINGS_LANGUAGE_DUTCH": "Holländisch",
"DOWNLOAD_IMPORT_EXCEL_TEMPLATES": "Importvorlagen herunterladen",
"SHOW_GRAPH": "Graph anzeigen",
"UPDATE_TEXT_TITLE_TITLE": {
"7.5.0": {
"DESCRIPTION": {
"27": "Korrektur der Berechnung von gefrorenen Bohnen - Behebung von Rundungsproblemen",
"28": "Einige technische Änderungen im Code",
"29": "Kleine Optimierungen"
}
},
"8.0.0": {
"TITLE": "Version 8.0.0: Das ist neu",
"DESCRIPTION": [
"<b>App-Schicht<\/b>",
"Die App-Schicht wurde geändert (von Cordova zu Capacitor), bei Problemen bitte info@beanconqueror.com kontaktieren",
"Damit einhergehend wurden viele Leistungsoptimierungen vorgenommen",
"Ich möchte hier ein großes Dankeschön an RagingCactus aussprechen, der eine phänomenale Arbeit geleistet hat!",
"",
"<b>Neue Sprache<\/b>",
"Norwegische Unterstützung - Dank an Mehlonious",
"",
"<b>Bluetooth-Geräte<\/b>",
"Neue Unterstützung für Varia AKU Pro & Micro",
"Neue Unterstützung für eine weitere eureka-typisierte Waage",
"Ein neues Popup wird angezeigt, in dem das Bluetooth-Gerät ausgewählt werden kann, anstatt dass das zuerst gefundene verbunden wird.",
"Behebung verschiedener Verbindungs- und Gewichtstransferprobleme mit Acaia-Waagen - Danke an Mimoja",
"Entfernung der Deaktivierung der Anomalie- \/ Negativwert-Einstellung - Bitte verwende die Lösung zum Ignorieren des aktuellen Gewichts, falls erforderlich",
"Hinzufügen eines Energiesparmodus für Drucksensoren (Gewicht wird nur übertragen, wenn sich der Bildschirm im Brühung-Hinzufügen\/Editieren Modus befindet und der Typ Espresso ist)",
"",
"<b>Visualizer<\/b>",
"Importiere ein Beanconqueror-Diagramm aus Visualizer (Bluetooth-Gerät benötigt)",
"",
"<b>NFC\/QR-Code<\/b>",
"Erstellen und Lesen von NFC-Tags oder QR-Codes für Bohnen mit vordefinierten Aktionen",
"",
"<b>Brühungen<\/b>",
"Sortierung für Brühungen hinzugefügt",
"Autovervollständigung für Kaffeesorte hinzugefügt",
"Rahmen für Beste oder Favorit Brühung hinzugefügt",
"",
"<b>Bohnen<\/b>",
"Erweiterte Sortierung für Bohnen",
"Das Öffnungsdatum für eine Bohne wird festgelegt, wenn der Parameter aktiviert ist.",
"",
"<b>Einstellungen<\/b>",
"Sie können die Wertkarten auf dem maximierten Bildschirm ausblenden",
"",
"[ANDROID]<b>Android<\/b>",
"[ANDROID]In den Einstellungen kann jetzt sowohl einen vollständigen Export als auch einen Import durchgeführt werden",
"",
"<b>Sonstiges<\/b>",
"Korrektur der Berechnungsfunktionen für gefrorene Bohnen \/ geröstete Bohnen",
"Reparieren von vertauschten Bildern",
"Das Gewicht der Rohbohnen wird nun beim Rösten reduziert",
"Einige Abstände und Sicherheitsabstände korrigiert",
"Einige technische Änderungen im Code",
"Kleine Anpassungen"
]
}
},
"FULL_IMPORT_FROM_DIRECTORY": "Vollständiger Import aus Ordner",
"FULL_IMPORT_FROM_DIRECTORY_DESCRIPTION": "Importiert alle Daten (inklusive Bilder und Flow-Profile) aus dem ausgewählten Ordner.",
"FULL_IMPORT_FROM_DIRECTORY_FILE_NOT_FOUND": "Die Datei {{fileName}} konnte im ausgewählten Ordner nicht gefunden werden. Bitte wähle einen anderen Ordner.",
Expand Down Expand Up @@ -1447,7 +1389,7 @@
"NFC": {
"PLEASE_ENABLED_NFC_DESCRIPTION": "Bitte aktivieren Sie NFC, sonst kann diese Funktion nicht genutzt werden",
"WRITE_COMPLETED_DESCRIPTION": "NFC-Tag wurde erfolgreich geschrieben",
"WRITE_COMPLETED_TITLE": "Schreiben erfolgreich",
"WRITE_COMPLETED_TITLE": "Schreiben fehlgeschlagen",
"WRITE_UNCOMPLETED_DESCRIPTION": "NFC-Tag konnte nicht geschrieben werden",
"WRITE_UNCOMPLETED_TITLE": "Schreiben fehlgeschlagen",
"SCAN_IN_PROGRESS_PLEASE_HOLD_YOUR_TAG_TO_READER": "Bitte halten Sie Ihren Anhänger an das Lesegerät",
Expand All @@ -1468,5 +1410,12 @@
"EXPORT_CAUTION_IOS": "iOS: Wenn Sie ein neues Telefon einrichten möchten, ist der beste und einfachste Weg die Verwendung der iCloud-Sicherung",
"PAGE_SETTINGS_LANGUAGE_NORWEGIAN": "Norwegisch",
"VISUALIZER_SHOT_IMPORT_FAILED": "Visualizer importierung fehlgeschlagen",
"PAGE_SETTINGS_LANGUAGE_PORTUGUESE": ""
}
"PAGE_SETTINGS_LANGUAGE_PORTUGUESE": "Portugiesisch",
"SMART_SCALE_ESPRESSO_WEIGHT_DOUBLING_JUST_ONE_CUP_TITLE": "Gewichtsverdopplung - 1 von 2 Tassen auf der Waage",
"SMART_SCALE_ESPRESSO_WEIGHT_DOUBLING_JUST_ONE_CUP_DESCRIPTION": "Wenn nur eine Tasse auf die Waage passt, kann diese Einstellung aktiviert werden.\nDies erlaubt, dass während der Brühung ein Kontrollkästchen aktiviert werden kann, dass nur eine Tasse auf der Waage steht.\nWenn diese Einstellung dan aktiviert wurde, wird das übertragene Gewicht der Waage verdoppelt um zwei Tassen auf der Waage zu simulieren.",
"BEAN_SORT_WEIGHT_REMAINING": "Verbleibendes Gewicht",
"SMART_SCALE_ACAIA_CONNECTION_MODE_TITLE": "Acaia-Verbindungsmodus",
"SMART_SCALE_ACAIA_CONNECTION_MODE_DESCRIPTION": "Wenn sich die Waage ständig verbindet und trennt, versuche den Modus auf V1 zu setzen und den Herzschlag- und Befehlstimer anzupassen. Dadurch wird auf die alte Verbindungsroutine umgeschaltet.",
"SMART_SCALE_ACAIA_CONNECTION_MODE_V2": "V2 - Neuer Verbindungsmodus",
"SMART_SCALE_ACAIA_CONNECTION_MODE_V1": "V1 - Alter Verbindungsmodus"
}
Loading

0 comments on commit 2c3f8b0

Please sign in to comment.