replace the "Krow" with "KROW"
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<application
|
||||
android:label="Krow With Us Client"
|
||||
android:label="KROW With Us Client"
|
||||
android:name="${applicationName}"
|
||||
android:icon="@mipmap/launcher_icon">
|
||||
<activity
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Krow With Us Client</string>
|
||||
<string>KROW With Us Client</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>Krow With Us Client</string>
|
||||
<string>KROW With Us Client</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
|
||||
@@ -24,7 +24,7 @@ void main() async {
|
||||
await Firebase.initializeApp(
|
||||
options: kIsWeb ? DefaultFirebaseOptions.currentPlatform : null,
|
||||
);
|
||||
|
||||
|
||||
// Register global BLoC observer for centralized error logging
|
||||
Bloc.observer = CoreBlocObserver(
|
||||
logEvents: true,
|
||||
@@ -33,9 +33,13 @@ void main() async {
|
||||
|
||||
// Initialize session listener for Firebase Auth state changes
|
||||
DataConnectService.instance.initializeAuthListener(
|
||||
allowedRoles: <String>['CLIENT', 'BUSINESS', 'BOTH'], // Only allow users with CLIENT, BUSINESS, or BOTH roles
|
||||
allowedRoles: <String>[
|
||||
'CLIENT',
|
||||
'BUSINESS',
|
||||
'BOTH',
|
||||
], // Only allow users with CLIENT, BUSINESS, or BOTH roles
|
||||
);
|
||||
|
||||
|
||||
runApp(
|
||||
ModularApp(
|
||||
module: AppModule(),
|
||||
@@ -52,7 +56,10 @@ class AppModule extends Module {
|
||||
@override
|
||||
void routes(RouteManager r) {
|
||||
// Initial route points to the client authentication flow
|
||||
r.module(ClientPaths.root, module: client_authentication.ClientAuthenticationModule());
|
||||
r.module(
|
||||
ClientPaths.root,
|
||||
module: client_authentication.ClientAuthenticationModule(),
|
||||
);
|
||||
|
||||
// Client main shell with bottom navigation (includes home as a child)
|
||||
r.module(ClientPaths.main, module: client_main.ClientMainModule());
|
||||
@@ -95,7 +102,7 @@ class AppWidget extends StatelessWidget {
|
||||
return core_localization.TranslationProvider(
|
||||
child: MaterialApp.router(
|
||||
debugShowCheckedModeBanner: false,
|
||||
title: "Krow Client",
|
||||
title: "KROW Client",
|
||||
theme: UiTheme.light,
|
||||
routerConfig: Modular.routerConfig,
|
||||
locale: state.locale,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: krowwithus_client
|
||||
description: "Krow Client Application"
|
||||
description: "KROW Client Application"
|
||||
publish_to: "none"
|
||||
version: 0.0.1-IlianaClientM3
|
||||
resolution: workspace
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Krow Design System Viewer</string>
|
||||
<string>KROW Design System Viewer</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<application
|
||||
android:label="Krow With Us Staff"
|
||||
android:label="KROW With Us Staff"
|
||||
android:name="${applicationName}"
|
||||
android:icon="@mipmap/launcher_icon">
|
||||
<activity
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Krow With Us Staff</string>
|
||||
<string>KROW With Us Staff</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>Krow With Us Staff</string>
|
||||
<string>KROW With Us Staff</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: krowwithus_staff
|
||||
description: "Krow Staff Application"
|
||||
description: "KROW Staff Application"
|
||||
publish_to: 'none'
|
||||
version: 0.0.1-IlianaStaffM3
|
||||
resolution: workspace
|
||||
|
||||
@@ -272,7 +272,7 @@ extension StaffNavigator on IModularNavigator {
|
||||
// ADDITIONAL FEATURES
|
||||
// ==========================================================================
|
||||
|
||||
/// Pushes the Krow University page (placeholder).
|
||||
/// Pushes the KROW University page (placeholder).
|
||||
///
|
||||
/// Access training materials and educational courses.
|
||||
void toKrowUniversity() {
|
||||
|
||||
@@ -211,7 +211,7 @@ class StaffPaths {
|
||||
// ADDITIONAL FEATURES (Placeholders)
|
||||
// ==========================================================================
|
||||
|
||||
/// Krow University - training and education (placeholder).
|
||||
/// KROW University - training and education (placeholder).
|
||||
///
|
||||
/// Access to training materials and courses.
|
||||
static const String krowUniversity = '/krow-university';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:krow_core/src/services/api_service/inspectors/auth_interceptor.dart';
|
||||
|
||||
/// A custom Dio client for the Krow project that includes basic configuration
|
||||
/// A custom Dio client for the KROW project that includes basic configuration
|
||||
/// and an [AuthInterceptor].
|
||||
class DioClient extends DioMixin implements Dio {
|
||||
DioClient([BaseOptions? baseOptions]) {
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
},
|
||||
"sign_up_page": {
|
||||
"title": "Create Account",
|
||||
"subtitle": "Get started with Krow for your business",
|
||||
"subtitle": "Get started with KROW for your business",
|
||||
"company_label": "Company Name",
|
||||
"company_hint": "Enter company name",
|
||||
"email_label": "Email",
|
||||
@@ -544,7 +544,7 @@
|
||||
"home": {
|
||||
"header": {
|
||||
"welcome_back": "Welcome back",
|
||||
"user_name_placeholder": "Krower"
|
||||
"user_name_placeholder": "KROWER"
|
||||
},
|
||||
"banners": {
|
||||
"complete_profile_title": "Complete Your Profile",
|
||||
@@ -628,17 +628,17 @@
|
||||
"page": "/krow-university"
|
||||
},
|
||||
"podcast": {
|
||||
"title": "Krow Podcast",
|
||||
"title": "KROW Podcast",
|
||||
"description": "Listen to tips from top workers.",
|
||||
"page": "/krow-university"
|
||||
}
|
||||
}
|
||||
},
|
||||
"more_ways": {
|
||||
"title": "More Ways To Use Krow",
|
||||
"title": "More Ways To Use KROW",
|
||||
"items": {
|
||||
"benefits": {
|
||||
"title": "Krow Benefits",
|
||||
"title": "KROW Benefits",
|
||||
"page": "/benefits"
|
||||
},
|
||||
"refer": {
|
||||
@@ -684,7 +684,7 @@
|
||||
"documents": "Documents",
|
||||
"certificates": "Certificates",
|
||||
"tax_forms": "Tax Forms",
|
||||
"krow_university": "Krow University",
|
||||
"krow_university": "KROW University",
|
||||
"trainings": "Trainings",
|
||||
"leaderboard": "Leaderboard",
|
||||
"bank_account": "Bank Account",
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
},
|
||||
"sign_up_page": {
|
||||
"title": "Crear cuenta",
|
||||
"subtitle": "Comienza con Krow para tu negocio",
|
||||
"subtitle": "Comienza con KROW para tu negocio",
|
||||
"company_label": "Nombre de la empresa",
|
||||
"company_hint": "Ingresa el nombre de la empresa",
|
||||
"email_label": "Correo electr\u00f3nico",
|
||||
@@ -544,7 +544,7 @@
|
||||
"home": {
|
||||
"header": {
|
||||
"welcome_back": "Bienvenido de nuevo",
|
||||
"user_name_placeholder": "Krower"
|
||||
"user_name_placeholder": "KROWER"
|
||||
},
|
||||
"banners": {
|
||||
"complete_profile_title": "Completa tu Perfil",
|
||||
@@ -628,17 +628,17 @@
|
||||
"page": "/krow-university"
|
||||
},
|
||||
"podcast": {
|
||||
"title": "Podcast de Krow",
|
||||
"title": "Podcast de KROW",
|
||||
"description": "Escucha consejos de los mejores trabajadores.",
|
||||
"page": "/krow-university"
|
||||
}
|
||||
}
|
||||
},
|
||||
"more_ways": {
|
||||
"title": "M\u00e1s Formas de Usar Krow",
|
||||
"title": "M\u00e1s Formas de Usar KROW",
|
||||
"items": {
|
||||
"benefits": {
|
||||
"title": "Beneficios de Krow",
|
||||
"title": "Beneficios de KROW",
|
||||
"page": "/benefits"
|
||||
},
|
||||
"refer": {
|
||||
@@ -684,7 +684,7 @@
|
||||
"documents": "Documentos",
|
||||
"certificates": "Certificados",
|
||||
"tax_forms": "Formularios Fiscales",
|
||||
"krow_university": "Krow University",
|
||||
"krow_university": "KROW University",
|
||||
"trainings": "Capacitaciones",
|
||||
"leaderboard": "Tabla de Clasificaci\u00f3n",
|
||||
"bank_account": "Cuenta Bancaria",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:design_system/design_system.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
/// A custom AppBar for the Krow UI design system.
|
||||
/// A custom AppBar for the KROW UI design system.
|
||||
///
|
||||
/// This widget provides a consistent look and feel for top app bars across the application.
|
||||
class UiAppBar extends StatelessWidget implements PreferredSizeWidget {
|
||||
|
||||
@@ -4,11 +4,10 @@ import '../ui_typography.dart';
|
||||
import '../ui_constants.dart';
|
||||
import '../ui_colors.dart';
|
||||
|
||||
/// A custom TextField for the Krow UI design system.
|
||||
/// A custom TextField for the KROW UI design system.
|
||||
///
|
||||
/// This widget combines a label and a [TextField] with consistent styling.
|
||||
class UiTextField extends StatelessWidget {
|
||||
|
||||
const UiTextField({
|
||||
super.key,
|
||||
this.semanticsIdentifier,
|
||||
@@ -30,8 +29,10 @@ class UiTextField extends StatelessWidget {
|
||||
this.onTap,
|
||||
this.validator,
|
||||
});
|
||||
|
||||
/// Optional semantics identifier for E2E testing (e.g. Maestro).
|
||||
final String? semanticsIdentifier;
|
||||
|
||||
/// The label text to display above the text field.
|
||||
final String? label;
|
||||
|
||||
@@ -96,34 +97,31 @@ class UiTextField extends StatelessWidget {
|
||||
Builder(
|
||||
builder: (BuildContext context) {
|
||||
final Widget field = TextFormField(
|
||||
controller: controller,
|
||||
onChanged: onChanged,
|
||||
keyboardType: keyboardType,
|
||||
maxLines: maxLines,
|
||||
obscureText: obscureText,
|
||||
textInputAction: textInputAction,
|
||||
onFieldSubmitted: onSubmitted,
|
||||
autofocus: autofocus,
|
||||
inputFormatters: inputFormatters,
|
||||
readOnly: readOnly,
|
||||
onTap: onTap,
|
||||
validator: validator,
|
||||
style: UiTypography.body1r.textPrimary,
|
||||
decoration: InputDecoration(
|
||||
hintText: hintText,
|
||||
prefixIcon: prefixIcon != null
|
||||
? Icon(prefixIcon, size: 20, color: UiColors.iconSecondary)
|
||||
: null,
|
||||
suffixIcon: suffixIcon != null
|
||||
? Icon(suffixIcon, size: 20, color: UiColors.iconSecondary)
|
||||
: suffix,
|
||||
),
|
||||
);
|
||||
controller: controller,
|
||||
onChanged: onChanged,
|
||||
keyboardType: keyboardType,
|
||||
maxLines: maxLines,
|
||||
obscureText: obscureText,
|
||||
textInputAction: textInputAction,
|
||||
onFieldSubmitted: onSubmitted,
|
||||
autofocus: autofocus,
|
||||
inputFormatters: inputFormatters,
|
||||
readOnly: readOnly,
|
||||
onTap: onTap,
|
||||
validator: validator,
|
||||
style: UiTypography.body1r.textPrimary,
|
||||
decoration: InputDecoration(
|
||||
hintText: hintText,
|
||||
prefixIcon: prefixIcon != null
|
||||
? Icon(prefixIcon, size: 20, color: UiColors.iconSecondary)
|
||||
: null,
|
||||
suffixIcon: suffixIcon != null
|
||||
? Icon(suffixIcon, size: 20, color: UiColors.iconSecondary)
|
||||
: suffix,
|
||||
),
|
||||
);
|
||||
if (semanticsIdentifier != null) {
|
||||
return Semantics(
|
||||
identifier: semanticsIdentifier!,
|
||||
child: field,
|
||||
);
|
||||
return Semantics(identifier: semanticsIdentifier!, child: field);
|
||||
}
|
||||
return field;
|
||||
},
|
||||
|
||||
@@ -21,7 +21,7 @@ import '../../domain/repositories/auth_repository_interface.dart';
|
||||
/// Production-ready implementation of the [AuthRepositoryInterface] for the client app.
|
||||
///
|
||||
/// This implementation integrates with Firebase Authentication for user
|
||||
/// identity management and Krow's Data Connect SDK for storing user profile data.
|
||||
/// identity management and KROW's Data Connect SDK for storing user profile data.
|
||||
class AuthRepositoryImpl implements AuthRepositoryInterface {
|
||||
/// Creates an [AuthRepositoryImpl] with the real dependencies.
|
||||
AuthRepositoryImpl({dc.DataConnectService? service})
|
||||
|
||||
Binary file not shown.
@@ -5,7 +5,7 @@ import '../widgets/create_order/create_order_view.dart';
|
||||
/// Main entry page for the client create order flow.
|
||||
///
|
||||
/// This page displays the [CreateOrderView].
|
||||
/// It follows the Krow Clean Architecture by being a [StatelessWidget] and
|
||||
/// It follows the KROW Clean Architecture by being a [StatelessWidget] and
|
||||
/// delegating its UI to other components.
|
||||
class ClientCreateOrderPage extends StatelessWidget {
|
||||
/// Creates a [ClientCreateOrderPage].
|
||||
|
||||
@@ -12,7 +12,7 @@ import '../blocs/one_time_order/one_time_order_state.dart';
|
||||
/// Users can specify the date, location, and multiple staff positions required.
|
||||
///
|
||||
/// This page initializes the [OneTimeOrderBloc] and displays the [OneTimeOrderView]
|
||||
/// from the common orders package. It follows the Krow Clean Architecture by being
|
||||
/// from the common orders package. It follows the KROW Clean Architecture by being
|
||||
/// a [StatelessWidget] and mapping local BLoC state to generic UI models.
|
||||
class OneTimeOrderPage extends StatelessWidget {
|
||||
/// Creates a [OneTimeOrderPage].
|
||||
@@ -70,10 +70,8 @@ class OneTimeOrderPage extends StatelessWidget {
|
||||
bloc.add(const OneTimeOrderHubManagerChanged(null));
|
||||
return;
|
||||
}
|
||||
final OneTimeOrderManagerOption original =
|
||||
state.managers.firstWhere(
|
||||
(OneTimeOrderManagerOption m) => m.id == val.id,
|
||||
);
|
||||
final OneTimeOrderManagerOption original = state.managers
|
||||
.firstWhere((OneTimeOrderManagerOption m) => m.id == val.id);
|
||||
bloc.add(OneTimeOrderHubManagerChanged(original));
|
||||
},
|
||||
onPositionAdded: () => bloc.add(const OneTimeOrderPositionAdded()),
|
||||
@@ -150,4 +148,3 @@ class OneTimeOrderPage extends StatelessWidget {
|
||||
return OrderManagerUiModel(id: manager.id, name: manager.name);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import '../widgets/rapid_order/rapid_order_view.dart';
|
||||
/// Features voice recognition simulation and quick example selection.
|
||||
///
|
||||
/// This page initializes the [RapidOrderBloc] and displays the [RapidOrderView].
|
||||
/// It follows the Krow Clean Architecture by being a [StatelessWidget] and
|
||||
/// It follows the KROW Clean Architecture by being a [StatelessWidget] and
|
||||
/// delegating its state and UI to other components.
|
||||
class RapidOrderPage extends StatelessWidget {
|
||||
/// Creates a [RapidOrderPage].
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_modular/flutter_modular.dart';
|
||||
import 'package:core_localization/core_localization.dart';
|
||||
|
||||
/// Widget for displaying more ways to use Krow, using design system tokens.
|
||||
/// Widget for displaying more ways to use KROW, using design system tokens.
|
||||
class MoreWaysToUseKrowWidget extends StatelessWidget {
|
||||
/// Creates a [MoreWaysToUseKrowWidget].
|
||||
const MoreWaysToUseKrowWidget({super.key});
|
||||
@@ -15,13 +15,15 @@ class MoreWaysToUseKrowWidget extends StatelessWidget {
|
||||
{
|
||||
'id': 'benefits',
|
||||
'title': i18n.items.benefits.title,
|
||||
'image': 'https://images.unsplash.com/photo-1481627834876-b7833e8f5570?w=400&h=300&fit=crop',
|
||||
'image':
|
||||
'https://images.unsplash.com/photo-1481627834876-b7833e8f5570?w=400&h=300&fit=crop',
|
||||
'page': i18n.items.benefits.page,
|
||||
},
|
||||
{
|
||||
'id': 'refer',
|
||||
'title': i18n.items.refer.title,
|
||||
'image': 'https://images.unsplash.com/photo-1529156069898-49953e39b3ac?w=400&h=300&fit=crop',
|
||||
'image':
|
||||
'https://images.unsplash.com/photo-1529156069898-49953e39b3ac?w=400&h=300&fit=crop',
|
||||
'page': i18n.items.refer.page,
|
||||
},
|
||||
];
|
||||
@@ -29,10 +31,7 @@ class MoreWaysToUseKrowWidget extends StatelessWidget {
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
i18n.title,
|
||||
style: UiTypography.title1m.textPrimary,
|
||||
),
|
||||
Text(i18n.title, style: UiTypography.title1m.textPrimary),
|
||||
const SizedBox(height: UiConstants.space3),
|
||||
SingleChildScrollView(
|
||||
scrollDirection: Axis.horizontal,
|
||||
@@ -75,10 +74,7 @@ class MoreWaysToUseKrowWidget extends StatelessWidget {
|
||||
fit: BoxFit.cover,
|
||||
errorBuilder: (context, error, stackTrace) => Container(
|
||||
color: UiColors.background,
|
||||
child: Icon(
|
||||
UiIcons.zap,
|
||||
color: UiColors.mutedForeground,
|
||||
),
|
||||
child: Icon(UiIcons.zap, color: UiColors.mutedForeground),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -4,7 +4,7 @@ Effective Date: February 18, 2026
|
||||
|
||||
1. INTRODUCTION
|
||||
|
||||
Krow Workforce ("we," "us," "our," or "the App") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and otherwise process your personal information through our mobile application and related services.
|
||||
KROW Workforce ("we," "us," "our," or "the App") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and otherwise process your personal information through our mobile application and related services.
|
||||
|
||||
2. INFORMATION WE COLLECT
|
||||
|
||||
@@ -107,7 +107,7 @@ We may update this Privacy Policy from time to time. We will notify you of signi
|
||||
If you have questions about this Privacy Policy or your personal information, please contact us at:
|
||||
|
||||
Email: privacy@krow.com
|
||||
Address: Krow Workforce, [Company Address]
|
||||
Address: KROW Workforce, [Company Address]
|
||||
Phone: [Support Phone Number]
|
||||
|
||||
14. CALIFORNIA PRIVACY RIGHTS (CCPA)
|
||||
|
||||
@@ -4,11 +4,11 @@ Effective Date: February 18, 2026
|
||||
|
||||
1. ACCEPTANCE OF TERMS
|
||||
|
||||
By accessing and using the Krow Workforce application ("the App"), you accept and agree to be bound by the terms and provisions of this agreement. If you do not agree to abide by the above, please do not use this service.
|
||||
By accessing and using the KROW Workforce application ("the App"), you accept and agree to be bound by the terms and provisions of this agreement. If you do not agree to abide by the above, please do not use this service.
|
||||
|
||||
2. USE LICENSE
|
||||
|
||||
Permission is granted to temporarily download one copy of the materials (information or software) on Krow Workforce's App for personal, non-commercial transitory viewing only. This is the grant of a license, not a transfer of title, and under this license you may not:
|
||||
Permission is granted to temporarily download one copy of the materials (information or software) on KROW Workforce's App for personal, non-commercial transitory viewing only. This is the grant of a license, not a transfer of title, and under this license you may not:
|
||||
|
||||
a) Modifying or copying the materials
|
||||
b) Using the materials for any commercial purpose or for any public display
|
||||
@@ -18,43 +18,43 @@ e) Transferring the materials to another person or "mirroring" the materials on
|
||||
|
||||
3. DISCLAIMER
|
||||
|
||||
The materials on Krow Workforce's App are provided on an "as is" basis. Krow Workforce makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights.
|
||||
The materials on KROW Workforce's App are provided on an "as is" basis. KROW Workforce makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights.
|
||||
|
||||
4. LIMITATIONS
|
||||
|
||||
In no event shall Krow Workforce or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on Krow Workforce's App, even if Krow Workforce or a Krow Workforce authorized representative has been notified orally or in writing of the possibility of such damage.
|
||||
In no event shall KROW Workforce or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on KROW Workforce's App, even if KROW Workforce or a KROW Workforce authorized representative has been notified orally or in writing of the possibility of such damage.
|
||||
|
||||
5. ACCURACY OF MATERIALS
|
||||
|
||||
The materials appearing on Krow Workforce's App could include technical, typographical, or photographic errors. Krow Workforce does not warrant that any of the materials on its App are accurate, complete, or current. Krow Workforce may make changes to the materials contained on its App at any time without notice.
|
||||
The materials appearing on KROW Workforce's App could include technical, typographical, or photographic errors. KROW Workforce does not warrant that any of the materials on its App are accurate, complete, or current. KROW Workforce may make changes to the materials contained on its App at any time without notice.
|
||||
|
||||
6. MATERIALS DISCLAIMER
|
||||
|
||||
Krow Workforce has not reviewed all of the sites linked to its App and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by Krow Workforce of the site. Use of any such linked website is at the user's own risk.
|
||||
KROW Workforce has not reviewed all of the sites linked to its App and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by KROW Workforce of the site. Use of any such linked website is at the user's own risk.
|
||||
|
||||
7. MODIFICATIONS
|
||||
|
||||
Krow Workforce may revise these terms of service for its App at any time without notice. By using this App, you are agreeing to be bound by the then current version of these terms of service.
|
||||
KROW Workforce may revise these terms of service for its App at any time without notice. By using this App, you are agreeing to be bound by the then current version of these terms of service.
|
||||
|
||||
8. GOVERNING LAW
|
||||
|
||||
These terms and conditions are governed by and construed in accordance with the laws of the jurisdiction in which Krow Workforce is located, and you irrevocably submit to the exclusive jurisdiction of the courts in that location.
|
||||
These terms and conditions are governed by and construed in accordance with the laws of the jurisdiction in which KROW Workforce is located, and you irrevocably submit to the exclusive jurisdiction of the courts in that location.
|
||||
|
||||
9. LIMITATION OF LIABILITY
|
||||
|
||||
In no case shall Krow Workforce, its staff, or other contributors be liable for any indirect, incidental, consequential, special, or punitive damages arising out of or relating to the use of the App.
|
||||
In no case shall KROW Workforce, its staff, or other contributors be liable for any indirect, incidental, consequential, special, or punitive damages arising out of or relating to the use of the App.
|
||||
|
||||
10. USER CONTENT
|
||||
|
||||
You grant Krow Workforce a non-exclusive, royalty-free, perpetual, and irrevocable right to use any content you provide to us, including but not limited to text, images, and information, in any media or format and for any purpose consistent with our business.
|
||||
You grant KROW Workforce a non-exclusive, royalty-free, perpetual, and irrevocable right to use any content you provide to us, including but not limited to text, images, and information, in any media or format and for any purpose consistent with our business.
|
||||
|
||||
11. INDEMNIFICATION
|
||||
|
||||
You agree to indemnify and hold harmless Krow Workforce and its staff from any and all claims, damages, losses, costs, and expenses, including attorney's fees, arising out of or resulting from your use of the App or violation of these terms.
|
||||
You agree to indemnify and hold harmless KROW Workforce and its staff from any and all claims, damages, losses, costs, and expenses, including attorney's fees, arising out of or resulting from your use of the App or violation of these terms.
|
||||
|
||||
12. TERMINATION
|
||||
|
||||
Krow Workforce reserves the right to terminate your account and access to the App at any time, in its sole discretion, for any reason or no reason, with or without notice.
|
||||
KROW Workforce reserves the right to terminate your account and access to the App at any time, in its sole discretion, for any reason or no reason, with or without notice.
|
||||
|
||||
13. CONTACT INFORMATION
|
||||
|
||||
|
||||
Reference in New Issue
Block a user