Updated to Niufin
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"/>
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ android {
|
|||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.invoiceninja.app"
|
||||
applicationId "com.niufin.invoice"
|
||||
minSdkVersion 19
|
||||
targetSdkVersion 33
|
||||
versionCode flutterVersionCode.toInteger()
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ android {
|
|||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.invoiceninja.app"
|
||||
applicationId "com.niufin.invoice"
|
||||
minSdkVersion 19
|
||||
targetSdkVersion 33
|
||||
versionCode flutterVersionCode.toInteger()
|
||||
|
|
|
|||
|
|
@ -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" />
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package com.invoiceninja.app
|
||||
package com.niufin.invoice
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import io.flutter.embedding.android.FlutterFragmentActivity
|
||||
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 39 KiB |
|
|
@ -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" />
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
buildscript {
|
||||
ext.kotlin_version = '1.9.10'
|
||||
ext.kotlin_version = '1.9.22'
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 180 KiB |
|
|
@ -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/
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
// Dart imports:
|
||||
import 'dart:convert';
|
||||
import 'dart:ui';
|
||||
|
||||
// Flutter imports:
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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()) {
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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/>
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"))
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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/>
|
||||
|
|
|
|||
|
|
@ -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/>
|
||||
|
|
|
|||
495
pubspec.lock
31
pubspec.yaml
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 91 KiB |