Rename project to nomadcode-app

This commit is contained in:
toki 2026-05-19 09:31:32 +09:00
parent 9c73c41847
commit 1eff82483b
21 changed files with 56 additions and 61 deletions

View file

@ -2,8 +2,8 @@
<project version="4"> <project version="4">
<component name="ProjectModuleManager"> <component name="ProjectModuleManager">
<modules> <modules>
<module fileurl="file://$PROJECT_DIR$/nomadcode.iml" filepath="$PROJECT_DIR$/nomadcode.iml" /> <module fileurl="file://$PROJECT_DIR$/nomadcode_app.iml" filepath="$PROJECT_DIR$/nomadcode_app.iml" />
<module fileurl="file://$PROJECT_DIR$/android/nomadcode_android.iml" filepath="$PROJECT_DIR$/android/nomadcode_android.iml" /> <module fileurl="file://$PROJECT_DIR$/android/nomadcode_app_android.iml" filepath="$PROJECT_DIR$/android/nomadcode_app_android.iml" />
</modules> </modules>
</component> </component>
</project> </project>

View file

@ -1,6 +1,6 @@
# nomadcode # nomadcode-app
A new Flutter project. nomadcode-app Flutter project.
## Getting Started ## Getting Started

View file

@ -6,7 +6,7 @@
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<application <application
android:label="NomadCode" android:label="nomadcode-app"
android:name=".MainApplication" android:name=".MainApplication"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"> android:roundIcon="@mipmap/ic_launcher_round">

View file

@ -7,7 +7,7 @@
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string> <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>Nomadcode</string> <string>nomadcode-app</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
@ -15,7 +15,7 @@
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>nomadcode</string> <string>nomadcode-app</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>

View file

@ -47,12 +47,12 @@ class MyApp extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(
title: 'NomadCode', title: 'nomadcode-app',
navigatorKey: _navigatorKey, navigatorKey: _navigatorKey,
theme: ThemeData( theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
), ),
home: const MyHomePage(title: 'NomadCode'), home: const MyHomePage(title: 'nomadcode-app'),
builder: (context, child) { builder: (context, child) {
_pushService.onNavigateToChannel = (serverUrl, channelId) { _pushService.onNavigateToChannel = (serverUrl, channelId) {
print('[Nav] Navigate to channel: $channelId on $serverUrl'); print('[Nav] Navigate to channel: $channelId on $serverUrl');
@ -113,7 +113,7 @@ class _MyHomePageState extends State<MyHomePage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
body: const Center( body: const Center(
child: Text('NomadCode'), child: Text('nomadcode-app'),
), ),
); );
} }

View file

@ -1,4 +1,5 @@
import 'dart:convert'; import 'dart:convert';
import 'package:flutter/foundation.dart' show FlutterError;
import 'package:flutter/services.dart' show rootBundle; import 'package:flutter/services.dart' show rootBundle;
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'push_notification_service.dart'; import 'push_notification_service.dart';
@ -20,6 +21,10 @@ class MattermostAuthService {
/// assets/mattermost_credentials.json FCM . /// assets/mattermost_credentials.json FCM .
Future<void> autoLoginAndRegister() async { Future<void> autoLoginAndRegister() async {
final creds = await _loadCredentials(); final creds = await _loadCredentials();
if (creds == null) {
print('[MattermostAuth] Credentials asset not found, skipping auto login.');
return;
}
_serverUrl = creds['serverUrl']!; _serverUrl = creds['serverUrl']!;
print('[MattermostAuth] Logging in to $_serverUrl ...'); print('[MattermostAuth] Logging in to $_serverUrl ...');
@ -43,9 +48,13 @@ class MattermostAuthService {
print('[MattermostAuth] Auto login & FCM registration complete.'); print('[MattermostAuth] Auto login & FCM registration complete.');
} }
Future<Map<String, String>> _loadCredentials() async { Future<Map<String, String>?> _loadCredentials() async {
final jsonStr = final String jsonStr;
await rootBundle.loadString('assets/mattermost_credentials.json'); try {
jsonStr = await rootBundle.loadString('assets/mattermost_credentials.json');
} on FlutterError {
return null;
}
final map = json.decode(jsonStr) as Map<String, dynamic>; final map = json.decode(jsonStr) as Map<String, dynamic>;
return { return {
'serverUrl': map['serverUrl'] as String, 'serverUrl': map['serverUrl'] as String,

View file

@ -4,7 +4,7 @@ project(runner LANGUAGES CXX)
# The name of the executable created for the application. Change this to change # The name of the executable created for the application. Change this to change
# the on-disk name of your application. # the on-disk name of your application.
set(BINARY_NAME "nomadcode") set(BINARY_NAME "nomadcode-app")
# The unique GTK application identifier for this application. See: # The unique GTK application identifier for this application. See:
# https://wiki.gnome.org/HowDoI/ChooseApplicationID # https://wiki.gnome.org/HowDoI/ChooseApplicationID
set(APPLICATION_ID "com.nomadcode.nomadcode") set(APPLICATION_ID "com.nomadcode.nomadcode")

View file

@ -45,11 +45,11 @@ static void my_application_activate(GApplication* application) {
if (use_header_bar) { if (use_header_bar) {
GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new());
gtk_widget_show(GTK_WIDGET(header_bar)); gtk_widget_show(GTK_WIDGET(header_bar));
gtk_header_bar_set_title(header_bar, "nomadcode"); gtk_header_bar_set_title(header_bar, "nomadcode-app");
gtk_header_bar_set_show_close_button(header_bar, TRUE); gtk_header_bar_set_show_close_button(header_bar, TRUE);
gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); gtk_window_set_titlebar(window, GTK_WIDGET(header_bar));
} else { } else {
gtk_window_set_title(window, "nomadcode"); gtk_window_set_title(window, "nomadcode-app");
} }
gtk_window_set_default_size(window, 1280, 720); gtk_window_set_default_size(window, 1280, 720);

View file

@ -64,7 +64,7 @@
331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; }; 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>"; }; 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>"; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };
33CC10ED2044A3C60003C045 /* nomadcode.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "nomadcode.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 33CC10ED2044A3C60003C045 /* nomadcode-app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "nomadcode-app.app"; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 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>"; }; 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>"; }; 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
@ -131,7 +131,7 @@
33CC10EE2044A3C60003C045 /* Products */ = { 33CC10EE2044A3C60003C045 /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
33CC10ED2044A3C60003C045 /* nomadcode.app */, 33CC10ED2044A3C60003C045 /* nomadcode-app.app */,
331C80D5294CF71000263BE5 /* RunnerTests.xctest */, 331C80D5294CF71000263BE5 /* RunnerTests.xctest */,
); );
name = Products; name = Products;
@ -217,7 +217,7 @@
); );
name = Runner; name = Runner;
productName = Runner; productName = Runner;
productReference = 33CC10ED2044A3C60003C045 /* nomadcode.app */; productReference = 33CC10ED2044A3C60003C045 /* nomadcode-app.app */;
productType = "com.apple.product-type.application"; productType = "com.apple.product-type.application";
}; };
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
@ -388,7 +388,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.nomadcode.nomadcode.RunnerTests; PRODUCT_BUNDLE_IDENTIFIER = com.nomadcode.nomadcode.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/nomadcode.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/nomadcode"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/nomadcode-app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/nomadcode-app";
}; };
name = Debug; name = Debug;
}; };
@ -402,7 +402,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.nomadcode.nomadcode.RunnerTests; PRODUCT_BUNDLE_IDENTIFIER = com.nomadcode.nomadcode.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/nomadcode.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/nomadcode"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/nomadcode-app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/nomadcode-app";
}; };
name = Release; name = Release;
}; };
@ -416,7 +416,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.nomadcode.nomadcode.RunnerTests; PRODUCT_BUNDLE_IDENTIFIER = com.nomadcode.nomadcode.RunnerTests;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/nomadcode.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/nomadcode"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/nomadcode-app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/nomadcode-app";
}; };
name = Profile; name = Profile;
}; };

View file

@ -15,7 +15,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045" BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "nomadcode.app" BuildableName = "nomadcode-app.app"
BlueprintName = "Runner" BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj"> ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference> </BuildableReference>
@ -31,7 +31,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045" BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "nomadcode.app" BuildableName = "nomadcode-app.app"
BlueprintName = "Runner" BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj"> ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference> </BuildableReference>
@ -66,7 +66,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045" BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "nomadcode.app" BuildableName = "nomadcode-app.app"
BlueprintName = "Runner" BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj"> ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference> </BuildableReference>
@ -83,7 +83,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045" BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "nomadcode.app" BuildableName = "nomadcode-app.app"
BlueprintName = "Runner" BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj"> ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference> </BuildableReference>

View file

@ -5,7 +5,7 @@
// 'flutter create' template. // 'flutter create' template.
// The application's name. By default this is also the title of the Flutter window. // The application's name. By default this is also the title of the Flutter window.
PRODUCT_NAME = nomadcode PRODUCT_NAME = nomadcode-app
// The application's bundle identifier // The application's bundle identifier
PRODUCT_BUNDLE_IDENTIFIER = com.nomadcode.nomadcode PRODUCT_BUNDLE_IDENTIFIER = com.nomadcode.nomadcode

View file

@ -1,5 +1,6 @@
name: nomadcode name: nomadcode_app
description: "A new Flutter project." description: "nomadcode-app Flutter project."
repository: https://git.toki-labs.com/toki/nomadcode-app.git
# The following line prevents the package from being accidentally published to # The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages. # pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev publish_to: 'none' # Remove this line if you wish to publish to pub.dev
@ -67,9 +68,6 @@ flutter:
# the material Icons class. # the material Icons class.
uses-material-design: true uses-material-design: true
assets:
- assets/mattermost_credentials.json
# An image asset can refer to one or more resolution-specific "variants", see # An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/to/resolution-aware-images # https://flutter.dev/to/resolution-aware-images

View file

@ -2,7 +2,7 @@
## 배경 ## 배경
mattermost-mobile(React Native) 프로젝트의 안드로이드 푸시 알림 시스템을 이 Flutter 프로젝트(nomadcode)로 마이그레이션한 작업 기록 및 잔여 TODO. mattermost-mobile(React Native) 프로젝트의 안드로이드 푸시 알림 시스템을 이 Flutter 프로젝트(nomadcode-app)로 마이그레이션한 작업 기록 및 잔여 TODO.
**패키지명:** `com.tokilabs.mattermost` (google-services.json과 일치) **패키지명:** `com.tokilabs.mattermost` (google-services.json과 일치)
**원본 참조:** `/config/workspace/mattermost-mobile` **원본 참조:** `/config/workspace/mattermost-mobile`

View file

@ -5,26 +5,14 @@
// gestures. You can also use WidgetTester to find child widgets in the widget // gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct. // tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:nomadcode/main.dart'; import 'package:nomadcode_app/main.dart';
void main() { void main() {
testWidgets('Counter increments smoke test', (WidgetTester tester) async { testWidgets('App renders project name', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(const MyApp()); await tester.pumpWidget(const MyApp());
// Verify that our counter starts at 0. expect(find.text('nomadcode-app'), findsOneWidget);
expect(find.text('0'), findsOneWidget);
expect(find.text('1'), findsNothing);
// Tap the '+' icon and trigger a frame.
await tester.tap(find.byIcon(Icons.add));
await tester.pump();
// Verify that our counter has incremented.
expect(find.text('0'), findsNothing);
expect(find.text('1'), findsOneWidget);
}); });
} }

View file

@ -18,18 +18,18 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="A new Flutter project."> <meta name="description" content="nomadcode-app Flutter project.">
<!-- iOS meta tags & icons --> <!-- iOS meta tags & icons -->
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="nomadcode"> <meta name="apple-mobile-web-app-title" content="nomadcode-app">
<link rel="apple-touch-icon" href="icons/Icon-192.png"> <link rel="apple-touch-icon" href="icons/Icon-192.png">
<!-- Favicon --> <!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png"/> <link rel="icon" type="image/png" href="favicon.png"/>
<title>nomadcode</title> <title>nomadcode-app</title>
<link rel="manifest" href="manifest.json"> <link rel="manifest" href="manifest.json">
</head> </head>
<body> <body>

View file

@ -1,11 +1,11 @@
{ {
"name": "nomadcode", "name": "nomadcode-app",
"short_name": "nomadcode", "short_name": "nomadcode-app",
"start_url": ".", "start_url": ".",
"display": "standalone", "display": "standalone",
"background_color": "#0175C2", "background_color": "#0175C2",
"theme_color": "#0175C2", "theme_color": "#0175C2",
"description": "A new Flutter project.", "description": "nomadcode-app Flutter project.",
"orientation": "portrait-primary", "orientation": "portrait-primary",
"prefer_related_applications": false, "prefer_related_applications": false,
"icons": [ "icons": [

View file

@ -1,10 +1,10 @@
# Project-level configuration. # Project-level configuration.
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
project(nomadcode LANGUAGES CXX) project(nomadcode_app LANGUAGES CXX)
# The name of the executable created for the application. Change this to change # The name of the executable created for the application. Change this to change
# the on-disk name of your application. # the on-disk name of your application.
set(BINARY_NAME "nomadcode") set(BINARY_NAME "nomadcode-app")
# Explicitly opt in to modern CMake behaviors to avoid warnings with recent # Explicitly opt in to modern CMake behaviors to avoid warnings with recent
# versions of CMake. # versions of CMake.

View file

@ -90,12 +90,12 @@ BEGIN
BLOCK "040904e4" BLOCK "040904e4"
BEGIN BEGIN
VALUE "CompanyName", "com.nomadcode" "\0" VALUE "CompanyName", "com.nomadcode" "\0"
VALUE "FileDescription", "nomadcode" "\0" VALUE "FileDescription", "nomadcode-app" "\0"
VALUE "FileVersion", VERSION_AS_STRING "\0" VALUE "FileVersion", VERSION_AS_STRING "\0"
VALUE "InternalName", "nomadcode" "\0" VALUE "InternalName", "nomadcode-app" "\0"
VALUE "LegalCopyright", "Copyright (C) 2026 com.nomadcode. All rights reserved." "\0" VALUE "LegalCopyright", "Copyright (C) 2026 com.nomadcode. All rights reserved." "\0"
VALUE "OriginalFilename", "nomadcode.exe" "\0" VALUE "OriginalFilename", "nomadcode-app.exe" "\0"
VALUE "ProductName", "nomadcode" "\0" VALUE "ProductName", "nomadcode-app" "\0"
VALUE "ProductVersion", VERSION_AS_STRING "\0" VALUE "ProductVersion", VERSION_AS_STRING "\0"
END END
END END

View file

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