Updated to Niufin

This commit is contained in:
niufin 2024-02-21 11:01:07 +05:30
parent 095b3a13a7
commit 114acac7aa
65 changed files with 448 additions and 314 deletions

View File

@ -64,7 +64,7 @@ jobs:
git config --global user.email ${{secrets.commit_email}}
git config --global user.name ${{secrets.commit_name}}
git clone https://${{secrets.commit_secret}}@github.com/invoiceninja/invoiceninja.git
git clone https://${{secrets.commit_secret}}@github.com/niufin/invoice.git
cd invoiceninja
git checkout v5-develop
@ -87,7 +87,7 @@ jobs:
run: |
flutter build web --profile
git clone https://${{secrets.commit_secret}}@github.com/invoiceninja/invoiceninja.git invoiceninja_profile
git clone https://${{secrets.commit_secret}}@github.com/niufin/invoice.git invoiceninja_profile
cd invoiceninja_profile
git checkout v5-develop
@ -108,7 +108,7 @@ jobs:
flutter build web
git clone https://${{secrets.commit_secret}}@github.com/invoiceninja/invoiceninja.git invoiceninja_foss
git clone https://${{secrets.commit_secret}}@github.com/niufin/invoice.git invoiceninja_foss
cd invoiceninja_foss
git checkout v5-develop
cp ../build/web/main.dart.js ./public/main.foss.dart.js

View File

@ -10,8 +10,8 @@ Client application for [Invoice Ninja](https://github.com/invoiceninja/invoiceni
#### Mobile Apps
- [iOS](https://apps.apple.com/app/id1503970375?platform=iphone)
- [Android](https://play.google.com/store/apps/details?id=com.invoiceninja.app)
- [F-Droid](https://f-droid.org/en/packages/com.invoiceninja.app)
- [Android](https://play.google.com/store/apps/details?id=com.niufin.invoice)
- [F-Droid](https://f-droid.org/en/packages/com.niufin.invoice)
<p align="center">
<img src="https://github.com/invoiceninja/flutter-mobile/blob/master/samples/screenshots/1.png" alt="Dashboard" width="200"/>

View File

@ -43,7 +43,7 @@ android {
}
defaultConfig {
applicationId "com.invoiceninja.app"
applicationId "com.niufin.invoice"
minSdkVersion 19
targetSdkVersion 33
versionCode flutterVersionCode.toInteger()

View File

@ -48,7 +48,7 @@ android {
}
defaultConfig {
applicationId "com.invoiceninja.app"
applicationId "com.niufin.invoice"
minSdkVersion 19
targetSdkVersion 33
versionCode flutterVersionCode.toInteger()

View File

@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.invoiceninja.app">
package="com.niufin.invoice">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />

View File

@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.invoiceninja.app">
package="com.niufin.invoice">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
@ -20,7 +20,7 @@
<uses-feature android:name="android.hardware.CALL_PHONE" android:required="false"/>
<application
android:label="Invoice Ninja"
android:label="Niufin Stock Manager"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"

View File

@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.invoiceninja.app">
package="com.niufin.invoice">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
@ -20,7 +20,7 @@
<uses-feature android:name="android.hardware.CALL_PHONE" android:required="false"/>
<application
android:label="Invoice Ninja"
android:label="Niufin Inventory Manager"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"

View File

@ -1,4 +1,4 @@
package com.invoiceninja.app
package com.niufin.invoice
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterFragmentActivity

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.invoiceninja.app">
package="com.niufin.invoice">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />

View File

@ -1,5 +1,5 @@
buildscript {
ext.kotlin_version = '1.9.10'
ext.kotlin_version = '1.9.22'
repositories {
google()
mavenCentral()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 180 KiB

View File

@ -41,7 +41,7 @@ Integration Platforms
Download the Invoice Ninja app today and start invoicing clients & get paid!
Self-hosting? Invoice Ninja is 100% source-available!
* GitHub: https://github.com/invoiceninja/admin-portal
* GitHub: https://github.com/niufin/invoice
Terms of Service: https://www.invoiceninja.com/terms/
Privacy Policy: https://www.invoiceninja.com/privacy-policy/

View File

@ -10,8 +10,8 @@
<developer_name>Invoice Ninja</developer_name>
<url type="homepage">https://invoiceninja.com</url>
<url type="help">https://forum.invoiceninja.com</url>
<url type="vcs-browser">https://github.com/invoiceninja/admin-portal</url>
<url type="bugtracker">https://github.com/invoiceninja/admin-portal/issues</url>
<url type="vcs-browser">https://github.com/niufin/invoice</url>
<url type="bugtracker">https://github.com/niufin/invoice/issues</url>
<project_license>AAL</project_license>
<metadata_license>CC0-1.0</metadata_license>
<supports>

Binary file not shown.

View File

@ -0,0 +1,75 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Niufin Inventory Manager"
#define MyAppVersion "1.5.2"
#define MyAppPublisher "Niu Aurora Tech Innovations Private Limited"
#define MyAppURL "https://www.niutech.in"
#define MyAppExeName "invoiceninja.exe"
#define MyAppAssocName MyAppName + " File"
#define MyAppAssocExt ".myp"
#define MyAppAssocKey StringChange(MyAppAssocName, " ", "") + MyAppAssocExt
[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{F1558BAF-C4A3-4C91-AFDB-903BFD85E2DA}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
ChangesAssociations=yes
DisableProgramGroupPage=yes
LicenseFile=C:\Users\niuau\Downloads\NIUFIN INVENTORY MANAGER LICENSE.txt
; Uncomment the following line to run in non administrative install mode (install for current user only.)
;PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=dialog
OutputDir=D:\niufin\installers
OutputBaseFilename=Niufin Inventory Manager
SetupIconFile=C:\Users\niuau\Downloads\mobile_icon.ico
Compression=lzma
SolidCompression=yes
WizardStyle=modern
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "D:\niufin\build\windows\x64\runner\Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\desktop_drop_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\file_selector_windows_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\flutter_windows.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\local_auth_windows_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\pdfium.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\permission_handler_windows_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\printing_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\screen_retriever_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\sentry_flutter_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\share_plus_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\smart_auth_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\url_launcher_windows_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\window_manager_plugin.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\niufin\build\windows\x64\runner\Release\data\*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Registry]
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocName}"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0"
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""
Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".myp"; ValueData: ""
[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

View File

@ -375,7 +375,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = "$(FLUTTER_BUILD_NAME)";
PRODUCT_BUNDLE_IDENTIFIER = com.invoiceninja.app;
PRODUCT_BUNDLE_IDENTIFIER = com.niufin.invoice;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
@ -508,7 +508,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = "$(FLUTTER_BUILD_NAME)";
PRODUCT_BUNDLE_IDENTIFIER = com.invoiceninja.app;
PRODUCT_BUNDLE_IDENTIFIER = com.niufin.invoice;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@ -535,7 +535,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = "$(FLUTTER_BUILD_NAME)";
PRODUCT_BUNDLE_IDENTIFIER = com.invoiceninja.app;
PRODUCT_BUNDLE_IDENTIFIER = com.niufin.invoice;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;

View File

@ -9,51 +9,49 @@ class Constants {
const String kClientVersion = '5.0.154';
const String kMinServerVersion = '5.0.4';
const String kAppName = 'Invoice Ninja';
const String kSiteUrl = 'https://invoiceninja.com';
const String kAppProductionUrl = 'https://invoicing.co';
const String kAppReactUrl = 'https://app.invoicing.co';
const String kAppName = 'Invoicing Software';
const String kSiteUrl = 'https://pos.niutech.in/public/';
const String kAppProductionUrl = 'https://pos.niutech.in/public/';
const String kAppReactUrl = 'https://niutech.in';
const String kAppStagingUrl = 'https://staging.invoicing.co';
const String kAppStagingNetUrl = 'https://invoiceninja.net';
const String kAppLargeTestUrl = 'https://testv5.invoicing.co';
const String kFlutterDemoUrl = 'https://demo.invoiceninja.com';
const String kFlutterDemoUrl = 'https://pos.niutech.in/public/';
const String kReactDemoUrl = 'https://react.invoicing.co/demo';
const String kWhiteLabelUrl =
'https://app.invoiceninja.com/buy_now/?account_key=AsFmBAeLXF0IKf7tmi0eiyZfmWW9hxMT&product_id=3';
const String kPrivacyPolicyURL = 'https://www.invoiceninja.com/privacy-policy';
const String kTermsOfServiceURL = 'https://www.invoiceninja.com/terms';
const String kWhiteLabelUrl = 'https://pos.niutech.in/public/';
const String kPrivacyPolicyURL = 'https://pay.niutech.in/privacy-policy-2';
const String kTermsOfServiceURL =
'https://pay.niutech.in/terms-and-conditions/';
const String kBankingURL = 'https://invoiceninja.com/banking';
const String kTransifexURL =
'https://www.transifex.com/invoice-ninja/invoice-ninja';
const String kWebhookSiteURL = 'https://requestcatcher.com';
const String kZipTaxURL = 'https://zip-tax.com';
const String kSourceCodeBackend =
'https://github.com/invoiceninja/invoiceninja/tree/v5-stable';
const String kSourceCodeFrontend =
'https://github.com/invoiceninja/admin-portal';
const String kSourceCodeFrontendSDK = 'https://pub.dev/packages/invoiceninja';
const String kSourceCodeBackend = 'https://niutech.in';
const String kSourceCodeFrontend = 'https://niutech.in';
const String kSourceCodeFrontendSDK = 'https://niutech.in';
const String kPlayStoreAppId = 'com.invoiceninja.app';
const String kAppStoreAppId = 'id1503970375';
const String kPlayStoreAppId = 'com.niufin.invoice';
const String kAppStoreAppId = 'NOTYETAVAILABLE';
const String kMicrosoftAppStoreId = '9N3F2BBCFDR6';
const String kMicrosoftAppStoreId = 'NOTYETAVAILABLE';
const String kAppleStoreUrl =
'https://apps.apple.com/us/app/invoice-ninja-v5/$kAppStoreAppId';
const String kGoogleStoreUrl =
'https://play.google.com/store/apps/details?id=$kPlayStoreAppId';
const String kGoogleFDroidUrl =
'https://f-droid.org/packages/com.invoiceninja.app';
const String kMacOSUrl = 'https://apps.apple.com/app/id1503970375';
const String kLinuxUrl = 'https://snapcraft.io/invoiceninja';
'https://f-droid.org/packages/nursery.barpeta.app';
const String kMacOSUrl = 'https://apps.apple.com/app/na';
const String kLinuxUrl = 'https://snapcraft.io/na';
const String kWindowsUrl =
'https://apps.microsoft.com/store/detail/invoice-ninja/$kMicrosoftAppStoreId';
const String kSlackUrl = 'http://slack.invoiceninja.com';
const String kGitHubUrl = 'https://github.com/invoiceninja';
const String kTwitterUrl = 'https://twitter.com/invoiceninja';
const String kFacebookUrl = 'https://www.facebook.com/invoiceninja';
const String kSlackUrl = 'https://niutech.in';
const String kGitHubUrl = 'https://github.com/niufin';
const String kTwitterUrl = 'https://twitter.com/Sultansm';
const String kFacebookUrl = 'https://www.facebook.com/sultanmustafijul.hoque';
const String kYouTubeUrl =
'https://www.youtube.com/channel/UCXAHcBvhW05PDtWYIq7WDFA/videos';
'https://www.youtube.com/channel/sultanmustafijulhoque/videos';
const String kYodleeCoverageUrl =
'https://www.yodlee.com/open-banking/data-connections';
@ -64,14 +62,13 @@ const String kNordigenOverviewUrl = 'https://gocardless.com/bank-account-data';
const String kTaskExtensionUrl =
'https://chromewebstore.google.com/detail/invoice-ninja-tasks/dlfcbfdpemfnjbjlladogijcchfmmaaf';
const String kTaskExtensionYouTubeUrl =
'https://www.youtube.com/watch?v=UL0OklMJTEA&ab_channel=InvoiceNinja';
'https://www.youtube.com/watch?v=UL0OklMJTEA&ab_channel=SultanMustafijulHoque';
const String kAppleOAuthClientId = 'com.invoiceninja.client';
const String kAppleOAuthRedirectUrl = 'https://invoicing.co/auth/apple';
const String kReleaseNotesUrl =
'https://github.com/invoiceninja/invoiceninja/releases';
const String kDocsUrl = 'https://invoiceninja.github.io/en';
const String kReleaseNotesUrl = 'https://niutech.in';
const String kDocsUrl = 'https://niutech.in';
const String kDocsCustomDomainUrl = '$kDocsUrl/hosted-custom-domain';
const String kDocsCustomDesignUrl = '$kDocsUrl/custom-fields';
const String kDocsCustomFieldsUrl = '$kDocsUrl/custom-fields/#custom-fields';
@ -81,7 +78,7 @@ const String kDocsStripeConnectUrl = '$kDocsUrl/hosted-stripe';
const String kPHPDateFormatsUrl =
'https://www.php.net/manual/en/datetime.format.php#refsect1-datetime.format-parameters';
const String kForumUrl = 'https://forum.invoiceninja.com';
const String kForumUrl = 'https://https://niutech.in';
const String kApiDocsUrl = 'https://api-docs.invoicing.co';
const String kZapierUrl = 'https://zapier.com/apps/invoice-ninja';
const String kGatewayFeeHelpURL =
@ -95,7 +92,7 @@ const String kGitHubDiffUrl =
'https://github.com/invoiceninja/invoiceninja/compare/vVERSION...v5-stable';
const String kGitHubLangUrl =
'https://github.com/invoiceninja/invoiceninja/blob/master/resources/lang/en/texts.php';
const String kStatusCheckUrl = 'https://status.invoiceninja.com';
const String kStatusCheckUrl = 'https://niutech.in';
const String kGoogleAnalyticsUrl =
'https://support.google.com/analytics/answer/1037249?hl=en';

View File

@ -223,11 +223,12 @@ Future<AppState> _initialState(bool isTesting) async {
final prefs = await SharedPreferences.getInstance();
final prefString = prefs.getString(kSharedPrefs);
final url = WebUtils.apiUrl ?? prefs.getString(kSharedPrefUrl) ?? '';
final url = WebUtils.apiUrl ?? prefs.getString(kAppProductionUrl) ?? '';
if (!kReleaseMode) {
//url = kAppStagingUrl;
//url = kAppProductionUrl;
//url = kAppDemoUrl;
//url = kSharedPrefUrl;
}
PrefState? prefState = PrefState();

View File

@ -228,9 +228,7 @@ class _UpgradeDialogState extends State<UpgradeDialog> {
SizedBox(height: 4),
TextButton(
style: TextButton.styleFrom(
backgroundColor: Colors.green[800],
// ignore: deprecated_member_use
primary: Colors.white,
foregroundColor: Colors.white, backgroundColor: Colors.green[800],
),
onPressed: () {
if (previousPurchase != null) {

View File

@ -39,7 +39,7 @@ class _WindowManagerState extends State<WindowManager> with WindowListener {
void _initWidgets() async {
//print("## SET DATA");
//await UserDefaults.setString('widgetData', 'hello', 'group.com.invoiceninja.app');
//await UserDefaults.setString('widgetData', 'hello', 'group.com.niufin.invoice');
//await WidgetKit.reloadAllTimelines();
}

View File

@ -1,6 +1,5 @@
// Dart imports:
import 'dart:convert';
import 'dart:ui';
// Flutter imports:
import 'package:flutter/foundation.dart';

View File

@ -439,7 +439,7 @@ class _FileImportState extends State<_FileImport> {
//data: {},
)
.then((dynamic result) {
setState(() => {_isLoading = false, _multipartFiles.clear()});
setState(() {_isLoading = false; _multipartFiles.clear();});
showToast(localization!.startedImport);
}).catchError((dynamic error) {
@ -478,7 +478,7 @@ class _FileImportState extends State<_FileImport> {
'import_type': widget.importType.toString(),
},
).then((dynamic result) {
setState(() => {_isLoading = false, _multipartFiles.clear()});
setState(() {_isLoading = false; _multipartFiles.clear();});
if (widget.importType != ImportType.csv) {
showToast(localization!.startedImport);

View File

@ -11,7 +11,7 @@ import 'package:widget_kit_plugin/widget_kit_plugin.dart';
class WidgetUtils {
static const DATA_KEY = 'widget_data';
static const APP_GROUP = 'group.com.invoiceninja.app';
static const APP_GROUP = 'group.com.niufin.invoice';
static void updateData() {
if (!isApple()) {

View File

@ -7,7 +7,7 @@ project(runner LANGUAGES CXX)
set(BINARY_NAME "invoiceninja")
# The unique GTK application identifier for this application. See:
# https://wiki.gnome.org/HowDoI/ChooseApplicationID
set(APPLICATION_ID "com.invoiceninja.app")
set(APPLICATION_ID "com.niufin.invoice")
# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
# versions of CMake.

View File

@ -6,7 +6,7 @@
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.invoiceninja.app</string>
<string>group.com.niufin.invoice</string>
</array>
</dict>
</plist>

View File

@ -6,7 +6,7 @@
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.invoiceninja.app</string>
<string>group.com.niufin.invoice</string>
</array>
<key>com.apple.security.network.client</key>
<true/>

View File

@ -42,7 +42,7 @@ extension Color {
func getWidgetData() throws -> (WidgetData) {
let sharedDefaults = UserDefaults.init(suiteName: "group.com.invoiceninja.app")
let sharedDefaults = UserDefaults.init(suiteName: "group.com.niufin.invoice")
if sharedDefaults == nil {
throw "Not connected"

View File

@ -8,6 +8,7 @@ import Foundation
import desktop_drop
import device_info_plus
import file_selector_macos
import google_sign_in_ios
import in_app_purchase_storekit
import in_app_review
import package_info
@ -28,6 +29,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
DesktopDropPlugin.register(with: registry.registrar(forPlugin: "DesktopDropPlugin"))
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
FLTGoogleSignInPlugin.register(with: registry.registrar(forPlugin: "FLTGoogleSignInPlugin"))
InAppPurchasePlugin.register(with: registry.registrar(forPlugin: "InAppPurchasePlugin"))
InAppReviewPlugin.register(with: registry.registrar(forPlugin: "InAppReviewPlugin"))
FLTPackageInfoPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlugin"))

View File

@ -835,7 +835,7 @@
MARKETING_VERSION = "$(FLUTTER_BUILD_NAME)";
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.invoiceninja.app.DashboardWidget;
PRODUCT_BUNDLE_IDENTIFIER = com.niufin.invoice.DashboardWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
@ -876,7 +876,7 @@
MACOSX_DEPLOYMENT_TARGET = 12.6;
MARKETING_VERSION = "$(FLUTTER_BUILD_NAME)";
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.invoiceninja.app.DashboardWidget;
PRODUCT_BUNDLE_IDENTIFIER = com.niufin.invoice.DashboardWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
@ -917,7 +917,7 @@
MACOSX_DEPLOYMENT_TARGET = 12.6;
MARKETING_VERSION = "$(FLUTTER_BUILD_NAME)";
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.invoiceninja.app.DashboardWidget;
PRODUCT_BUNDLE_IDENTIFIER = com.niufin.invoice.DashboardWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
@ -958,7 +958,7 @@
MARKETING_VERSION = "$(FLUTTER_BUILD_NAME)";
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.invoiceninja.app.CompanyIntent;
PRODUCT_BUNDLE_IDENTIFIER = com.niufin.invoice.CompanyIntent;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
@ -998,7 +998,7 @@
MACOSX_DEPLOYMENT_TARGET = 12.6;
MARKETING_VERSION = "$(FLUTTER_BUILD_NAME)";
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.invoiceninja.app.CompanyIntent;
PRODUCT_BUNDLE_IDENTIFIER = com.niufin.invoice.CompanyIntent;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
@ -1038,7 +1038,7 @@
MACOSX_DEPLOYMENT_TARGET = 12.6;
MARKETING_VERSION = "$(FLUTTER_BUILD_NAME)";
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.invoiceninja.app.CompanyIntent;
PRODUCT_BUNDLE_IDENTIFIER = com.niufin.invoice.CompanyIntent;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;

View File

@ -8,7 +8,7 @@
PRODUCT_NAME = Invoice Ninja
// The application's bundle identifier
PRODUCT_BUNDLE_IDENTIFIER = com.invoiceninja.app
PRODUCT_BUNDLE_IDENTIFIER = com.niufin.invoice
// The copyright displayed in application information
PRODUCT_COPYRIGHT = Copyright © 2021 Invoice Ninja All rights reserved.

View File

@ -10,7 +10,7 @@
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.invoiceninja.app</string>
<string>group.com.niufin.invoice</string>
</array>
<key>com.apple.security.cs.allow-jit</key>
<true/>

View File

@ -10,7 +10,7 @@
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.invoiceninja.app</string>
<string>group.com.niufin.invoice</string>
</array>
<key>com.apple.security.files.downloads.read-write</key>
<true/>

File diff suppressed because it is too large Load Diff

View File

@ -21,10 +21,10 @@ dependencies:
flutter_localizations:
sdk: flutter
#google_sign_in: ^6.0.1
google_sign_in: 5.4.4 #https://pub.dev/packages/google_sign_in_web
google_sign_in: ^6.2.1 #https://pub.dev/packages/google_sign_in_web
in_app_review: ^2.0.4
in_app_purchase: ^3.1.1
pinput: ^3.0.1
pinput: ^4.0.0
#pinput: ^2.2.23
#pinput:
# git:
@ -32,7 +32,7 @@ dependencies:
# ref: dev
flutter_redux: ^0.10.0
redux_logging: ^0.5.0
http: ^0.13.3
http: ^1.2.0
path_provider: ^2.0.2
shared_preferences: ^2.0.6
material_design_icons_flutter: ^7.0.7296
@ -56,18 +56,21 @@ dependencies:
webview_flutter: ^4.4.1
timeago: ^3.1.0
package_info: ^2.0.2
rounded_loading_button: ^2.1.0
rounded_loading_button:
git:
url: https://github.com/scopendo/flutter_rounded_loading_button.git
ref: master
version: ^3.0.2
# flutter_launcher_icons: ^0.9.1
overflow_view: ^0.3.1
flutter_styled_toast: ^2.0.0
permission_handler: ^11.0.1 # Disables Windows support to fix crash
file_picker: ^5.2.5
file_picker: ^6.1.1
#boardview: ^0.2.2
boardview:
git:
url: https://github.com/BenPoell/FlutterBoardView.git
pointer_interceptor: ^0.9.0
pointer_interceptor: ^0.10.1
contacts_service: ^0.6.3
diacritic: ^0.1.3
states_rebuilder: ^6.2.0
@ -81,7 +84,7 @@ dependencies:
# ref: stable
html2md: ^1.2.6
printing: ^5.11.0
image_cropper: ^4.0.1
image_cropper: ^5.0.1
msal_js: ^2.14.0
sign_in_with_apple: ^5.0.0
window_manager: ^0.3.0
@ -90,16 +93,25 @@ dependencies:
flutter_staggered_grid_view: ^0.7.0
desktop_drop: ^0.4.1
widget_kit_plugin: ^0.1.1
pinch_zoom: ^1.0.0
pinch_zoom: ^2.0.0
# quick_actions: ^0.2.1
# idb_shim: ^1.11.1+1
collection: ^1.15.0-nullsafety.4
filesystem_picker: ^4.0.0
device_info_plus: ^9.1.0
archive: any
redux: any
charts_common: any
in_app_purchase_android: any
in_app_purchase_storekit: any
markdown: any
super_editor: any
follow_the_leader: any
overlord: any
dependency_overrides:
intl: any
navigation_builder: ^0.0.3
navigation_builder: ^0.0.4
states_rebuilder: ^6.3.0
super_editor:
git:
@ -134,6 +146,7 @@ dev_dependencies:
msix: ^3.5.1
import_sorter: ^4.6.0
redux: any
flutter:
uses-material-design: true

View File

@ -11,7 +11,7 @@
"related_applications": [
{
"platform": "play",
"id": "com.invoiceninja.app"
"id": "com.niufin.invoice"
}, {
"platform": "itunes",
"url": "https://testflight.apple.com/join/MJ6WpaXh"

View File

@ -89,13 +89,13 @@ BEGIN
BEGIN
BLOCK "040904e4"
BEGIN
VALUE "CompanyName", "Invoice Ninja" "\0"
VALUE "FileDescription", "Invoice Ninja" "\0"
VALUE "CompanyName", "Niufin Inventory Manager" "\0"
VALUE "FileDescription", "Niufin Inventory Manager" "\0"
VALUE "FileVersion", VERSION_AS_STRING "\0"
VALUE "InternalName", "invoiceninja" "\0"
VALUE "LegalCopyright", "Copyright (C) 2023 Invoice Ninja. All rights reserved." "\0"
VALUE "OriginalFilename", "invoiceninja.exe" "\0"
VALUE "ProductName", "invoiceninja" "\0"
VALUE "InternalName", "barpetanursery" "\0"
VALUE "LegalCopyright", "Copyright (C) 2024 Niufin Inventory Manager. All rights reserved." "\0"
VALUE "OriginalFilename", "barpetanursery.exe" "\0"
VALUE "ProductName", "barpetanursery" "\0"
VALUE "ProductVersion", VERSION_AS_STRING "\0"
END
END

View File

@ -27,7 +27,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
FlutterWindow window(project);
Win32Window::Point origin(10, 10);
Win32Window::Size size(1280, 720);
if (!window.Create(L"Invoice Ninja", origin, size)) {
if (!window.Create(L"Niufin Inventory Manager", origin, size)) {
return EXIT_FAILURE;
}
window.SetQuitOnClose(true);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 91 KiB