Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 18 additions & 18 deletions .github/workflows/dart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,16 +65,16 @@ jobs:
needs:
- job_001
job_003:
name: "analyze; PKG: packages/harbour; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
name: "analyze; PKG: packages/neon; `dart format --output=none --set-exit-if-changed --line-length 120 .`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@4504faf7e9bcf8f3ed0bc863c4e1d21499ab8ef8
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/harbour;commands:format"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon;commands:format"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/harbour
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon
os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
Expand All @@ -83,14 +83,14 @@ jobs:
channel: stable
- id: checkout
uses: actions/checkout@d0651293c4a5a52e711f25b41b05b2212f385d28
- id: packages_harbour_pub_upgrade
name: packages/harbour; flutter pub pub upgrade
- id: packages_neon_pub_upgrade
name: packages/neon; flutter pub pub upgrade
if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/harbour
working-directory: packages/neon
run: flutter pub pub upgrade
- name: "packages/harbour; dart format --output=none --set-exit-if-changed --line-length 120 ."
if: "always() && steps.packages_harbour_pub_upgrade.conclusion == 'success'"
working-directory: packages/harbour
- name: "packages/neon; dart format --output=none --set-exit-if-changed --line-length 120 ."
if: "always() && steps.packages_neon_pub_upgrade.conclusion == 'success'"
working-directory: packages/neon
run: "dart format --output=none --set-exit-if-changed --line-length 120 ."
needs:
- job_001
Expand Down Expand Up @@ -275,16 +275,16 @@ jobs:
needs:
- job_001
job_010:
name: "analyze; PKG: packages/harbour; `flutter analyze`"
name: "analyze; PKG: packages/neon; `flutter analyze`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@4504faf7e9bcf8f3ed0bc863c4e1d21499ab8ef8
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/harbour;commands:analyze_0"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon;commands:analyze_0"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/harbour
os:ubuntu-latest;pub-cache-hosted;sdk:stable;packages:packages/neon
os:ubuntu-latest;pub-cache-hosted;sdk:stable
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
Expand All @@ -293,14 +293,14 @@ jobs:
channel: stable
- id: checkout
uses: actions/checkout@d0651293c4a5a52e711f25b41b05b2212f385d28
- id: packages_harbour_pub_upgrade
name: packages/harbour; flutter pub pub upgrade
- id: packages_neon_pub_upgrade
name: packages/neon; flutter pub pub upgrade
if: "always() && steps.checkout.conclusion == 'success'"
working-directory: packages/harbour
working-directory: packages/neon
run: flutter pub pub upgrade
- name: packages/harbour; flutter analyze
if: "always() && steps.packages_harbour_pub_upgrade.conclusion == 'success'"
working-directory: packages/harbour
- name: packages/neon; flutter analyze
if: "always() && steps.packages_neon_pub_upgrade.conclusion == 'success'"
working-directory: packages/neon
run: flutter analyze
needs:
- job_001
Expand Down
2 changes: 1 addition & 1 deletion .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions .idea/nextcloud-harbour.iml → .idea/nextcloud-neon.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/runConfigurations/Debug.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/runConfigurations/Release.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# nextcloud-harbour
# nextcloud-neon

A beautiful convergent cross-platform client for Nextcloud written in Flutter.

See [here](./packages/harbour/README.md) for screenshots and other material regarding the app.
See [here](packages/neon/README.md) for screenshots and other material regarding the app.

This repository not only contains the Harbour app, but also a Nextcloud client written in Dart.
This repository not only contains the Neon app, but also a Nextcloud client written in Dart.
The client will replace https://github.com/jld3103/dart-nextcloud which is an older unmaintained client I wrote some time ago.

The development of this app and client just started, there will be a lot of changes and new features coming soon.
Expand All @@ -13,7 +13,7 @@ Additional documentation is very much appreciated. If you find something that yo

## Features

There are a lot of planned features that still need help. Go [here](https://github.com/jld3103/nextcloud-harbour/issues?q=is%3Aopen+is%3Aissue+label%3Afeature) and grab an issue to work on.
There are a lot of planned features that still need help. Go [here](https://github.com/jld3103/nextcloud-neon/issues?q=is%3Aopen+is%3Aissue+label%3Afeature) and grab an issue to work on.
Even if a new feature is not listed yet, please open an issue.

- :heavy_check_mark: Fully supported
Expand All @@ -23,9 +23,9 @@ Even if a new feature is not listed yet, please open an issue.

| App | Status |
|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| Files | :white_check_mark: [See here](https://github.com/jld3103/nextcloud-harbour/issues?q=is%3Aopen+is%3Aissue+label%3A%22harbour%3A+files%22+label%3Afeature) |
| Files | :white_check_mark: [See here](https://github.com/jld3103/nextcloud-neon/issues?q=is%3Aopen+is%3Aissue+label%3A%22neon%3A+files%22+label%3Afeature) |
| Notes | :heavy_check_mark: |
| News | :white_check_mark: [See here](https://github.com/jld3103/nextcloud-harbour/issues?q=is%3Aopen+is%3Aissue+label%3Afeature+label%3A%22harbour%3A+news%22) |
| News | :white_check_mark: [See here](https://github.com/jld3103/nextcloud-neon/issues?q=is%3Aopen+is%3Aissue+label%3Afeature+label%3A%22neon%3A+news%22) |
| Contacts | :rocket: |
| Calendar | :rocket: |
| Tasks | :rocket: |
Expand All @@ -34,7 +34,7 @@ Even if a new feature is not listed yet, please open an issue.

## Platform support

Except for web, Harbour should run on all supported Flutter platforms in the future.
Except for web, Neon should run on all supported Flutter platforms in the future.
Right now this is not the case, only Android and Linux are supported and tested, but this can easily be extended to other platforms.

The features and problems of all platforms should be considered when implementing new features.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2 changes: 0 additions & 2 deletions packages/harbour/assets/LEGALESE.txt

This file was deleted.

1 change: 0 additions & 1 deletion packages/harbour/assets/logo_harbour.svg

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion packages/harbour/README.md → packages/neon/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# harbour
# neon

A beautiful convergent cross-platform client for Nextcloud written in Flutter.

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ android {
}

defaultConfig {
applicationId "de.provokateurin.harbour"
applicationId "de.provokateurin.neon"
minSdkVersion 19
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.provokateurin.harbour">
package="de.provokateurin.neon">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.provokateurin.harbour">
package="de.provokateurin.neon">

<uses-permission android:name="android.permission.INTERNET"/>

<application
android:label="Harbour"
android:label="Neon"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher"
android:usesCleartextTraffic="true">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.provokateurin.harbour
package de.provokateurin.neon

import io.flutter.embedding.android.FlutterActivity

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.provokateurin.harbour">
package="de.provokateurin.neon">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
Expand Down
File renamed without changes.
2 changes: 2 additions & 0 deletions packages/neon/assets/LEGALESE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Copyright © 2022, jld3103
Under BSD-3 license
1 change: 1 addition & 0 deletions packages/neon/assets/logo_neon.svg
File renamed without changes.
10 changes: 5 additions & 5 deletions packages/harbour/lib/app.dart → packages/neon/lib/app.dart
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
import 'package:flutter/material.dart';
import 'package:flutter_native_splash/flutter_native_splash.dart';
import 'package:flutter_rx_bloc/flutter_rx_bloc.dart';
import 'package:harbour/src/harbour.dart';
import 'package:neon/src/neon.dart';
import 'package:provider/provider.dart';
import 'package:rxdart/rxdart.dart';

class HarbourApp extends StatefulWidget {
const HarbourApp({
class NeonApp extends StatefulWidget {
const NeonApp({
super.key,
});

@override
State<HarbourApp> createState() => _HarbourAppState();
State<NeonApp> createState() => _NeonAppState();
}

// ignore: prefer_mixin
class _HarbourAppState extends State<HarbourApp> with WidgetsBindingObserver {
class _NeonAppState extends State<NeonApp> with WidgetsBindingObserver {
final _navigatorKey = GlobalKey<NavigatorState>();
NextcloudTheme? _userTheme;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"@@locale": "en",
"appName": "Nextcloud Harbour",
"appName": "Nextcloud Neon",
"loginAccountAlreadyExists": "The account you are trying to add already exists",
"loginAgain": "Login again",
"loginOpenAgain": "Open again",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ abstract class AppLocalizations {
/// No description provided for @appName.
///
/// In en, this message translates to:
/// **'Nextcloud Harbour'**
/// **'Nextcloud Neon'**
String get appName;

/// No description provided for @loginAccountAlreadyExists.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ class AppLocalizationsEn extends AppLocalizations {
AppLocalizationsEn([String locale = 'en']) : super(locale);

@override
String get appName => 'Nextcloud Harbour';
String get appName => 'Nextcloud Neon';

@override
String get loginAccountAlreadyExists => 'The account you are trying to add already exists';
Expand Down
16 changes: 8 additions & 8 deletions packages/harbour/lib/main.dart → packages/neon/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_native_splash/flutter_native_splash.dart';
import 'package:harbour/app.dart';
import 'package:harbour/src/harbour.dart';
import 'package:neon/app.dart';
import 'package:neon/src/neon.dart';
import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';

Expand All @@ -27,7 +27,7 @@ Future main() async {

await Global.init();

final platform = getHarbourPlatform();
final platform = getNeonPlatform();

await platform.init?.call();

Expand Down Expand Up @@ -60,7 +60,7 @@ Future main() async {
Provider<Env?>(
create: (final _) => env,
),
Provider<HarbourPlatform>(
Provider<NeonPlatform>(
create: (final _) => platform,
),
Provider<GlobalOptions>(
Expand All @@ -76,17 +76,17 @@ Future main() async {
create: (final _) => allAppImplementations,
),
],
child: const HarbourApp(),
child: const NeonApp(),
),
);
}

HarbourPlatform getHarbourPlatform() {
NeonPlatform getNeonPlatform() {
if (Platform.isAndroid) {
return AndroidHarbourPlatform();
return AndroidNeonPlatform();
}
if (Platform.isLinux) {
return LinuxHarbourPlatform();
return LinuxNeonPlatform();
}

throw UnimplementedError('No implementation for platform ${Platform.operatingSystem} found');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ import 'package:file_picker/file_picker.dart';
import 'package:filesize/filesize.dart';
import 'package:flutter/material.dart';
import 'package:flutter_rx_bloc/flutter_rx_bloc.dart';
import 'package:harbour/src/apps/files/blocs/browser.dart';
import 'package:harbour/src/harbour.dart';
import 'package:image_picker/image_picker.dart';
import 'package:intersperse/intersperse.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:neon/src/apps/files/blocs/browser.dart';
import 'package:neon/src/neon.dart';
import 'package:nextcloud/nextcloud.dart';
import 'package:path/path.dart' as p;
import 'package:provider/provider.dart';
Expand All @@ -39,7 +39,7 @@ class FilesApp extends AppImplementation<FilesBloc, FilesAppSpecificOptions> {
FilesApp(
final SharedPreferences sharedPreferences,
final RequestManager requestManager,
final HarbourPlatform platform,
final NeonPlatform platform,
) : super(
'files',
(final context) => AppLocalizations.of(context).filesName,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'dart:async';

import 'package:harbour/src/harbour.dart';
import 'package:neon/src/neon.dart';
import 'package:nextcloud/nextcloud.dart';
import 'package:rx_bloc/rx_bloc.dart';
import 'package:rxdart/rxdart.dart';
Expand Down
Loading