This commit is contained in:
Fabian Freund
2024-04-25 17:32:42 +02:00
parent 0e1972242a
commit 4b0da6f3af
64 changed files with 197 additions and 184 deletions
+1 -1
View File
@@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
kagi_bang_bang Copyright (C) 2024 Fabian Freund
bang_navigator Copyright (C) 2024 Fabian Freund
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
+1 -1
View File
@@ -1,3 +1,3 @@
# kagi_bang_bang
# bang_navigator
A new Flutter project.
+2 -2
View File
@@ -24,7 +24,7 @@ if (flutterVersionName == null) {
}
android {
namespace = "me.movenext.kagi_bang_bang"
namespace = "me.movenext.bang_navigator"
compileSdk = 34
ndkVersion = flutter.ndkVersion
@@ -39,7 +39,7 @@ android {
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "me.movenext.kagi_bang_bang"
applicationId = "me.movenext.bang_navigator"
// https://api.flutter.dev/flutter/widgets/AndroidView-class.html
//https://inappwebview.dev/docs/intro/#setup-android
minSdk = 23
+5 -5
View File
@@ -1,9 +1,9 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:label="kagi_bang_bang"
android:label="Bang Navigator"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
android:icon="@mipmap/launcher_icon">
<activity
android:name=".MainActivity"
android:exported="true"
@@ -26,7 +26,7 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="me.movenext.kagi_bang_bang.action.LAUNCH" />
<action android:name="me.movenext.bang_navigator.action.LAUNCH" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
@@ -40,13 +40,13 @@
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<receiver android:name="KagiWidgetProvider" android:exported="true">
<receiver android:name="BangNavigatorWidgetProvider" android:exported="true">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/kagi_widget_info" />
android:resource="@xml/bang_navigator_widget_info" />
</receiver>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
@@ -1,4 +1,4 @@
package me.movenext.kagi_bang_bang
package me.movenext.bang_navigator
import android.appwidget.AppWidgetManager
import android.content.Context
@@ -11,10 +11,10 @@ import es.antonborri.home_widget.HomeWidgetBackgroundIntent
import es.antonborri.home_widget.HomeWidgetLaunchIntent
import es.antonborri.home_widget.HomeWidgetProvider
class KagiWidgetProvider : HomeWidgetProvider() {
class BangNavigatorWidgetProvider : HomeWidgetProvider() {
override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray, widgetData: SharedPreferences) {
appWidgetIds.forEach { widgetId ->
val views = RemoteViews(context.packageName, R.layout.kagi_widget).apply {
val views = RemoteViews(context.packageName, R.layout.bang_navigator_widget).apply {
val searchIntent = HomeWidgetLaunchIntent.getActivity(
context,
MainActivity::class.java,
@@ -1,4 +1,4 @@
package me.movenext.kagi_bang_bang
package me.movenext.bang_navigator
import io.flutter.embedding.android.FlutterActivity
@@ -1,10 +1,10 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/Widget.KagiWidget.AppWidget.Container"
style="@style/Widget.BangNavigatorWidget.AppWidget.Container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp"
android:theme="@style/Theme.KagiWidget.AppWidgetContainer">
android:theme="@style/Theme.BangNavigatorWidget.AppWidgetContainer">
<Button
android:id="@+id/search_button"
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<style name="LaunchTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<style name="LaunchTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
@@ -12,16 +12,16 @@
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<style name="NormalTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
<style name="Widget.KagiWidget.AppWidget.Container" parent="android:Widget">
<style name="Widget.BangNavigatorWidget.AppWidget.Container" parent="android:Widget">
<item name="android:id">@android:id/background</item>
<item name="android:background">?android:attr/colorBackground</item>
</style>
<style name="Widget.KagiWidget.AppWidget.InnerView" parent="android:Widget">
<style name="Widget.BangNavigatorWidget.AppWidget.InnerView" parent="android:Widget">
<item name="android:background">?android:attr/colorBackground</item>
<item name="android:textColor">?android:attr/textColorPrimary</item>
</style>
@@ -1,6 +1,6 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.KagiWidget" parent="@style/Theme.Material3.DayNight.NoActionBar">
<style name="Theme.BangNavigatorWidget" parent="@style/Theme.Material3.DayNight.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
@@ -14,7 +14,7 @@
<!-- Customize your theme here. -->
</style>
<style name="Theme.KagiWidget.AppWidgetContainerParent" parent="@android:style/Theme.DeviceDefault">
<style name="Theme.BangNavigatorWidget.AppWidgetContainerParent" parent="@android:style/Theme.DeviceDefault">
<!-- Radius of the outer bound of widgets to make the rounded corners -->
<item name="appWidgetRadius">16dp</item>
<!--
@@ -24,7 +24,7 @@
<item name="appWidgetInnerRadius">8dp</item>
</style>
<style name="Theme.KagiWidget.AppWidgetContainer" parent="Theme.KagiWidget.AppWidgetContainerParent">
<style name="Theme.BangNavigatorWidget.AppWidgetContainer" parent="Theme.BangNavigatorWidget.AppWidgetContainerParent">
<!-- Apply padding to avoid the content of the widget colliding with the rounded corners -->
<item name="appWidgetPadding">16dp</item>
</style>
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/kagi_widget"
android:initialLayout="@layout/bang_navigator_widget"
android:resizeMode="none"
android:previewLayout="@layout/kagi_widget"
android:previewLayout="@layout/bang_navigator_widget"
android:targetCellWidth="5"
android:targetCellHeight="2"
android:widgetCategory="home_screen" />
Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

+6 -6
View File
@@ -368,7 +368,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.kagiBangBang;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.bangNavigator;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
@@ -384,7 +384,7 @@
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.kagiBangBang.RunnerTests;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.bangNavigator.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -401,7 +401,7 @@
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.kagiBangBang.RunnerTests;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.bangNavigator.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
@@ -416,7 +416,7 @@
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.kagiBangBang.RunnerTests;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.bangNavigator.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner";
@@ -547,7 +547,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.kagiBangBang;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.bangNavigator;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -569,7 +569,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.kagiBangBang;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.bangNavigator;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
+2 -2
View File
@@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>Kagi Bang Bang</string>
<string>Bang Navigator</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
@@ -13,7 +13,7 @@
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>kagi_bang_bang</string>
<string>bang_navigator</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
+1 -1
View File
@@ -1,5 +1,5 @@
import 'package:go_router/go_router.dart';
import 'package:kagi_bang_bang/core/routing/routes.dart';
import 'package:bang_navigator/core/routing/routes.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'providers.g.dart';
+3 -3
View File
@@ -1,9 +1,9 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/features/search_browser/presentation/screens/browser.dart';
import 'package:kagi_bang_bang/features/settings/data/repositories/settings_repository.dart';
import 'package:kagi_bang_bang/features/settings/presentation/screens/settings.dart';
import 'package:bang_navigator/features/search_browser/presentation/screens/browser.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/features/settings/presentation/screens/settings.dart';
part 'routes.g.dart';
+3 -3
View File
@@ -4,9 +4,9 @@ import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:html/dom.dart';
import 'package:html/parser.dart' as html_parser;
import 'package:http/http.dart' as http;
import 'package:kagi_bang_bang/core/http_error_handler.dart';
import 'package:kagi_bang_bang/domain/entities/web_page_info.dart';
import 'package:kagi_bang_bang/features/web_view/utils/favicon_helper.dart';
import 'package:bang_navigator/core/http_error_handler.dart';
import 'package:bang_navigator/domain/entities/web_page_info.dart';
import 'package:bang_navigator/features/web_view/utils/favicon_helper.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'generic_website.g.dart';
@@ -1,5 +1,5 @@
import 'package:home_widget/home_widget.dart';
import 'package:kagi_bang_bang/domain/entities/received_parameter.dart';
import 'package:bang_navigator/domain/entities/received_parameter.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:rxdart/rxdart.dart';
@@ -2,7 +2,7 @@ import 'dart:convert';
import 'package:exceptions/exceptions.dart';
import 'package:http/http.dart' as http;
import 'package:kagi_bang_bang/core/http_error_handler.dart';
import 'package:bang_navigator/core/http_error_handler.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'autosuggest.g.dart';
@@ -1,7 +1,7 @@
import 'dart:async';
import 'package:kagi_bang_bang/features/kagi/data/services/autosuggest.dart';
import 'package:kagi_bang_bang/utils/lru_cache.dart';
import 'package:bang_navigator/features/kagi/data/services/autosuggest.dart';
import 'package:bang_navigator/utils/lru_cache.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:rxdart/rxdart.dart';
@@ -1,4 +1,4 @@
import 'package:kagi_bang_bang/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
sealed class Sheet {}
@@ -1,8 +1,8 @@
// ignore_for_file: use_setters_to_change_properties
import 'package:flutter/widgets.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/entities/sheet.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/services/create_tab.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/sheet.dart';
import 'package:bang_navigator/features/search_browser/domain/services/create_tab.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'providers.g.dart';
@@ -1,11 +1,11 @@
import 'dart:async';
import 'package:collection/collection.dart';
import 'package:kagi_bang_bang/domain/entities/received_parameter.dart';
import 'package:kagi_bang_bang/features/app_widget/domain/services/home_widget.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/entities/modes.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/entities/sheet.dart';
import 'package:kagi_bang_bang/features/share_intent/domain/services/sharing_intent.dart';
import 'package:bang_navigator/domain/entities/received_parameter.dart';
import 'package:bang_navigator/features/app_widget/domain/services/home_widget.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/sheet.dart';
import 'package:bang_navigator/features/share_intent/domain/services/sharing_intent.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:rxdart/rxdart.dart';
@@ -5,24 +5,24 @@ import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/core/routing/routes.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/entities/modes.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/entities/sheet.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/providers.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/services/create_tab.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/services/session.dart';
import 'package:kagi_bang_bang/features/search_browser/presentation/widgets/app_bar_title.dart';
import 'package:kagi_bang_bang/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:kagi_bang_bang/features/search_browser/presentation/widgets/sheets/view_tabs_sheet.dart';
import 'package:kagi_bang_bang/features/search_browser/presentation/widgets/tabs_action_button.dart';
import 'package:kagi_bang_bang/features/settings/data/repositories/settings_repository.dart';
import 'package:kagi_bang_bang/features/web_view/domain/repositories/web_view.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/widgets/web_page_dialog.dart';
import 'package:kagi_bang_bang/presentation/hooks/listenable_callback.dart';
import 'package:kagi_bang_bang/presentation/hooks/overlay_portal_controller.dart';
import 'package:kagi_bang_bang/presentation/widgets/animated_indexed_stack.dart';
import 'package:kagi_bang_bang/utils/ui_helper.dart' as ui_helper;
import 'package:bang_navigator/core/routing/routes.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/sheet.dart';
import 'package:bang_navigator/features/search_browser/domain/providers.dart';
import 'package:bang_navigator/features/search_browser/domain/services/create_tab.dart';
import 'package:bang_navigator/features/search_browser/domain/services/session.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/app_bar_title.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/sheets/view_tabs_sheet.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/tabs_action_button.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/features/web_view/domain/repositories/web_view.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_page_dialog.dart';
import 'package:bang_navigator/presentation/hooks/listenable_callback.dart';
import 'package:bang_navigator/presentation/hooks/overlay_portal_controller.dart';
import 'package:bang_navigator/presentation/widgets/animated_indexed_stack.dart';
import 'package:bang_navigator/utils/ui_helper.dart' as ui_helper;
import 'package:share_plus/share_plus.dart';
import 'package:url_launcher/url_launcher.dart';
@@ -2,9 +2,9 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/features/web_view/domain/entities/web_view_page.dart';
import 'package:kagi_bang_bang/features/web_view/domain/repositories/web_view.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/widgets/favicon.dart';
import 'package:bang_navigator/features/web_view/domain/entities/web_view_page.dart';
import 'package:bang_navigator/features/web_view/domain/repositories/web_view.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/favicon.dart';
import 'package:text_scroll/text_scroll.dart';
class AppBarTitle extends HookConsumerWidget {
@@ -3,13 +3,13 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/entities/modes.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/entities/sheet.dart';
import 'package:kagi_bang_bang/features/search_browser/presentation/widgets/tabs/assistant_tab.dart';
import 'package:kagi_bang_bang/features/search_browser/presentation/widgets/tabs/search_tab.dart';
import 'package:kagi_bang_bang/features/search_browser/presentation/widgets/tabs/summarize_tab.dart';
import 'package:kagi_bang_bang/features/share_intent/domain/entities/shared_content.dart';
import 'package:kagi_bang_bang/presentation/hooks/sync_page_tab.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/sheet.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/tabs/assistant_tab.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/tabs/search_tab.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/tabs/summarize_tab.dart';
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
import 'package:bang_navigator/presentation/hooks/sync_page_tab.dart';
typedef OnSubmitUri = void Function(Uri url);
@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/features/web_view/domain/repositories/web_view.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/widgets/web_view_tab.dart';
import 'package:bang_navigator/features/web_view/domain/repositories/web_view.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_view_tab.dart';
class ViewTabsSheet extends HookConsumerWidget {
final VoidCallback onClose;
@@ -3,12 +3,12 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/entities/modes.dart';
import 'package:kagi_bang_bang/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:kagi_bang_bang/features/search_browser/utils/url_builder.dart'
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:bang_navigator/features/search_browser/utils/url_builder.dart'
as uri_builder;
import 'package:kagi_bang_bang/features/share_intent/domain/entities/shared_content.dart';
import 'package:kagi_bang_bang/presentation/hooks/sync_page_tab.dart';
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
import 'package:bang_navigator/presentation/hooks/sync_page_tab.dart';
class AssistantTab extends HookConsumerWidget {
final SharedContent? sharedContent;
@@ -2,13 +2,13 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/features/kagi/domain/repositories/autosuggest.dart';
import 'package:kagi_bang_bang/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:kagi_bang_bang/features/search_browser/utils/url_builder.dart'
import 'package:bang_navigator/features/kagi/domain/repositories/autosuggest.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:bang_navigator/features/search_browser/utils/url_builder.dart'
as uri_builder;
import 'package:kagi_bang_bang/features/share_intent/domain/entities/shared_content.dart';
import 'package:kagi_bang_bang/presentation/widgets/autocomplete.dart';
import 'package:kagi_bang_bang/utils/ui_helper.dart' as ui_helper;
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
import 'package:bang_navigator/presentation/widgets/autocomplete.dart';
import 'package:bang_navigator/utils/ui_helper.dart' as ui_helper;
import 'package:speech_to_text_google_dialog/speech_to_text_google_dialog.dart';
// The default Material-style Autocomplete options.
@@ -4,13 +4,13 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/entities/modes.dart';
import 'package:kagi_bang_bang/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:kagi_bang_bang/features/search_browser/utils/url_builder.dart'
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/search_browser/presentation/widgets/sheets/shared_content_sheet.dart';
import 'package:bang_navigator/features/search_browser/utils/url_builder.dart'
as uri_builder;
import 'package:kagi_bang_bang/features/share_intent/domain/entities/shared_content.dart';
import 'package:kagi_bang_bang/presentation/widgets/website_title_tile.dart';
import 'package:kagi_bang_bang/utils/uri_parser.dart' as uri_parser;
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
import 'package:bang_navigator/presentation/widgets/website_title_tile.dart';
import 'package:bang_navigator/utils/uri_parser.dart' as uri_parser;
class SummarizeTab extends HookConsumerWidget {
final SharedContent? sharedContent;
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/features/web_view/domain/repositories/web_view.dart';
import 'package:bang_navigator/features/web_view/domain/repositories/web_view.dart';
class TabsActionButton extends HookConsumerWidget {
final VoidCallback onTap;
@@ -1,5 +1,5 @@
import 'package:kagi_bang_bang/features/search_browser/domain/entities/modes.dart';
import 'package:kagi_bang_bang/features/share_intent/domain/entities/shared_content.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
final _baseUrl = Uri.https('kagi.com');
@@ -1,5 +1,5 @@
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:kagi_bang_bang/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shared_preferences/shared_preferences.dart';
@@ -1,4 +1,4 @@
import 'package:kagi_bang_bang/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'save_settings.g.dart';
@@ -1,11 +1,11 @@
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/features/settings/data/models/settings.dart';
import 'package:kagi_bang_bang/features/settings/data/repositories/settings_repository.dart';
import 'package:kagi_bang_bang/features/settings/presentation/controllers/save_settings.dart';
import 'package:kagi_bang_bang/features/settings/utils/session_link_extractor.dart';
import 'package:kagi_bang_bang/presentation/hooks/listenable_callback.dart';
import 'package:bang_navigator/features/settings/data/models/settings.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/features/settings/presentation/controllers/save_settings.dart';
import 'package:bang_navigator/features/settings/utils/session_link_extractor.dart';
import 'package:bang_navigator/presentation/hooks/listenable_callback.dart';
class SettingsScreen extends HookConsumerWidget {
const SettingsScreen({super.key});
@@ -1,4 +1,4 @@
import 'package:kagi_bang_bang/utils/uri_parser.dart' as uri_parser;
import 'package:bang_navigator/utils/uri_parser.dart' as uri_parser;
sealed class SharedContent {
const SharedContent();
@@ -3,7 +3,7 @@ import 'dart:async';
import 'package:collection/collection.dart';
import 'package:flutter_sharing_intent/flutter_sharing_intent.dart';
import 'package:flutter_sharing_intent/model/sharing_file.dart';
import 'package:kagi_bang_bang/domain/entities/received_parameter.dart';
import 'package:bang_navigator/domain/entities/received_parameter.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:rxdart/rxdart.dart';
@@ -3,7 +3,7 @@ import 'package:fast_equatable/fast_equatable.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:kagi_bang_bang/domain/entities/web_page_info.dart';
import 'package:bang_navigator/domain/entities/web_page_info.dart';
part 'web_view_page.g.dart';
@@ -1,7 +1,7 @@
import 'dart:collection';
import 'package:flutter/foundation.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/widgets/web_view.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_view.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'web_view.g.dart';
@@ -1,7 +1,7 @@
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:kagi_bang_bang/features/web_view/domain/entities/web_view_page.dart';
import 'package:kagi_bang_bang/features/web_view/domain/repositories/web_view.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/widgets/web_view.dart';
import 'package:bang_navigator/features/web_view/domain/entities/web_view_page.dart';
import 'package:bang_navigator/features/web_view/domain/repositories/web_view.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_view.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'switch_new_tab.g.dart';
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:kagi_bang_bang/domain/entities/web_page_info.dart';
import 'package:kagi_bang_bang/extensions/web_uri_favicon.dart';
import 'package:bang_navigator/domain/entities/web_page_info.dart';
import 'package:bang_navigator/extensions/web_uri_favicon.dart';
class FaviconImage extends StatelessWidget {
final double size;
@@ -4,15 +4,15 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:flutter_material_design_icons/flutter_material_design_icons.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/domain/entities/web_page_info.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/entities/modes.dart';
import 'package:kagi_bang_bang/features/search_browser/utils/url_builder.dart'
import 'package:bang_navigator/domain/entities/web_page_info.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/search_browser/utils/url_builder.dart'
as uri_builder;
import 'package:kagi_bang_bang/features/share_intent/domain/entities/shared_content.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/widgets/favicon.dart';
import 'package:kagi_bang_bang/presentation/controllers/website_title.dart';
import 'package:kagi_bang_bang/utils/ui_helper.dart' as ui_helper;
import 'package:bang_navigator/features/share_intent/domain/entities/shared_content.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/favicon.dart';
import 'package:bang_navigator/presentation/controllers/website_title.dart';
import 'package:bang_navigator/utils/ui_helper.dart' as ui_helper;
import 'package:share_plus/share_plus.dart';
import 'package:skeletonizer/skeletonizer.dart';
import 'package:url_launcher/url_launcher.dart';
@@ -5,19 +5,19 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/core/logger.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/entities/modes.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/entities/sheet.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/providers.dart';
import 'package:kagi_bang_bang/features/search_browser/utils/url_builder.dart'
import 'package:bang_navigator/core/logger.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/modes.dart';
import 'package:bang_navigator/features/search_browser/domain/entities/sheet.dart';
import 'package:bang_navigator/features/search_browser/domain/providers.dart';
import 'package:bang_navigator/features/search_browser/utils/url_builder.dart'
as uri_builder;
import 'package:kagi_bang_bang/features/settings/data/repositories/settings_repository.dart';
import 'package:kagi_bang_bang/features/web_view/domain/entities/web_view_page.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/widgets/web_page_dialog.dart';
import 'package:kagi_bang_bang/features/web_view/utils/favicon_helper.dart';
import 'package:kagi_bang_bang/utils/platform_util.dart' as platform_util;
import 'package:kagi_bang_bang/utils/ui_helper.dart' as ui_helper;
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/features/web_view/domain/entities/web_view_page.dart';
import 'package:bang_navigator/features/web_view/presentation/controllers/switch_new_tab.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_page_dialog.dart';
import 'package:bang_navigator/features/web_view/utils/favicon_helper.dart';
import 'package:bang_navigator/utils/platform_util.dart' as platform_util;
import 'package:bang_navigator/utils/ui_helper.dart' as ui_helper;
import 'package:url_launcher/url_launcher.dart';
const _webViewSupportedSchemes = [
@@ -1,9 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/features/web_view/domain/repositories/web_view.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/widgets/favicon.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/widgets/web_view.dart';
import 'package:bang_navigator/features/web_view/domain/repositories/web_view.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/favicon.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/web_view.dart';
class WebViewTab extends HookConsumerWidget {
final WebView webView;
+6 -6
View File
@@ -1,11 +1,11 @@
import 'package:flutter/material.dart';
import 'package:home_widget/home_widget.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/core/logger.dart';
import 'package:kagi_bang_bang/core/providers.dart';
import 'package:kagi_bang_bang/features/search_browser/domain/services/session.dart';
import 'package:kagi_bang_bang/features/settings/data/repositories/settings_repository.dart';
import 'package:kagi_bang_bang/presentation/hooks/on_initialization.dart';
import 'package:bang_navigator/core/logger.dart';
import 'package:bang_navigator/core/providers.dart';
import 'package:bang_navigator/features/search_browser/domain/services/session.dart';
import 'package:bang_navigator/features/settings/data/repositories/settings_repository.dart';
import 'package:bang_navigator/presentation/hooks/on_initialization.dart';
class _ErrorObserver extends ProviderObserver {
const _ErrorObserver();
@@ -24,7 +24,7 @@ class _ErrorObserver extends ProviderObserver {
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await HomeWidget.setAppGroupId('BANG_BANG');
await HomeWidget.setAppGroupId('bang_navigator');
// if (!kIsWeb && defaultTargetPlatform == TargetPlatform.android) {
// await InAppWebViewController.setWebContentsDebuggingEnabled(kDebugMode);
@@ -1,5 +1,5 @@
import 'package:kagi_bang_bang/domain/entities/web_page_info.dart';
import 'package:kagi_bang_bang/domain/services/generic_website.dart';
import 'package:bang_navigator/domain/entities/web_page_info.dart';
import 'package:bang_navigator/domain/services/generic_website.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'website_title.g.dart';
@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:kagi_bang_bang/features/web_view/presentation/widgets/favicon.dart';
import 'package:kagi_bang_bang/presentation/controllers/website_title.dart';
import 'package:kagi_bang_bang/presentation/widgets/failure_widget.dart';
import 'package:bang_navigator/features/web_view/presentation/widgets/favicon.dart';
import 'package:bang_navigator/presentation/controllers/website_title.dart';
import 'package:bang_navigator/presentation/widgets/failure_widget.dart';
import 'package:skeletonizer/skeletonizer.dart';
class WebsiteTitleTile extends HookConsumerWidget {
+2 -2
View File
@@ -4,10 +4,10 @@ project(runner LANGUAGES CXX)
# The name of the executable created for the application. Change this to change
# the on-disk name of your application.
set(BINARY_NAME "kagi_bang_bang")
set(BINARY_NAME "bang_navigator")
# The unique GTK application identifier for this application. See:
# https://wiki.gnome.org/HowDoI/ChooseApplicationID
set(APPLICATION_ID "me.movenext.kagi_bang_bang")
set(APPLICATION_ID "me.movenext.bang_navigator")
# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
# versions of CMake.
+2 -2
View File
@@ -40,11 +40,11 @@ static void my_application_activate(GApplication* application) {
if (use_header_bar) {
GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new());
gtk_widget_show(GTK_WIDGET(header_bar));
gtk_header_bar_set_title(header_bar, "kagi_bang_bang");
gtk_header_bar_set_title(header_bar, "bang_navigator");
gtk_header_bar_set_show_close_button(header_bar, TRUE);
gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));
} else {
gtk_window_set_title(window, "kagi_bang_bang");
gtk_window_set_title(window, "bang_navigator");
}
gtk_window_set_default_size(window, 1280, 720);
+9 -9
View File
@@ -64,7 +64,7 @@
331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };
33CC10ED2044A3C60003C045 /* kagi_bang_bang.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "kagi_bang_bang.app"; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10ED2044A3C60003C045 /* bang_navigator.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "bang_navigator.app"; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; };
33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
@@ -131,7 +131,7 @@
33CC10EE2044A3C60003C045 /* Products */ = {
isa = PBXGroup;
children = (
33CC10ED2044A3C60003C045 /* kagi_bang_bang.app */,
33CC10ED2044A3C60003C045 /* bang_navigator.app */,
331C80D5294CF71000263BE5 /* RunnerTests.xctest */,
);
name = Products;
@@ -217,7 +217,7 @@
);
name = Runner;
productName = Runner;
productReference = 33CC10ED2044A3C60003C045 /* kagi_bang_bang.app */;
productReference = 33CC10ED2044A3C60003C045 /* bang_navigator.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
@@ -385,10 +385,10 @@
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.kagiBangBang.RunnerTests;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.bangNavigator.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/kagi_bang_bang.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/kagi_bang_bang";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/bang_navigator.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/bang_navigator";
};
name = Debug;
};
@@ -399,10 +399,10 @@
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.kagiBangBang.RunnerTests;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.bangNavigator.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/kagi_bang_bang.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/kagi_bang_bang";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/bang_navigator.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/bang_navigator";
};
name = Release;
};
@@ -413,10 +413,10 @@
CURRENT_PROJECT_VERSION = 1;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.kagiBangBang.RunnerTests;
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.bangNavigator.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/kagi_bang_bang.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/kagi_bang_bang";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/bang_navigator.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/bang_navigator";
};
name = Profile;
};
@@ -15,7 +15,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "kagi_bang_bang.app"
BuildableName = "bang_navigator.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
@@ -31,7 +31,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "kagi_bang_bang.app"
BuildableName = "bang_navigator.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
@@ -65,7 +65,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "kagi_bang_bang.app"
BuildableName = "bang_navigator.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
@@ -82,7 +82,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "kagi_bang_bang.app"
BuildableName = "bang_navigator.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
+2 -2
View File
@@ -5,10 +5,10 @@
// 'flutter create' template.
// The application's name. By default this is also the title of the Flutter window.
PRODUCT_NAME = kagi_bang_bang
PRODUCT_NAME = bang_navigator
// The application's bundle identifier
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.kagiBangBang
PRODUCT_BUNDLE_IDENTIFIER = me.movenext.bangNavigator
// The copyright displayed in application information
PRODUCT_COPYRIGHT = Copyright © 2024 me.movenext. All rights reserved.
+8
View File
@@ -257,6 +257,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.3.6"
dependency_validator:
dependency: "direct dev"
description:
name: dependency_validator
sha256: f727a5627aa405965fab4aef4f468e50a9b632ba0737fd2f98c932fec6d712b9
url: "https://pub.dev"
source: hosted
version: "3.2.3"
exceptions:
dependency: "direct main"
description:
+6 -1
View File
@@ -1,4 +1,4 @@
name: kagi_bang_bang
name: bang_navigator
description: "A new Flutter project."
publish_to: 'none'
version: 0.1.0
@@ -41,6 +41,7 @@ dev_dependencies:
build_runner: ^2.4.9
copy_with_extension_gen: ^5.0.4
custom_lint: ^0.6.4
dependency_validator: ^3.2.3
fast_equatable_lint: ^0.3.0
flutter_launcher_icons: ^0.13.1
go_router_builder: ^2.4.1
@@ -50,3 +51,7 @@ dev_dependencies:
flutter:
uses-material-design: true
flutter_launcher_icons:
android: "launcher_icon"
image_path: "assets/icon/icon.png"
+2 -2
View File
@@ -23,13 +23,13 @@
<!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="kagi_bang_bang">
<meta name="apple-mobile-web-app-title" content="bang_navigator">
<link rel="apple-touch-icon" href="icons/Icon-192.png">
<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png"/>
<title>kagi_bang_bang</title>
<title>bang_navigator</title>
<link rel="manifest" href="manifest.json">
<script>
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "kagi_bang_bang",
"short_name": "kagi_bang_bang",
"name": "bang_navigator",
"short_name": "bang_navigator",
"start_url": ".",
"display": "standalone",
"background_color": "#0175C2",
+2 -2
View File
@@ -1,10 +1,10 @@
# Project-level configuration.
cmake_minimum_required(VERSION 3.14)
project(kagi_bang_bang LANGUAGES CXX)
project(bang_navigator LANGUAGES CXX)
# The name of the executable created for the application. Change this to change
# the on-disk name of your application.
set(BINARY_NAME "kagi_bang_bang")
set(BINARY_NAME "bang_navigator")
# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
# versions of CMake.
+4 -4
View File
@@ -90,12 +90,12 @@ BEGIN
BLOCK "040904e4"
BEGIN
VALUE "CompanyName", "me.movenext" "\0"
VALUE "FileDescription", "kagi_bang_bang" "\0"
VALUE "FileDescription", "bang_navigator" "\0"
VALUE "FileVersion", VERSION_AS_STRING "\0"
VALUE "InternalName", "kagi_bang_bang" "\0"
VALUE "InternalName", "bang_navigator" "\0"
VALUE "LegalCopyright", "Copyright (C) 2024 me.movenext. All rights reserved." "\0"
VALUE "OriginalFilename", "kagi_bang_bang.exe" "\0"
VALUE "ProductName", "kagi_bang_bang" "\0"
VALUE "OriginalFilename", "bang_navigator.exe" "\0"
VALUE "ProductName", "bang_navigator" "\0"
VALUE "ProductVersion", VERSION_AS_STRING "\0"
END
END
+1 -1
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"kagi_bang_bang", origin, size)) {
if (!window.Create(L"bang_navigator", origin, size)) {
return EXIT_FAILURE;
}
window.SetQuitOnClose(true);