Feature/migration
This commit is contained in:
485
.editorconfig
485
.editorconfig
@@ -1,485 +0,0 @@
|
|||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
charset = utf-8
|
|
||||||
end_of_line = crlf
|
|
||||||
indent_size = 4
|
|
||||||
indent_style = space
|
|
||||||
insert_final_newline = false
|
|
||||||
max_line_length = 120
|
|
||||||
tab_width = 4
|
|
||||||
ij_continuation_indent_size = 4
|
|
||||||
ij_formatter_off_tag = @formatter:off
|
|
||||||
ij_formatter_on_tag = @formatter:on
|
|
||||||
ij_formatter_tags_enabled = true
|
|
||||||
ij_smart_tabs = false
|
|
||||||
ij_visual_guides = none
|
|
||||||
ij_wrap_on_typing = false
|
|
||||||
|
|
||||||
[*.css]
|
|
||||||
ij_css_align_closing_brace_with_properties = false
|
|
||||||
ij_css_blank_lines_around_nested_selector = 1
|
|
||||||
ij_css_blank_lines_between_blocks = 1
|
|
||||||
ij_css_block_comment_add_space = false
|
|
||||||
ij_css_brace_placement = end_of_line
|
|
||||||
ij_css_enforce_quotes_on_format = false
|
|
||||||
ij_css_hex_color_long_format = false
|
|
||||||
ij_css_hex_color_lower_case = false
|
|
||||||
ij_css_hex_color_short_format = false
|
|
||||||
ij_css_hex_color_upper_case = false
|
|
||||||
ij_css_keep_blank_lines_in_code = 2
|
|
||||||
ij_css_keep_indents_on_empty_lines = false
|
|
||||||
ij_css_keep_single_line_blocks = false
|
|
||||||
ij_css_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow
|
|
||||||
ij_css_space_after_colon = true
|
|
||||||
ij_css_space_before_opening_brace = true
|
|
||||||
ij_css_use_double_quotes = true
|
|
||||||
ij_css_value_alignment = do_not_align
|
|
||||||
|
|
||||||
[*.sass]
|
|
||||||
indent_size = 2
|
|
||||||
ij_sass_align_closing_brace_with_properties = false
|
|
||||||
ij_sass_blank_lines_around_nested_selector = 1
|
|
||||||
ij_sass_blank_lines_between_blocks = 1
|
|
||||||
ij_sass_brace_placement = 0
|
|
||||||
ij_sass_enforce_quotes_on_format = false
|
|
||||||
ij_sass_hex_color_long_format = false
|
|
||||||
ij_sass_hex_color_lower_case = false
|
|
||||||
ij_sass_hex_color_short_format = false
|
|
||||||
ij_sass_hex_color_upper_case = false
|
|
||||||
ij_sass_keep_blank_lines_in_code = 2
|
|
||||||
ij_sass_keep_indents_on_empty_lines = false
|
|
||||||
ij_sass_keep_single_line_blocks = false
|
|
||||||
ij_sass_line_comment_add_space = false
|
|
||||||
ij_sass_line_comment_at_first_column = false
|
|
||||||
ij_sass_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow
|
|
||||||
ij_sass_space_after_colon = true
|
|
||||||
ij_sass_space_before_opening_brace = true
|
|
||||||
ij_sass_use_double_quotes = true
|
|
||||||
ij_sass_value_alignment = 0
|
|
||||||
|
|
||||||
[*.scss]
|
|
||||||
indent_size = 2
|
|
||||||
ij_scss_align_closing_brace_with_properties = false
|
|
||||||
ij_scss_blank_lines_around_nested_selector = 1
|
|
||||||
ij_scss_blank_lines_between_blocks = 1
|
|
||||||
ij_scss_block_comment_add_space = false
|
|
||||||
ij_scss_brace_placement = 0
|
|
||||||
ij_scss_enforce_quotes_on_format = false
|
|
||||||
ij_scss_hex_color_long_format = false
|
|
||||||
ij_scss_hex_color_lower_case = false
|
|
||||||
ij_scss_hex_color_short_format = false
|
|
||||||
ij_scss_hex_color_upper_case = false
|
|
||||||
ij_scss_keep_blank_lines_in_code = 2
|
|
||||||
ij_scss_keep_indents_on_empty_lines = false
|
|
||||||
ij_scss_keep_single_line_blocks = false
|
|
||||||
ij_scss_line_comment_add_space = false
|
|
||||||
ij_scss_line_comment_at_first_column = false
|
|
||||||
ij_scss_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow
|
|
||||||
ij_scss_space_after_colon = true
|
|
||||||
ij_scss_space_before_opening_brace = true
|
|
||||||
ij_scss_use_double_quotes = true
|
|
||||||
ij_scss_value_alignment = 0
|
|
||||||
|
|
||||||
[{*.ats,*.cts,*.mts,*.ts}]
|
|
||||||
ij_continuation_indent_size = 4
|
|
||||||
ij_typescript_align_imports = false
|
|
||||||
ij_typescript_align_multiline_array_initializer_expression = false
|
|
||||||
ij_typescript_align_multiline_binary_operation = false
|
|
||||||
ij_typescript_align_multiline_chained_methods = false
|
|
||||||
ij_typescript_align_multiline_extends_list = false
|
|
||||||
ij_typescript_align_multiline_for = true
|
|
||||||
ij_typescript_align_multiline_parameters = true
|
|
||||||
ij_typescript_align_multiline_parameters_in_calls = false
|
|
||||||
ij_typescript_align_multiline_ternary_operation = false
|
|
||||||
ij_typescript_align_object_properties = 0
|
|
||||||
ij_typescript_align_union_types = false
|
|
||||||
ij_typescript_align_var_statements = 0
|
|
||||||
ij_typescript_array_initializer_new_line_after_left_brace = false
|
|
||||||
ij_typescript_array_initializer_right_brace_on_new_line = false
|
|
||||||
ij_typescript_array_initializer_wrap = off
|
|
||||||
ij_typescript_assignment_wrap = off
|
|
||||||
ij_typescript_binary_operation_sign_on_next_line = false
|
|
||||||
ij_typescript_binary_operation_wrap = off
|
|
||||||
ij_typescript_blacklist_imports = rxjs/Rx, node_modules/**, **/node_modules/**, @angular/material, @angular/material/typings/**
|
|
||||||
ij_typescript_blank_lines_after_imports = 1
|
|
||||||
ij_typescript_blank_lines_around_class = 1
|
|
||||||
ij_typescript_blank_lines_around_field = 0
|
|
||||||
ij_typescript_blank_lines_around_field_in_interface = 0
|
|
||||||
ij_typescript_blank_lines_around_function = 1
|
|
||||||
ij_typescript_blank_lines_around_method = 1
|
|
||||||
ij_typescript_blank_lines_around_method_in_interface = 1
|
|
||||||
ij_typescript_block_brace_style = end_of_line
|
|
||||||
ij_typescript_block_comment_add_space = false
|
|
||||||
ij_typescript_block_comment_at_first_column = true
|
|
||||||
ij_typescript_call_parameters_new_line_after_left_paren = false
|
|
||||||
ij_typescript_call_parameters_right_paren_on_new_line = false
|
|
||||||
ij_typescript_call_parameters_wrap = off
|
|
||||||
ij_typescript_catch_on_new_line = false
|
|
||||||
ij_typescript_chained_call_dot_on_new_line = true
|
|
||||||
ij_typescript_class_brace_style = end_of_line
|
|
||||||
ij_typescript_comma_on_new_line = false
|
|
||||||
ij_typescript_do_while_brace_force = never
|
|
||||||
ij_typescript_else_on_new_line = false
|
|
||||||
ij_typescript_enforce_trailing_comma = keep
|
|
||||||
ij_typescript_enum_constants_wrap = on_every_item
|
|
||||||
ij_typescript_extends_keyword_wrap = off
|
|
||||||
ij_typescript_extends_list_wrap = off
|
|
||||||
ij_typescript_field_prefix = _
|
|
||||||
ij_typescript_file_name_style = relaxed
|
|
||||||
ij_typescript_finally_on_new_line = false
|
|
||||||
ij_typescript_for_brace_force = never
|
|
||||||
ij_typescript_for_statement_new_line_after_left_paren = false
|
|
||||||
ij_typescript_for_statement_right_paren_on_new_line = false
|
|
||||||
ij_typescript_for_statement_wrap = off
|
|
||||||
ij_typescript_force_quote_style = false
|
|
||||||
ij_typescript_force_semicolon_style = false
|
|
||||||
ij_typescript_function_expression_brace_style = end_of_line
|
|
||||||
ij_typescript_if_brace_force = never
|
|
||||||
ij_typescript_import_merge_members = global
|
|
||||||
ij_typescript_import_prefer_absolute_path = global
|
|
||||||
ij_typescript_import_sort_members = true
|
|
||||||
ij_typescript_import_sort_module_name = false
|
|
||||||
ij_typescript_import_use_node_resolution = true
|
|
||||||
ij_typescript_imports_wrap = on_every_item
|
|
||||||
ij_typescript_indent_case_from_switch = true
|
|
||||||
ij_typescript_indent_chained_calls = true
|
|
||||||
ij_typescript_indent_package_children = 0
|
|
||||||
ij_typescript_jsdoc_include_types = false
|
|
||||||
ij_typescript_jsx_attribute_value = braces
|
|
||||||
ij_typescript_keep_blank_lines_in_code = 2
|
|
||||||
ij_typescript_keep_first_column_comment = true
|
|
||||||
ij_typescript_keep_indents_on_empty_lines = false
|
|
||||||
ij_typescript_keep_line_breaks = true
|
|
||||||
ij_typescript_keep_simple_blocks_in_one_line = false
|
|
||||||
ij_typescript_keep_simple_methods_in_one_line = false
|
|
||||||
ij_typescript_line_comment_add_space = true
|
|
||||||
ij_typescript_line_comment_at_first_column = false
|
|
||||||
ij_typescript_method_brace_style = end_of_line
|
|
||||||
ij_typescript_method_call_chain_wrap = off
|
|
||||||
ij_typescript_method_parameters_new_line_after_left_paren = false
|
|
||||||
ij_typescript_method_parameters_right_paren_on_new_line = false
|
|
||||||
ij_typescript_method_parameters_wrap = off
|
|
||||||
ij_typescript_object_literal_wrap = on_every_item
|
|
||||||
ij_typescript_object_types_wrap = on_every_item
|
|
||||||
ij_typescript_parentheses_expression_new_line_after_left_paren = false
|
|
||||||
ij_typescript_parentheses_expression_right_paren_on_new_line = false
|
|
||||||
ij_typescript_place_assignment_sign_on_next_line = false
|
|
||||||
ij_typescript_prefer_as_type_cast = false
|
|
||||||
ij_typescript_prefer_explicit_types_function_expression_returns = false
|
|
||||||
ij_typescript_prefer_explicit_types_function_returns = false
|
|
||||||
ij_typescript_prefer_explicit_types_vars_fields = false
|
|
||||||
ij_typescript_prefer_parameters_wrap = false
|
|
||||||
ij_typescript_reformat_c_style_comments = false
|
|
||||||
ij_typescript_space_after_colon = true
|
|
||||||
ij_typescript_space_after_comma = true
|
|
||||||
ij_typescript_space_after_dots_in_rest_parameter = false
|
|
||||||
ij_typescript_space_after_generator_mult = true
|
|
||||||
ij_typescript_space_after_property_colon = true
|
|
||||||
ij_typescript_space_after_quest = true
|
|
||||||
ij_typescript_space_after_type_colon = true
|
|
||||||
ij_typescript_space_after_unary_not = false
|
|
||||||
ij_typescript_space_before_async_arrow_lparen = true
|
|
||||||
ij_typescript_space_before_catch_keyword = true
|
|
||||||
ij_typescript_space_before_catch_left_brace = true
|
|
||||||
ij_typescript_space_before_catch_parentheses = true
|
|
||||||
ij_typescript_space_before_class_lbrace = true
|
|
||||||
ij_typescript_space_before_class_left_brace = true
|
|
||||||
ij_typescript_space_before_colon = true
|
|
||||||
ij_typescript_space_before_comma = false
|
|
||||||
ij_typescript_space_before_do_left_brace = true
|
|
||||||
ij_typescript_space_before_else_keyword = true
|
|
||||||
ij_typescript_space_before_else_left_brace = true
|
|
||||||
ij_typescript_space_before_finally_keyword = true
|
|
||||||
ij_typescript_space_before_finally_left_brace = true
|
|
||||||
ij_typescript_space_before_for_left_brace = true
|
|
||||||
ij_typescript_space_before_for_parentheses = true
|
|
||||||
ij_typescript_space_before_for_semicolon = false
|
|
||||||
ij_typescript_space_before_function_left_parenth = true
|
|
||||||
ij_typescript_space_before_generator_mult = false
|
|
||||||
ij_typescript_space_before_if_left_brace = true
|
|
||||||
ij_typescript_space_before_if_parentheses = true
|
|
||||||
ij_typescript_space_before_method_call_parentheses = false
|
|
||||||
ij_typescript_space_before_method_left_brace = true
|
|
||||||
ij_typescript_space_before_method_parentheses = false
|
|
||||||
ij_typescript_space_before_property_colon = false
|
|
||||||
ij_typescript_space_before_quest = true
|
|
||||||
ij_typescript_space_before_switch_left_brace = true
|
|
||||||
ij_typescript_space_before_switch_parentheses = true
|
|
||||||
ij_typescript_space_before_try_left_brace = true
|
|
||||||
ij_typescript_space_before_type_colon = false
|
|
||||||
ij_typescript_space_before_unary_not = false
|
|
||||||
ij_typescript_space_before_while_keyword = true
|
|
||||||
ij_typescript_space_before_while_left_brace = true
|
|
||||||
ij_typescript_space_before_while_parentheses = true
|
|
||||||
ij_typescript_spaces_around_additive_operators = true
|
|
||||||
ij_typescript_spaces_around_arrow_function_operator = true
|
|
||||||
ij_typescript_spaces_around_assignment_operators = true
|
|
||||||
ij_typescript_spaces_around_bitwise_operators = true
|
|
||||||
ij_typescript_spaces_around_equality_operators = true
|
|
||||||
ij_typescript_spaces_around_logical_operators = true
|
|
||||||
ij_typescript_spaces_around_multiplicative_operators = true
|
|
||||||
ij_typescript_spaces_around_relational_operators = true
|
|
||||||
ij_typescript_spaces_around_shift_operators = true
|
|
||||||
ij_typescript_spaces_around_unary_operator = false
|
|
||||||
ij_typescript_spaces_within_array_initializer_brackets = false
|
|
||||||
ij_typescript_spaces_within_brackets = false
|
|
||||||
ij_typescript_spaces_within_catch_parentheses = false
|
|
||||||
ij_typescript_spaces_within_for_parentheses = false
|
|
||||||
ij_typescript_spaces_within_if_parentheses = false
|
|
||||||
ij_typescript_spaces_within_imports = false
|
|
||||||
ij_typescript_spaces_within_interpolation_expressions = false
|
|
||||||
ij_typescript_spaces_within_method_call_parentheses = false
|
|
||||||
ij_typescript_spaces_within_method_parentheses = false
|
|
||||||
ij_typescript_spaces_within_object_literal_braces = false
|
|
||||||
ij_typescript_spaces_within_object_type_braces = true
|
|
||||||
ij_typescript_spaces_within_parentheses = false
|
|
||||||
ij_typescript_spaces_within_switch_parentheses = false
|
|
||||||
ij_typescript_spaces_within_type_assertion = false
|
|
||||||
ij_typescript_spaces_within_union_types = true
|
|
||||||
ij_typescript_spaces_within_while_parentheses = false
|
|
||||||
ij_typescript_special_else_if_treatment = true
|
|
||||||
ij_typescript_ternary_operation_signs_on_next_line = false
|
|
||||||
ij_typescript_ternary_operation_wrap = off
|
|
||||||
ij_typescript_union_types_wrap = on_every_item
|
|
||||||
ij_typescript_use_chained_calls_group_indents = false
|
|
||||||
ij_typescript_use_double_quotes = true
|
|
||||||
ij_typescript_use_explicit_js_extension = auto
|
|
||||||
ij_typescript_use_path_mapping = always
|
|
||||||
ij_typescript_use_public_modifier = false
|
|
||||||
ij_typescript_use_semicolon_after_statement = true
|
|
||||||
ij_typescript_var_declaration_wrap = normal
|
|
||||||
ij_typescript_while_brace_force = never
|
|
||||||
ij_typescript_while_on_new_line = false
|
|
||||||
ij_typescript_wrap_comments = false
|
|
||||||
|
|
||||||
[{*.cjs,*.js}]
|
|
||||||
ij_continuation_indent_size = 4
|
|
||||||
ij_javascript_align_imports = false
|
|
||||||
ij_javascript_align_multiline_array_initializer_expression = false
|
|
||||||
ij_javascript_align_multiline_binary_operation = false
|
|
||||||
ij_javascript_align_multiline_chained_methods = false
|
|
||||||
ij_javascript_align_multiline_extends_list = false
|
|
||||||
ij_javascript_align_multiline_for = true
|
|
||||||
ij_javascript_align_multiline_parameters = true
|
|
||||||
ij_javascript_align_multiline_parameters_in_calls = false
|
|
||||||
ij_javascript_align_multiline_ternary_operation = false
|
|
||||||
ij_javascript_align_object_properties = 0
|
|
||||||
ij_javascript_align_union_types = false
|
|
||||||
ij_javascript_align_var_statements = 0
|
|
||||||
ij_javascript_array_initializer_new_line_after_left_brace = false
|
|
||||||
ij_javascript_array_initializer_right_brace_on_new_line = false
|
|
||||||
ij_javascript_array_initializer_wrap = off
|
|
||||||
ij_javascript_assignment_wrap = off
|
|
||||||
ij_javascript_binary_operation_sign_on_next_line = false
|
|
||||||
ij_javascript_binary_operation_wrap = off
|
|
||||||
ij_javascript_blacklist_imports = rxjs/Rx, node_modules/**, **/node_modules/**, @angular/material, @angular/material/typings/**
|
|
||||||
ij_javascript_blank_lines_after_imports = 1
|
|
||||||
ij_javascript_blank_lines_around_class = 1
|
|
||||||
ij_javascript_blank_lines_around_field = 0
|
|
||||||
ij_javascript_blank_lines_around_function = 1
|
|
||||||
ij_javascript_blank_lines_around_method = 1
|
|
||||||
ij_javascript_block_brace_style = end_of_line
|
|
||||||
ij_javascript_block_comment_add_space = false
|
|
||||||
ij_javascript_block_comment_at_first_column = true
|
|
||||||
ij_javascript_call_parameters_new_line_after_left_paren = false
|
|
||||||
ij_javascript_call_parameters_right_paren_on_new_line = false
|
|
||||||
ij_javascript_call_parameters_wrap = off
|
|
||||||
ij_javascript_catch_on_new_line = false
|
|
||||||
ij_javascript_chained_call_dot_on_new_line = true
|
|
||||||
ij_javascript_class_brace_style = end_of_line
|
|
||||||
ij_javascript_comma_on_new_line = false
|
|
||||||
ij_javascript_do_while_brace_force = never
|
|
||||||
ij_javascript_else_on_new_line = false
|
|
||||||
ij_javascript_enforce_trailing_comma = keep
|
|
||||||
ij_javascript_extends_keyword_wrap = off
|
|
||||||
ij_javascript_extends_list_wrap = off
|
|
||||||
ij_javascript_field_prefix = _
|
|
||||||
ij_javascript_file_name_style = relaxed
|
|
||||||
ij_javascript_finally_on_new_line = false
|
|
||||||
ij_javascript_for_brace_force = never
|
|
||||||
ij_javascript_for_statement_new_line_after_left_paren = false
|
|
||||||
ij_javascript_for_statement_right_paren_on_new_line = false
|
|
||||||
ij_javascript_for_statement_wrap = off
|
|
||||||
ij_javascript_force_quote_style = false
|
|
||||||
ij_javascript_force_semicolon_style = false
|
|
||||||
ij_javascript_function_expression_brace_style = end_of_line
|
|
||||||
ij_javascript_if_brace_force = never
|
|
||||||
ij_javascript_import_merge_members = global
|
|
||||||
ij_javascript_import_prefer_absolute_path = global
|
|
||||||
ij_javascript_import_sort_members = true
|
|
||||||
ij_javascript_import_sort_module_name = false
|
|
||||||
ij_javascript_import_use_node_resolution = true
|
|
||||||
ij_javascript_imports_wrap = on_every_item
|
|
||||||
ij_javascript_indent_case_from_switch = true
|
|
||||||
ij_javascript_indent_chained_calls = true
|
|
||||||
ij_javascript_indent_package_children = 0
|
|
||||||
ij_javascript_jsx_attribute_value = braces
|
|
||||||
ij_javascript_keep_blank_lines_in_code = 2
|
|
||||||
ij_javascript_keep_first_column_comment = true
|
|
||||||
ij_javascript_keep_indents_on_empty_lines = false
|
|
||||||
ij_javascript_keep_line_breaks = true
|
|
||||||
ij_javascript_keep_simple_blocks_in_one_line = false
|
|
||||||
ij_javascript_keep_simple_methods_in_one_line = false
|
|
||||||
ij_javascript_line_comment_add_space = true
|
|
||||||
ij_javascript_line_comment_at_first_column = false
|
|
||||||
ij_javascript_method_brace_style = end_of_line
|
|
||||||
ij_javascript_method_call_chain_wrap = off
|
|
||||||
ij_javascript_method_parameters_new_line_after_left_paren = false
|
|
||||||
ij_javascript_method_parameters_right_paren_on_new_line = false
|
|
||||||
ij_javascript_method_parameters_wrap = off
|
|
||||||
ij_javascript_object_literal_wrap = on_every_item
|
|
||||||
ij_javascript_object_types_wrap = on_every_item
|
|
||||||
ij_javascript_parentheses_expression_new_line_after_left_paren = false
|
|
||||||
ij_javascript_parentheses_expression_right_paren_on_new_line = false
|
|
||||||
ij_javascript_place_assignment_sign_on_next_line = false
|
|
||||||
ij_javascript_prefer_as_type_cast = false
|
|
||||||
ij_javascript_prefer_explicit_types_function_expression_returns = false
|
|
||||||
ij_javascript_prefer_explicit_types_function_returns = false
|
|
||||||
ij_javascript_prefer_explicit_types_vars_fields = false
|
|
||||||
ij_javascript_prefer_parameters_wrap = false
|
|
||||||
ij_javascript_reformat_c_style_comments = false
|
|
||||||
ij_javascript_space_after_colon = true
|
|
||||||
ij_javascript_space_after_comma = true
|
|
||||||
ij_javascript_space_after_dots_in_rest_parameter = false
|
|
||||||
ij_javascript_space_after_generator_mult = true
|
|
||||||
ij_javascript_space_after_property_colon = true
|
|
||||||
ij_javascript_space_after_quest = true
|
|
||||||
ij_javascript_space_after_type_colon = true
|
|
||||||
ij_javascript_space_after_unary_not = false
|
|
||||||
ij_javascript_space_before_async_arrow_lparen = true
|
|
||||||
ij_javascript_space_before_catch_keyword = true
|
|
||||||
ij_javascript_space_before_catch_left_brace = true
|
|
||||||
ij_javascript_space_before_catch_parentheses = true
|
|
||||||
ij_javascript_space_before_class_lbrace = true
|
|
||||||
ij_javascript_space_before_class_left_brace = true
|
|
||||||
ij_javascript_space_before_colon = true
|
|
||||||
ij_javascript_space_before_comma = false
|
|
||||||
ij_javascript_space_before_do_left_brace = true
|
|
||||||
ij_javascript_space_before_else_keyword = true
|
|
||||||
ij_javascript_space_before_else_left_brace = true
|
|
||||||
ij_javascript_space_before_finally_keyword = true
|
|
||||||
ij_javascript_space_before_finally_left_brace = true
|
|
||||||
ij_javascript_space_before_for_left_brace = true
|
|
||||||
ij_javascript_space_before_for_parentheses = true
|
|
||||||
ij_javascript_space_before_for_semicolon = false
|
|
||||||
ij_javascript_space_before_function_left_parenth = true
|
|
||||||
ij_javascript_space_before_generator_mult = false
|
|
||||||
ij_javascript_space_before_if_left_brace = true
|
|
||||||
ij_javascript_space_before_if_parentheses = true
|
|
||||||
ij_javascript_space_before_method_call_parentheses = false
|
|
||||||
ij_javascript_space_before_method_left_brace = true
|
|
||||||
ij_javascript_space_before_method_parentheses = false
|
|
||||||
ij_javascript_space_before_property_colon = false
|
|
||||||
ij_javascript_space_before_quest = true
|
|
||||||
ij_javascript_space_before_switch_left_brace = true
|
|
||||||
ij_javascript_space_before_switch_parentheses = true
|
|
||||||
ij_javascript_space_before_try_left_brace = true
|
|
||||||
ij_javascript_space_before_type_colon = false
|
|
||||||
ij_javascript_space_before_unary_not = false
|
|
||||||
ij_javascript_space_before_while_keyword = true
|
|
||||||
ij_javascript_space_before_while_left_brace = true
|
|
||||||
ij_javascript_space_before_while_parentheses = true
|
|
||||||
ij_javascript_spaces_around_additive_operators = true
|
|
||||||
ij_javascript_spaces_around_arrow_function_operator = true
|
|
||||||
ij_javascript_spaces_around_assignment_operators = true
|
|
||||||
ij_javascript_spaces_around_bitwise_operators = true
|
|
||||||
ij_javascript_spaces_around_equality_operators = true
|
|
||||||
ij_javascript_spaces_around_logical_operators = true
|
|
||||||
ij_javascript_spaces_around_multiplicative_operators = true
|
|
||||||
ij_javascript_spaces_around_relational_operators = true
|
|
||||||
ij_javascript_spaces_around_shift_operators = true
|
|
||||||
ij_javascript_spaces_around_unary_operator = false
|
|
||||||
ij_javascript_spaces_within_array_initializer_brackets = false
|
|
||||||
ij_javascript_spaces_within_brackets = false
|
|
||||||
ij_javascript_spaces_within_catch_parentheses = false
|
|
||||||
ij_javascript_spaces_within_for_parentheses = false
|
|
||||||
ij_javascript_spaces_within_if_parentheses = false
|
|
||||||
ij_javascript_spaces_within_imports = false
|
|
||||||
ij_javascript_spaces_within_interpolation_expressions = false
|
|
||||||
ij_javascript_spaces_within_method_call_parentheses = false
|
|
||||||
ij_javascript_spaces_within_method_parentheses = false
|
|
||||||
ij_javascript_spaces_within_object_literal_braces = false
|
|
||||||
ij_javascript_spaces_within_object_type_braces = true
|
|
||||||
ij_javascript_spaces_within_parentheses = false
|
|
||||||
ij_javascript_spaces_within_switch_parentheses = false
|
|
||||||
ij_javascript_spaces_within_type_assertion = false
|
|
||||||
ij_javascript_spaces_within_union_types = true
|
|
||||||
ij_javascript_spaces_within_while_parentheses = false
|
|
||||||
ij_javascript_special_else_if_treatment = true
|
|
||||||
ij_javascript_ternary_operation_signs_on_next_line = false
|
|
||||||
ij_javascript_ternary_operation_wrap = off
|
|
||||||
ij_javascript_union_types_wrap = on_every_item
|
|
||||||
ij_javascript_use_chained_calls_group_indents = false
|
|
||||||
ij_javascript_use_double_quotes = true
|
|
||||||
ij_javascript_use_explicit_js_extension = auto
|
|
||||||
ij_javascript_use_path_mapping = always
|
|
||||||
ij_javascript_use_public_modifier = false
|
|
||||||
ij_javascript_use_semicolon_after_statement = true
|
|
||||||
ij_javascript_var_declaration_wrap = normal
|
|
||||||
ij_javascript_while_brace_force = never
|
|
||||||
ij_javascript_while_on_new_line = false
|
|
||||||
ij_javascript_wrap_comments = false
|
|
||||||
|
|
||||||
[{*.har,*.jsb2,*.jsb3,*.json,.babelrc,.eslintrc,.prettierrc,.stylelintrc,bowerrc,jest.config}]
|
|
||||||
indent_size = 2
|
|
||||||
ij_json_array_wrapping = split_into_lines
|
|
||||||
ij_json_keep_blank_lines_in_code = 0
|
|
||||||
ij_json_keep_indents_on_empty_lines = false
|
|
||||||
ij_json_keep_line_breaks = true
|
|
||||||
ij_json_keep_trailing_comma = false
|
|
||||||
ij_json_object_wrapping = split_into_lines
|
|
||||||
ij_json_property_alignment = do_not_align
|
|
||||||
ij_json_space_after_colon = true
|
|
||||||
ij_json_space_after_comma = true
|
|
||||||
ij_json_space_before_colon = false
|
|
||||||
ij_json_space_before_comma = false
|
|
||||||
ij_json_spaces_within_braces = false
|
|
||||||
ij_json_spaces_within_brackets = false
|
|
||||||
ij_json_wrap_long_lines = false
|
|
||||||
|
|
||||||
[{*.htm,*.html,*.ng,*.sht,*.shtm,*.shtml}]
|
|
||||||
ij_html_add_new_line_before_tags = body, div, p, form, h1, h2, h3
|
|
||||||
ij_html_align_attributes = true
|
|
||||||
ij_html_align_text = false
|
|
||||||
ij_html_attribute_wrap = normal
|
|
||||||
ij_html_block_comment_add_space = false
|
|
||||||
ij_html_block_comment_at_first_column = true
|
|
||||||
ij_html_do_not_align_children_of_min_lines = 0
|
|
||||||
ij_html_do_not_break_if_inline_tags = title, h1, h2, h3, h4, h5, h6, p
|
|
||||||
ij_html_do_not_indent_children_of_tags = html, body, thead, tbody, tfoot
|
|
||||||
ij_html_enforce_quotes = false
|
|
||||||
ij_html_inline_tags = a, abbr, acronym, b, basefont, bdo, big, br, cite, cite, code, dfn, em, font, i, img, input, kbd, label, q, s, samp, select, small, span, strike, strong, sub, sup, textarea, tt, u, var
|
|
||||||
ij_html_keep_blank_lines = 2
|
|
||||||
ij_html_keep_indents_on_empty_lines = false
|
|
||||||
ij_html_keep_line_breaks = true
|
|
||||||
ij_html_keep_line_breaks_in_text = true
|
|
||||||
ij_html_keep_whitespaces = false
|
|
||||||
ij_html_keep_whitespaces_inside = span, pre, textarea
|
|
||||||
ij_html_line_comment_at_first_column = true
|
|
||||||
ij_html_new_line_after_last_attribute = never
|
|
||||||
ij_html_new_line_before_first_attribute = never
|
|
||||||
ij_html_quote_style = double
|
|
||||||
ij_html_remove_new_line_before_tags = br
|
|
||||||
ij_html_space_after_tag_name = false
|
|
||||||
ij_html_space_around_equality_in_attribute = false
|
|
||||||
ij_html_space_inside_empty_tag = false
|
|
||||||
ij_html_text_wrap = normal
|
|
||||||
|
|
||||||
[{*.markdown,*.md}]
|
|
||||||
ij_markdown_force_one_space_after_blockquote_symbol = true
|
|
||||||
ij_markdown_force_one_space_after_header_symbol = true
|
|
||||||
ij_markdown_force_one_space_after_list_bullet = true
|
|
||||||
ij_markdown_force_one_space_between_words = true
|
|
||||||
ij_markdown_format_tables = true
|
|
||||||
ij_markdown_insert_quote_arrows_on_wrap = true
|
|
||||||
ij_markdown_keep_indents_on_empty_lines = false
|
|
||||||
ij_markdown_keep_line_breaks_inside_text_blocks = true
|
|
||||||
ij_markdown_max_lines_around_block_elements = 1
|
|
||||||
ij_markdown_max_lines_around_header = 1
|
|
||||||
ij_markdown_max_lines_between_paragraphs = 1
|
|
||||||
ij_markdown_min_lines_around_block_elements = 1
|
|
||||||
ij_markdown_min_lines_around_header = 1
|
|
||||||
ij_markdown_min_lines_between_paragraphs = 1
|
|
||||||
ij_markdown_wrap_text_if_long = true
|
|
||||||
ij_markdown_wrap_text_inside_blockquotes = true
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"extends": [
|
|
||||||
"next/core-web-vitals"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
59
.gitignore
vendored
59
.gitignore
vendored
@@ -1,34 +1,41 @@
|
|||||||
# Logs
|
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
|
|
||||||
# Runtime data
|
# dependencies
|
||||||
pids
|
/node_modules
|
||||||
*.pid
|
/.pnp
|
||||||
*.seed
|
.pnp.*
|
||||||
|
.yarn/*
|
||||||
|
!.yarn/patches
|
||||||
|
!.yarn/plugins
|
||||||
|
!.yarn/releases
|
||||||
|
!.yarn/versions
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
# testing
|
||||||
lib-cov
|
/coverage
|
||||||
|
|
||||||
# Coverage directory used by tools like istanbul
|
# next.js
|
||||||
coverage
|
/.next/
|
||||||
|
/out/
|
||||||
|
|
||||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
# production
|
||||||
.grunt
|
/build
|
||||||
|
|
||||||
# node-waf configuration
|
# misc
|
||||||
.lock-wscript
|
.DS_Store
|
||||||
|
*.pem
|
||||||
|
|
||||||
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
# debug
|
||||||
build/Release
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
.pnpm-debug.log*
|
||||||
|
|
||||||
# Dependency directory
|
# env files (can opt-in for committing if needed)
|
||||||
node_modules
|
|
||||||
cypress/videos
|
|
||||||
cypress/screenshots
|
|
||||||
.next
|
|
||||||
.env*
|
.env*
|
||||||
.env
|
|
||||||
.idea
|
# vercel
|
||||||
package-lock.json
|
.vercel
|
||||||
ecosystem.config.js
|
|
||||||
|
# typescript
|
||||||
|
*.tsbuildinfo
|
||||||
|
next-env.d.ts
|
||||||
|
|||||||
@@ -1,81 +0,0 @@
|
|||||||
image: node:latest
|
|
||||||
|
|
||||||
cache:
|
|
||||||
paths:
|
|
||||||
- node_modules
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- lint
|
|
||||||
- test
|
|
||||||
- test:build
|
|
||||||
- deploy
|
|
||||||
|
|
||||||
merge:test:lint:
|
|
||||||
stage: lint
|
|
||||||
script:
|
|
||||||
- npm install
|
|
||||||
- cp example.env.local .env.local
|
|
||||||
- cp example.env.local .env.test
|
|
||||||
- npm run lint
|
|
||||||
only:
|
|
||||||
- merge_requests
|
|
||||||
|
|
||||||
merge:test:jest:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npm install
|
|
||||||
- cp example.env.local .env.local
|
|
||||||
- cp example.env.local .env.test
|
|
||||||
- npm run test
|
|
||||||
only:
|
|
||||||
- merge_requests
|
|
||||||
|
|
||||||
#merge:test:build:
|
|
||||||
# stage: test:build
|
|
||||||
# script:
|
|
||||||
# - npm install
|
|
||||||
# - cp example.env.local .env.local
|
|
||||||
# - cp example.env.local .env.test
|
|
||||||
# - npm run build
|
|
||||||
# only:
|
|
||||||
# - merge_requests
|
|
||||||
|
|
||||||
test:lint:
|
|
||||||
stage: lint
|
|
||||||
script:
|
|
||||||
- npm install
|
|
||||||
- cp example.env.local .env.local
|
|
||||||
- cp example.env.local .env.test
|
|
||||||
- npm run lint
|
|
||||||
only:
|
|
||||||
- develop
|
|
||||||
- main
|
|
||||||
|
|
||||||
test:jest:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npm install
|
|
||||||
- cp example.env.local .env.local
|
|
||||||
- cp example.env.local .env.test
|
|
||||||
- npm run test
|
|
||||||
only:
|
|
||||||
- develop
|
|
||||||
- main
|
|
||||||
|
|
||||||
#test:build:
|
|
||||||
# stage: test:build
|
|
||||||
# script:
|
|
||||||
# - npm install
|
|
||||||
# - cp example.env.local .env.local
|
|
||||||
# - cp example.env.local .env.test
|
|
||||||
# - npm run build
|
|
||||||
# only:
|
|
||||||
# - develop
|
|
||||||
# - main
|
|
||||||
|
|
||||||
deploy:
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- echo "Run deploy project"
|
|
||||||
only:
|
|
||||||
- main
|
|
||||||
35
README.md
35
README.md
@@ -1 +1,36 @@
|
|||||||
|
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
First, run the development server:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run dev
|
||||||
|
# or
|
||||||
|
yarn dev
|
||||||
|
# or
|
||||||
|
pnpm dev
|
||||||
|
# or
|
||||||
|
bun dev
|
||||||
|
```
|
||||||
|
|
||||||
|
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
||||||
|
|
||||||
|
You can start editing the page by modifying `app/page.js`. The page auto-updates as you edit the file.
|
||||||
|
|
||||||
|
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
|
||||||
|
|
||||||
|
## Learn More
|
||||||
|
|
||||||
|
To learn more about Next.js, take a look at the following resources:
|
||||||
|
|
||||||
|
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
|
||||||
|
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
|
||||||
|
|
||||||
|
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
|
||||||
|
|
||||||
|
## Deploy on Vercel
|
||||||
|
|
||||||
|
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
|
||||||
|
|
||||||
|
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
const { defineConfig } = require("cypress");
|
|
||||||
|
|
||||||
module.exports = defineConfig({
|
|
||||||
e2e: {
|
|
||||||
setupNodeEvents(on, config) {
|
|
||||||
// implement node event listeners here
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
component: {
|
|
||||||
devServer: {
|
|
||||||
framework: "next",
|
|
||||||
bundler: "webpack",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
// ***********************************************
|
|
||||||
// This example commands.js shows you how to
|
|
||||||
// create various custom commands and overwrite
|
|
||||||
// existing commands.
|
|
||||||
//
|
|
||||||
// For more comprehensive examples of custom
|
|
||||||
// commands please read more here:
|
|
||||||
// https://on.cypress.io/custom-commands
|
|
||||||
// ***********************************************
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// -- This is a parent command --
|
|
||||||
// Cypress.Commands.add('login', (email, password) => { ... })
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// -- This is a child command --
|
|
||||||
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// -- This is a dual command --
|
|
||||||
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// -- This will overwrite an existing command --
|
|
||||||
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
|
||||||
<title>Components App</title>
|
|
||||||
<!-- Used by Next.js to inject CSS. -->
|
|
||||||
<div id="__next_css__DO_NOT_USE__"></div>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div data-cy-root></div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
// ***********************************************************
|
|
||||||
// This example support/component.js is processed and
|
|
||||||
// loaded automatically before your test files.
|
|
||||||
//
|
|
||||||
// This is a great place to put global configuration and
|
|
||||||
// behavior that modifies Cypress.
|
|
||||||
//
|
|
||||||
// You can change the location of this file or turn off
|
|
||||||
// automatically serving support files with the
|
|
||||||
// 'supportFile' configuration option.
|
|
||||||
//
|
|
||||||
// You can read more here:
|
|
||||||
// https://on.cypress.io/configuration
|
|
||||||
// ***********************************************************
|
|
||||||
|
|
||||||
// Import commands.js using ES2015 syntax:
|
|
||||||
import './commands'
|
|
||||||
|
|
||||||
// Alternatively you can use CommonJS syntax:
|
|
||||||
// require('./commands')
|
|
||||||
|
|
||||||
import { mount } from 'cypress/react18'
|
|
||||||
|
|
||||||
Cypress.Commands.add('mount', mount)
|
|
||||||
|
|
||||||
// Example use:
|
|
||||||
// cy.mount(<MyComponent />)
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
// ***********************************************************
|
|
||||||
// This example support/e2e.js is processed and
|
|
||||||
// loaded automatically before your test files.
|
|
||||||
//
|
|
||||||
// This is a great place to put global configuration and
|
|
||||||
// behavior that modifies Cypress.
|
|
||||||
//
|
|
||||||
// You can change the location of this file or turn off
|
|
||||||
// automatically serving support files with the
|
|
||||||
// 'supportFile' configuration option.
|
|
||||||
//
|
|
||||||
// You can read more here:
|
|
||||||
// https://on.cypress.io/configuration
|
|
||||||
// ***********************************************************
|
|
||||||
|
|
||||||
// Import commands.js using ES2015 syntax:
|
|
||||||
import './commands'
|
|
||||||
|
|
||||||
// Alternatively you can use CommonJS syntax:
|
|
||||||
// require('./commands')
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
apps: [{
|
|
||||||
name: "crm_app",
|
|
||||||
script: 'node_modules/next/dist/bin/next', // cluster mode run with node only, not npm
|
|
||||||
args: 'start -p 3003',
|
|
||||||
exec_mode: "cluster", // default fork
|
|
||||||
instances: "10",
|
|
||||||
kill_timeout: 4000,
|
|
||||||
wait_ready: true,
|
|
||||||
autorestart: true,
|
|
||||||
watch: false,
|
|
||||||
max_memory_restart: "1G",
|
|
||||||
log_date_format: "YYYY-MM-DD HH:mm Z",
|
|
||||||
env_prod: {
|
|
||||||
APP_ENV: 'prod' // APP_ENV=prod
|
|
||||||
}
|
|
||||||
}],
|
|
||||||
};
|
|
||||||
14
eslint.config.mjs
Normal file
14
eslint.config.mjs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { dirname } from "path";
|
||||||
|
import { fileURLToPath } from "url";
|
||||||
|
import { FlatCompat } from "@eslint/eslintrc";
|
||||||
|
|
||||||
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
|
const __dirname = dirname(__filename);
|
||||||
|
|
||||||
|
const compat = new FlatCompat({
|
||||||
|
baseDirectory: __dirname,
|
||||||
|
});
|
||||||
|
|
||||||
|
const eslintConfig = [...compat.extends("next/core-web-vitals")];
|
||||||
|
|
||||||
|
export default eslintConfig;
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
NEXT_PUBLIC_API_NAME = "CRM Dashboard"
|
|
||||||
NEXT_PUBLIC_API_VERSION = "1.21.10"
|
|
||||||
NEXT_PUBLIC_DEFAULT_LANGUAGE = "fa"
|
|
||||||
NEXT_PUBLIC_DEFAULT_DIRECTION = "rtl"
|
|
||||||
|
|
||||||
NEXT_PUBLIC_PRIMARY_MAIN = "#1b4332"
|
|
||||||
NEXT_PUBLIC_SECONDARY_MAIN = "#800e13"
|
|
||||||
|
|
||||||
NEXT_PUBLIC_BASE_URL = "https://crm.witel.ir"
|
|
||||||
NEXT_PUBLIC_SERVER_SOCKET_URL = "wss://crmws.witel.ir"
|
|
||||||
NEXT_PUBLIC_POWERED_BY_URL = "https://witel.ir"
|
|
||||||
|
|
||||||
#["NEXT_PUBLIC_HAS_WIDGET" , "NEXT_PUBLIC_HAS_NOTIFICATION"]
|
|
||||||
NEXT_PUBLIC_HAS_VALUE=["NEXT_PUBLIC_HAS_WIDGET"]
|
|
||||||
|
|
||||||
NODE_ENV = "development"
|
|
||||||
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
import nextJest from 'next/jest.js'
|
|
||||||
|
|
||||||
const createJestConfig = nextJest({
|
|
||||||
// Provide the path to your Next.js app to load next.config.js and .env files in your test environment
|
|
||||||
dir: './',
|
|
||||||
})
|
|
||||||
|
|
||||||
// Add any custom config to be passed to Jest
|
|
||||||
/** @type {import('jest').Config} */
|
|
||||||
const config = {
|
|
||||||
// Add more setup options before each test is run
|
|
||||||
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
|
|
||||||
testEnvironment: 'jest-environment-jsdom',
|
|
||||||
}
|
|
||||||
|
|
||||||
// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async
|
|
||||||
export default createJestConfig(config)
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
import '@testing-library/jest-dom'
|
|
||||||
import {server} from "./mocks/server";
|
|
||||||
import mockRouter from 'next-router-mock'
|
|
||||||
|
|
||||||
jest.mock('next/router', () => jest.requireActual('next-router-mock'))
|
|
||||||
|
|
||||||
beforeAll(() => {
|
|
||||||
server.listen()
|
|
||||||
})
|
|
||||||
beforeEach(() => {
|
|
||||||
localStorage.clear();
|
|
||||||
mockRouter.query = {}
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
afterEach(() => {
|
|
||||||
server.resetHandlers()
|
|
||||||
})
|
|
||||||
|
|
||||||
afterAll(() => {
|
|
||||||
server.close()
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,12 +1,7 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"paths": {
|
"paths": {
|
||||||
"@/*": [
|
"@/*": ["./src/*"]
|
||||||
"./src/*"
|
|
||||||
],
|
|
||||||
"&/*": [
|
|
||||||
"./public/*"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
import App from "@/pages/_app";
|
|
||||||
import fa from "&/locales/fa/app.json"
|
|
||||||
|
|
||||||
const translations = {fa};
|
|
||||||
const MockAppWithProviders = ({children, locale, title, isBot}) => {
|
|
||||||
const pageProps = {
|
|
||||||
title: title || '', isBot: isBot || true, locale: locale || 'fa', messages: translations[locale || 'fa']
|
|
||||||
}
|
|
||||||
|
|
||||||
return (<App Component={() => (<>{children}</>)} pageProps={pageProps}/>)
|
|
||||||
}
|
|
||||||
|
|
||||||
export default MockAppWithProviders
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
import { userHandler } from "./handlers/user";
|
|
||||||
import { permissionsHandler } from "./handlers/permissions";
|
|
||||||
import { rolesHandler } from "./handlers/roles";
|
|
||||||
import { provincesHandler } from "./handlers/provinces";
|
|
||||||
import { expertsHandler } from "./handlers/experts";
|
|
||||||
import { categoriesHandler } from "./handlers/categories";
|
|
||||||
|
|
||||||
export const handler = [
|
|
||||||
...userHandler,
|
|
||||||
...permissionsHandler,
|
|
||||||
...rolesHandler,
|
|
||||||
...provincesHandler,
|
|
||||||
...expertsHandler,
|
|
||||||
...categoriesHandler,
|
|
||||||
];
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
import { rest } from "msw";
|
|
||||||
import { GET_CATEGORY } from "@/core/data/apiRoutes";
|
|
||||||
|
|
||||||
export const categoriesHandler = [
|
|
||||||
rest.get(GET_CATEGORY, (req, res, ctx) => {
|
|
||||||
return res(
|
|
||||||
ctx.json({
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
category_id: 1,
|
|
||||||
category_name: "اطلاعات راه",
|
|
||||||
subcategory_id: 1,
|
|
||||||
subcategory_name: "اطلاعات باز و بسته",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
category_id: 3,
|
|
||||||
category_name: "سایر",
|
|
||||||
subcategory_id: 2,
|
|
||||||
subcategory_name: "مزاحم",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
})
|
|
||||||
);
|
|
||||||
}),
|
|
||||||
];
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
import {rest} from "msw";
|
|
||||||
import {ADD_EXPERT, DELETE_EXPERT, UPDATE_EXPERT} from "@/core/data/apiRoutes";
|
|
||||||
|
|
||||||
export const expertsHandler = [
|
|
||||||
rest.post(ADD_EXPERT, (req, res, ctx) => {
|
|
||||||
return res(
|
|
||||||
ctx.status(200),
|
|
||||||
);
|
|
||||||
}),
|
|
||||||
rest.delete(`${DELETE_EXPERT}/:id`, (req, res, ctx) => {
|
|
||||||
return res(
|
|
||||||
ctx.status(200),
|
|
||||||
);
|
|
||||||
}),
|
|
||||||
rest.post(`${UPDATE_EXPERT}/:id`, (req, res, ctx) => {
|
|
||||||
return res(
|
|
||||||
ctx.status(200),
|
|
||||||
);
|
|
||||||
}),
|
|
||||||
]
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
import {rest} from "msw";
|
|
||||||
import {GET_PERMISSIONS_LIST} from "@/core/data/apiRoutes";
|
|
||||||
|
|
||||||
export const permissionsHandler = [
|
|
||||||
rest.get(GET_PERMISSIONS_LIST, (req, res, ctx) => {
|
|
||||||
return res(ctx.json(
|
|
||||||
{
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
id: 1,
|
|
||||||
name: "manage_passenger_office_navgan",
|
|
||||||
name_fa: "مدیریت کارتابل رییس اداره مسافری استان"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 2,
|
|
||||||
name: "manage_province_working_group_navgan",
|
|
||||||
name_fa: "مدیریت کارتابل کارگروه استانی"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
))
|
|
||||||
})
|
|
||||||
]
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
import {rest} from "msw";
|
|
||||||
import {GET_PROVINCE_LIST} from "@/core/data/apiRoutes";
|
|
||||||
|
|
||||||
export const provincesHandler = [
|
|
||||||
rest.get(GET_PROVINCE_LIST, (req, res, ctx) => {
|
|
||||||
return res(ctx.json({
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
id: 1,
|
|
||||||
name: "آذربایجان شرقی"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 3,
|
|
||||||
name: "اردبیل"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}))
|
|
||||||
}),
|
|
||||||
]
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
import {rest} from "msw";
|
|
||||||
import {GET_PERMISSIONS_LIST, GET_ROLE_LIST, GET_ROLES} from "@/core/data/apiRoutes";
|
|
||||||
|
|
||||||
export const rolesHandler = [
|
|
||||||
rest.get(GET_ROLES, (req, res, ctx) => {
|
|
||||||
return res(
|
|
||||||
ctx.json(
|
|
||||||
{
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
created_at: "2023-10-01T07:20:07.000000Z",
|
|
||||||
guard_name: "api",
|
|
||||||
id: 1,
|
|
||||||
name: "admin",
|
|
||||||
name_fa: "ادمین",
|
|
||||||
permissions: [
|
|
||||||
{
|
|
||||||
id: 1,
|
|
||||||
name: "manage_users",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 2,
|
|
||||||
name: "manage_roles",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
updated_at: "2023-10-10T07:38:12.000000Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
created_at: "2023-10-01T07:20:07.000000Z",
|
|
||||||
guard_name: "api",
|
|
||||||
id: 2,
|
|
||||||
name: "manager",
|
|
||||||
name_fa: "مدیر",
|
|
||||||
permissions: [
|
|
||||||
{
|
|
||||||
id: 1,
|
|
||||||
name: "manage_users",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 2,
|
|
||||||
name: "manage_roles",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
updated_at: "2023-10-10T07:38:12.000000Z"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
meta: {
|
|
||||||
totalRowCount: 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}),
|
|
||||||
rest.get(GET_ROLE_LIST, (req, res, ctx) => {
|
|
||||||
return res(ctx.json({
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
id: 1,
|
|
||||||
name: "admin",
|
|
||||||
name_fa: "ادمین"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 2,
|
|
||||||
name: "manager",
|
|
||||||
name_fa: "مدیر"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}))
|
|
||||||
}),
|
|
||||||
rest.get(GET_PERMISSIONS_LIST, (req, res, ctx) => {
|
|
||||||
return res(ctx.json({
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
id: 1,
|
|
||||||
name: "admin",
|
|
||||||
name_fa: "ادمین"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 2,
|
|
||||||
name: "manager",
|
|
||||||
name_fa: "مدیر"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}))
|
|
||||||
}),
|
|
||||||
]
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
import {rest} from "msw";
|
|
||||||
import {GET_SIDEBAR_NOTIFICATION, GET_USER, SET_USER_PASSWORD} from "@/core/data/apiRoutes";
|
|
||||||
|
|
||||||
export const userHandler = [
|
|
||||||
rest.get(GET_USER, (req, res, ctx) => {
|
|
||||||
return res(ctx.json({
|
|
||||||
data:{
|
|
||||||
id: 10,
|
|
||||||
full_name: "Witel Company",
|
|
||||||
position: "Software Engineer",
|
|
||||||
permissions:[
|
|
||||||
"manage_users",
|
|
||||||
"manage_roles",
|
|
||||||
"manage_boss"
|
|
||||||
],
|
|
||||||
}
|
|
||||||
}))
|
|
||||||
}),
|
|
||||||
rest.get(GET_SIDEBAR_NOTIFICATION, (req, res, ctx) => {
|
|
||||||
return res(ctx.json({
|
|
||||||
data: []
|
|
||||||
}))
|
|
||||||
}),
|
|
||||||
rest.post(SET_USER_PASSWORD, (req, res, ctx) => {
|
|
||||||
return res(
|
|
||||||
ctx.status(200),
|
|
||||||
);
|
|
||||||
}),
|
|
||||||
]
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
import {setupServer} from "msw/node";
|
|
||||||
import {handler} from "./handler";
|
|
||||||
|
|
||||||
export const server = setupServer(...handler)
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
/** @type {import('next').NextConfig} */
|
|
||||||
|
|
||||||
const nextConfig = {
|
|
||||||
reactStrictMode: true,
|
|
||||||
i18n: {
|
|
||||||
defaultLocale: 'fa',
|
|
||||||
locales: ['fa'],
|
|
||||||
localeDetection: false,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = nextConfig
|
|
||||||
4
next.config.mjs
Normal file
4
next.config.mjs
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
/** @type {import('next').NextConfig} */
|
||||||
|
const nextConfig = {};
|
||||||
|
|
||||||
|
export default nextConfig;
|
||||||
81
package.json
81
package.json
@@ -1,70 +1,41 @@
|
|||||||
{
|
{
|
||||||
"name": "dashboard",
|
"name": "app",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev --turbopack",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start",
|
"start": "next start",
|
||||||
"publish-3002": "next start -p 3002",
|
|
||||||
"lint": "next lint",
|
"lint": "next lint",
|
||||||
"update": "run-script-os",
|
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,html,css,scss}\""
|
||||||
"update:win32": "echo 'ok'",
|
|
||||||
"update:linux": "rm -rf .next/ && npm i && npm run build && sudo systemctl restart crm.service",
|
|
||||||
"test": "jest",
|
|
||||||
"test:watch": "jest --watchAll",
|
|
||||||
"cypress:open": "cypress open",
|
|
||||||
"cypress:run": "cypress run"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emotion/react": "^11.10.6",
|
"@emotion/cache": "^11.14.0",
|
||||||
"@emotion/server": "^11.10.0",
|
"@emotion/react": "^11.14.0",
|
||||||
"@emotion/styled": "^11.10.6",
|
"@emotion/styled": "^11.14.0",
|
||||||
"@mui/icons-material": "^5.11.16",
|
"@hookform/resolvers": "^5.0.1",
|
||||||
"@mui/material": "^5.12.0",
|
"@mui/icons-material": "^7.0.2",
|
||||||
"@mui/x-date-pickers": "^6.9.2",
|
"@mui/material": "^7.0.2",
|
||||||
"axios": "^1.4.0",
|
"@mui/material-nextjs": "^7.0.2",
|
||||||
"colord": "^2.9.3",
|
"axios": "^1.9.0",
|
||||||
"date-fns-jalali": "^2.13.0-0",
|
|
||||||
"dayjs": "^1.11.9",
|
|
||||||
"dotenv": "^16.3.1",
|
|
||||||
"eslint": "8.36.0",
|
|
||||||
"formik": "^2.2.9",
|
|
||||||
"fs-extra": "^11.1.1",
|
|
||||||
"image-resize": "^1.3.2",
|
|
||||||
"image-to-file-converter": "^1.0.6",
|
|
||||||
"jalali-moment": "^3.3.11",
|
"jalali-moment": "^3.3.11",
|
||||||
"material-react-table": "^1.11.1",
|
"lz-string": "^1.5.0",
|
||||||
"moment": "^2.29.4",
|
"next": "15.3.1",
|
||||||
"moment-jalaali": "^0.10.0",
|
"react": "^19.0.0",
|
||||||
"next": "^13.3.0",
|
"react-dom": "^19.0.0",
|
||||||
"next-intl": "^2.13.1",
|
"react-hook-form": "^7.56.1",
|
||||||
"next-useragent": "^2.8.0",
|
"react-toastify": "^11.0.5",
|
||||||
"nextjs-progressbar": "^0.0.16",
|
"socket.io-client": "^4.8.1",
|
||||||
"prop-types": "^15.8.1",
|
"stylis": "^4.3.6",
|
||||||
"react": "^18.2.0",
|
|
||||||
"react-dom": "^18.2.0",
|
|
||||||
"react-toastify": "^9.1.3",
|
|
||||||
"sass": "^1.62.0",
|
|
||||||
"socket.io-client": "^4.7.2",
|
|
||||||
"stylis": "^4.1.3",
|
|
||||||
"stylis-plugin-rtl": "^2.1.1",
|
"stylis-plugin-rtl": "^2.1.1",
|
||||||
"swr": "^2.1.5",
|
"swr": "^2.3.3",
|
||||||
"yup": "^1.1.1"
|
"yup": "^1.6.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@faker-js/faker": "^7.6.0",
|
"@eslint/eslintrc": "^3",
|
||||||
"@testing-library/jest-dom": "^6.1.3",
|
"eslint": "^9",
|
||||||
"@testing-library/react": "^14.0.0",
|
"eslint-config-next": "15.3.1",
|
||||||
"@testing-library/user-event": "^14.5.1",
|
"prettier": "3.5.3",
|
||||||
"cypress": "^13.2.0",
|
"sass": "^1.87.0"
|
||||||
"eslint-config-next": "^13.3.0",
|
|
||||||
"eslint-plugin-jest-dom": "^5.1.0",
|
|
||||||
"eslint-plugin-testing-library": "^6.0.1",
|
|
||||||
"jest": "^29.7.0",
|
|
||||||
"jest-environment-jsdom": "^29.7.0",
|
|
||||||
"msw": "^1.3.1",
|
|
||||||
"next-router-mock": "^0.9.10",
|
|
||||||
"run-script-os": "^1.1.6"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
5206
pnpm-lock.yaml
generated
Normal file
5206
pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,169 +0,0 @@
|
|||||||
/**
|
|
||||||
*
|
|
||||||
* Name: IRAN Sans-Serif Font
|
|
||||||
* Version: 5.0
|
|
||||||
* Author: Moslem Ebrahimi (moslemebrahimi.com)
|
|
||||||
* Created on: Dec 25, 2012
|
|
||||||
* Updated on: Sep 01, 2017
|
|
||||||
* Website: http://fontiran.com
|
|
||||||
* Copyright: Commercial/Proprietary Software
|
|
||||||
--------------------------------------------------------------------------------------
|
|
||||||
فونت های ایران سن سریف یک نرم افزار مالکیتی محسوب می شود. جهت آگاهی از قوانین استفاده از این فونت ها لطفا به وب سایت (فونت ایران دات کام) مراجعه نمایید
|
|
||||||
--------------------------------------------------------------------------------------
|
|
||||||
IRAN Sans-serif fonts are considered a proprietary software. To gain information about the laws regarding the use of these fonts, please visit www.fontiran.com
|
|
||||||
--------------------------------------------------------------------------------------
|
|
||||||
This set of fonts are used in this project under the license: (.....)
|
|
||||||
--------------------------------------------------------------------------------------
|
|
||||||
*
|
|
||||||
**/
|
|
||||||
@font-face {
|
|
||||||
font-family: IRANSansFaNum;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 900;
|
|
||||||
src: url('./fonts/eot/IRANSansWeb(FaNum)_Black.eot');
|
|
||||||
src: url('./fonts/eot/IRANSansWeb(FaNum)_Black.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff2/IRANSansWeb(FaNum)_Black.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
|
|
||||||
url('./fonts/woff/IRANSansWeb(FaNum)_Black.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/IRANSansWeb(FaNum)_Black.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: IRANSansFaNum;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: bold;
|
|
||||||
src: url('./fonts/eot/IRANSansWeb(FaNum)_Bold.eot');
|
|
||||||
src: url('./fonts/eot/IRANSansWeb(FaNum)_Bold.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff2/IRANSansWeb(FaNum)_Bold.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
|
|
||||||
url('./fonts/woff/IRANSansWeb(FaNum)_Bold.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/IRANSansWeb(FaNum)_Bold.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: IRANSansFaNum;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 500;
|
|
||||||
src: url('./fonts/eot/IRANSansWeb(FaNum)_Medium.eot');
|
|
||||||
src: url('./fonts/eot/IRANSansWeb(FaNum)_Medium.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff2/IRANSansWeb(FaNum)_Medium.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
|
|
||||||
url('./fonts/woff/IRANSansWeb(FaNum)_Medium.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/IRANSansWeb(FaNum)_Medium.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: IRANSansFaNum;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 300;
|
|
||||||
src: url('./fonts/eot/IRANSansWeb(FaNum)_Light.eot');
|
|
||||||
src: url('./fonts/eot/IRANSansWeb(FaNum)_Light.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff2/IRANSansWeb(FaNum)_Light.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
|
|
||||||
url('./fonts/woff/IRANSansWeb(FaNum)_Light.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/IRANSansWeb(FaNum)_Light.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: IRANSansFaNum;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 200;
|
|
||||||
src: url('./fonts/eot/IRANSansWeb(FaNum)_UltraLight.eot');
|
|
||||||
src: url('./fonts/eot/IRANSansWeb(FaNum)_UltraLight.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff2/IRANSansWeb(FaNum)_UltraLight.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
|
|
||||||
url('./fonts/woff/IRANSansWeb(FaNum)_UltraLight.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/IRANSansWeb(FaNum)_UltraLight.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: IRANSansFaNum;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: normal;
|
|
||||||
src: url('./fonts/eot/IRANSansWeb(FaNum).eot');
|
|
||||||
src: url('./fonts/eot/IRANSansWeb(FaNum).eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff2/IRANSansWeb(FaNum).woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
|
|
||||||
url('./fonts/woff/IRANSansWeb(FaNum).woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/IRANSansWeb(FaNum).ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: IRANSans;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 900;
|
|
||||||
src: url('./fonts/eot/IRANSansWeb_Black.eot');
|
|
||||||
src: url('./fonts/eot/IRANSansWeb_Black.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff2/IRANSansWeb_Black.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
|
|
||||||
url('./fonts/woff/IRANSansWeb_Black.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/IRANSansWeb_Black.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: IRANSans;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: bold;
|
|
||||||
src: url('./fonts/eot/IRANSansWeb_Bold.eot');
|
|
||||||
src: url('./fonts/eot/IRANSansWeb_Bold.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff2/IRANSansWeb_Bold.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
|
|
||||||
url('./fonts/woff/IRANSansWeb_Bold.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/IRANSansWeb_Bold.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: IRANSans;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 500;
|
|
||||||
src: url('./fonts/eot/IRANSansWeb_Medium.eot');
|
|
||||||
src: url('./fonts/eot/IRANSansWeb_Medium.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff2/IRANSansWeb_Medium.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
|
|
||||||
url('./fonts/woff/IRANSansWeb_Medium.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/IRANSansWeb_Medium.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: IRANSans;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 300;
|
|
||||||
src: url('./fonts/eot/IRANSansWeb_Light.eot');
|
|
||||||
src: url('./fonts/eot/IRANSansWeb_Light.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff2/IRANSansWeb_Light.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
|
|
||||||
url('./fonts/woff/IRANSansWeb_Light.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/IRANSansWeb_Light.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: IRANSans;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 200;
|
|
||||||
src: url('./fonts/eot/IRANSansWeb_UltraLight.eot');
|
|
||||||
src: url('./fonts/eot/IRANSansWeb_UltraLight.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff2/IRANSansWeb_UltraLight.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
|
|
||||||
url('./fonts/woff/IRANSansWeb_UltraLight.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/IRANSansWeb_UltraLight.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: IRANSans;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: normal;
|
|
||||||
src: url('./fonts/eot/IRANSansWeb.eot');
|
|
||||||
src: url('./fonts/eot/IRANSansWeb.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff2/IRANSansWeb.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
|
|
||||||
url('./fonts/woff/IRANSansWeb.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/IRANSansWeb.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: Parastoo;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: normal;
|
|
||||||
src: url('./fonts/eot/Parastoo.eot');
|
|
||||||
src: url('./fonts/eot/Parastoo.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff/Parastoo.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/Parastoo.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: Parastoo;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: bold;
|
|
||||||
src: url('./fonts/eot/Parastoo-Bold.eot');
|
|
||||||
src: url('./fonts/eot/Parastoo-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
|
|
||||||
url('./fonts/woff/Parastoo-Bold.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
|
|
||||||
url('./fonts/ttf/Parastoo-Bold.ttf') format('truetype');
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.2 KiB |
@@ -1,276 +0,0 @@
|
|||||||
{
|
|
||||||
"app_name": "سامانه CRM",
|
|
||||||
"app_short_name": "سامانه CRM",
|
|
||||||
"dashboard": "داشبورد",
|
|
||||||
"powered_by_witel": "توسعه یافته توسط وایتل",
|
|
||||||
"first_page": "خوش آمدید",
|
|
||||||
"login": "ورود",
|
|
||||||
"login_expert": "ورود کارشناس",
|
|
||||||
"expert": "کارشناس",
|
|
||||||
"last_updated_at": "اخرین بروز رسانی",
|
|
||||||
"filter_mode": "حالت فیلتر",
|
|
||||||
"date_picker_label": "فیلتر بر اساس تاریخ",
|
|
||||||
"lessThan": "کوچکتر از",
|
|
||||||
"greaterThan": "بزرگتر از",
|
|
||||||
"between": "میان",
|
|
||||||
"online_message": "شما به اینترنت وصل هستید",
|
|
||||||
"offline_message": "اتصال شما به اینترنت قطع شده است",
|
|
||||||
"routing_to": "در حال انتقال به صفحه",
|
|
||||||
"socket_is_connect_message": "شما به سوکت وصل هستید",
|
|
||||||
"socket_is_not_connect_message": "اتصال شما به سوکت قطع شده است",
|
|
||||||
"header": {
|
|
||||||
"open_profile": "پروفایل",
|
|
||||||
"edit_profile": " پروفایل",
|
|
||||||
"change_password": "تغییر رمز عبور",
|
|
||||||
"logout": "خروج"
|
|
||||||
},
|
|
||||||
"Titles": {
|
|
||||||
"title_login_page": "صفحه ورود",
|
|
||||||
"title_login_expert_page": "ورود کارشناس",
|
|
||||||
"title_custom_404": "صفحه یافت نشد",
|
|
||||||
"title_custom_403": "عدم دسترسی",
|
|
||||||
"title_custom_500": "خطای سرور"
|
|
||||||
},
|
|
||||||
"sidebar": {
|
|
||||||
"dashboard": "داشبورد",
|
|
||||||
"change-password": "تغییر رمز عبور",
|
|
||||||
"edit-profile": "ویرایش پروفایل",
|
|
||||||
"role-management": "مدیریت نقش ها",
|
|
||||||
"admin": "مدیریت",
|
|
||||||
"expert-management": "مدیریت کارشناسان"
|
|
||||||
},
|
|
||||||
"secondary": {
|
|
||||||
},
|
|
||||||
"Authorization": {
|
|
||||||
"typography_your_login_is_valid_and_you_do_not_need_to_login_again": "شما دسترسی لازم به این صفحه را دارید نیاز به ورود مجدد نیست.",
|
|
||||||
"typography_your_access_to_this_page_has_expired_Please_login_again": "دسترسی شما منقضی شده است لطفا دوباره ورود نمایید.",
|
|
||||||
"typography_redirect_to": "درحال رفتن به صفحه",
|
|
||||||
"typography_routing_previuos_page": " قبل...",
|
|
||||||
"typography_routing_dashbaord_page": "داشبورد..."
|
|
||||||
},
|
|
||||||
"Permission": {
|
|
||||||
"typography_you_dont_have_access": "شما دسترسی لازم برای مشاهده این صفحه را ندارید!",
|
|
||||||
"button_back_dashboard": "بازگشت به صفحه اصلی"
|
|
||||||
},
|
|
||||||
"LoginPage": {
|
|
||||||
"text_field_user_name": "نام کاربری",
|
|
||||||
"text_field_enter_your_username": "نام کاربری خود را وارد کنید",
|
|
||||||
"text_field_password": "رمز عبور",
|
|
||||||
"text_field_enter_your_password": "رمز عبور خود را وارد کنید",
|
|
||||||
"button_submit": "ورود",
|
|
||||||
"link_routing_back_to": "بازگشت به",
|
|
||||||
"link_routing_previuos_page": "صفحه قبل",
|
|
||||||
"link_routing_main_page": "صفحه اصلی",
|
|
||||||
"username_error_message_required": "وارد کردن نام کاربری الزامیست",
|
|
||||||
"password_error_message_required": "وارد کردن رمز عبور الزامیست"
|
|
||||||
},
|
|
||||||
"ErrorPage": {
|
|
||||||
"custom_404": "صفحه مورد نظر یافت نشد | 404",
|
|
||||||
"custom_500": "دسترسی به سامانه امکانپذیر نمی باشد دقایقی دیگر تلاش نمائید | 500",
|
|
||||||
"custom_403": "شما دسترسی به این بخش را ندارید | 403",
|
|
||||||
"link_routing_back_to": "بازگشت به",
|
|
||||||
"link_routing_previuos_page": "صفحه قبل",
|
|
||||||
"link_routing_main_page": "صفحه اصلی"
|
|
||||||
},
|
|
||||||
"Dashboard": {
|
|
||||||
"dashboard_page": "داشبورد",
|
|
||||||
"change_password": "تغییر رمز عبور",
|
|
||||||
"edit_profile": "ویرایش پروفایل",
|
|
||||||
"role_management_page": "مدیریت نقش ها",
|
|
||||||
"expert_management": "مدیریت کارشناسان"
|
|
||||||
},
|
|
||||||
"MuiDatePicker": {
|
|
||||||
"date_picker_birthday": "تاریخ"
|
|
||||||
},
|
|
||||||
"ChangePassword": {
|
|
||||||
"typography_change_password": "تغییر رمز عبور",
|
|
||||||
"label_current_password": "رمز عبور فعلی",
|
|
||||||
"label_new_password": "رمز عبور جدید",
|
|
||||||
"label_confirm_password": "تکرار رمز عبور جدید",
|
|
||||||
"error_message_current_password_required": "وارد کردن رمز عبور فعلی الزامیست!",
|
|
||||||
"error_message_new_password_required": "وارد کردن رمز عبور جدید الزامیست!",
|
|
||||||
"error_message_confirm_password_required": "وارد کردن تکرار رمز عبور جدید الزامیست!",
|
|
||||||
"error_message_password_length": "رمز عبور باید حداقل 8 کاراکتر باشد.",
|
|
||||||
"error_message_password_match": "پسورد ها یکسان هستند",
|
|
||||||
"error_message_password_not_match": "پسورد و تکرار رمز عبور باید یکسان باشد"
|
|
||||||
},
|
|
||||||
"SubmitButton": {
|
|
||||||
"button_while_submit": "در حال ثبت",
|
|
||||||
"button_submit": "ثبت"
|
|
||||||
},
|
|
||||||
"UpdateProfile": {
|
|
||||||
"error_invalid_email": "ایمیل نامعتبر است",
|
|
||||||
"typography_edit_profile": "پروفایل",
|
|
||||||
"text_field_email": "ایمیل",
|
|
||||||
"text_field_enter_your_password": "رمز عبور خود را وارد کنید",
|
|
||||||
"text_field_username": "نام کاربری",
|
|
||||||
"text_field_name": "نام",
|
|
||||||
"text_field_phone_number": "شماره تماس",
|
|
||||||
"text_field_position": "سمت",
|
|
||||||
"text_field_province_name": "نام استان",
|
|
||||||
"error_message_required": "اجباری !"
|
|
||||||
},
|
|
||||||
"notifications": {
|
|
||||||
"code": "کد",
|
|
||||||
"error": "خطا",
|
|
||||||
"warning": "خطا",
|
|
||||||
"success": "موفق",
|
|
||||||
"error_static_text": "عملیات شما با خطا مواجه شد",
|
|
||||||
"warning_static_text": "خطا سرور",
|
|
||||||
"success_static_text": "عملیات شما با موفقیت انجام شد",
|
|
||||||
"pending": "در حال انجام..."
|
|
||||||
},
|
|
||||||
"UploadSystem": {
|
|
||||||
"upload_file": "فایل خود را بارگذاری کنید",
|
|
||||||
"optional": " (اختیاری)",
|
|
||||||
"upload_file_unit": "حداکثر 2Mb",
|
|
||||||
"upload_file_format": "فرمت قابل قبول : png,jpg,pdf",
|
|
||||||
"delete": "پاک کردن",
|
|
||||||
"uploadfile_error": "حجم فایل بیشتر از 2 مگابایت می باشد"
|
|
||||||
},
|
|
||||||
"RoleManagement": {
|
|
||||||
"id": "کد یکتا",
|
|
||||||
"name_fa": "نام فارسی ",
|
|
||||||
"name": "نام انگلیسی",
|
|
||||||
"created_at": "تاریخ درخواست",
|
|
||||||
"updated_at": "تاریخ بروزرسانی"
|
|
||||||
},
|
|
||||||
"AddDialog": {
|
|
||||||
"add": "افزودن",
|
|
||||||
"name_en": "نام انگلیسی",
|
|
||||||
"name_en_error": "وارد کردن نام انگلیسی الزامیست",
|
|
||||||
"name_fa": "نام فارسی",
|
|
||||||
"name_fa_error": "وارد کردن نام فارسی الزامیست",
|
|
||||||
"permission": "دسترسی",
|
|
||||||
"permission_min_error": "حداقل باید یک دسترسی انتخاب شود",
|
|
||||||
"phone_number": "شماره تلفن",
|
|
||||||
"phone_number_positive": "شماره تلفن باید مثبت باشد",
|
|
||||||
"phone_number_error": "وارد کردن شماره تلفن الزامیست",
|
|
||||||
"phone_number_number": "شماره تلفن باید شامل اعداد باشد",
|
|
||||||
"phone_number_max": "شماره تلفن باید شامل 11 رقم باشد",
|
|
||||||
"national_id_positive": "کد ملی باید مثبت باشد",
|
|
||||||
"national_id_number": "کد ملی باید شامل اعداد باشد",
|
|
||||||
"national_id_max": "کد ملی باید شامل 10 رقم باشد",
|
|
||||||
"national_id": "کد ملی",
|
|
||||||
"national_id_error": "وارد کردن کد ملی الزامیست",
|
|
||||||
"type_id_error": "وارد کردن نوع کاربر الزامیست",
|
|
||||||
"navgan_id_error": "وارد کردن کد ناوگان الزامیست",
|
|
||||||
"refahi": "رفاهی",
|
|
||||||
"navgan": "ناوگان",
|
|
||||||
"type_id": "نوع کاربر",
|
|
||||||
"navgan_id": "کد ناوگان",
|
|
||||||
"button-cancel": "انصراف",
|
|
||||||
"loading_permissions_list": "درحال دریافت لیست دسترسی ها",
|
|
||||||
"button-add": "ثبت"
|
|
||||||
},
|
|
||||||
"UpdateDialog": {
|
|
||||||
"update": "ویرایش",
|
|
||||||
"description": "توضیحات خود را وارد نمائید",
|
|
||||||
"description_error": "وارد کردن توضیحات الزامی است!",
|
|
||||||
"next-state-id": "وضعیت",
|
|
||||||
"next-state-id-error": "وارد کردن وضعیت الزامیست",
|
|
||||||
"update-tooltip": "ویرایش",
|
|
||||||
"button-cancel": "بستن",
|
|
||||||
"refahi": "رفاهی",
|
|
||||||
"navgan": "ناوگان",
|
|
||||||
"phone_number": "شماره تلفن",
|
|
||||||
"national_id": "کد ملی",
|
|
||||||
"name_en": "نام انگلیسی",
|
|
||||||
"name_en_error": "وارد کردن نام انگلیسی الزامیست",
|
|
||||||
"name_fa": "نام فارسی",
|
|
||||||
"name_fa_error": "وارد کردن نام فارسی الزامیست",
|
|
||||||
"permission": "دسترسی",
|
|
||||||
"permission_min_error": "حداقل باید یک دسترسی انتخاب شود",
|
|
||||||
"type_id": "نوع کاربر",
|
|
||||||
"navgan_id": "کد ناوگان",
|
|
||||||
"loading_permissions_list": "درحال دریافت لیست دسترسی ها",
|
|
||||||
"button-update": "ثبت"
|
|
||||||
},
|
|
||||||
"DeleteDialog": {
|
|
||||||
"delete": "حذف",
|
|
||||||
"button-cancel": "انصراف",
|
|
||||||
"typography": "آیا از حدف این مورد اطمینان دارید ؟",
|
|
||||||
"button-delete": "حذف کردن"
|
|
||||||
},
|
|
||||||
"ExpertMangement": {
|
|
||||||
"id": "کد یکتا",
|
|
||||||
"name": "نام کامل",
|
|
||||||
"username": "نام کاربری",
|
|
||||||
"email": "پست الکترونیک",
|
|
||||||
"telephone_id": "کد تلفن",
|
|
||||||
"phone_number": "شماره همراه",
|
|
||||||
"national_id": "کد ملی",
|
|
||||||
"position": "سمت",
|
|
||||||
"province_fa": "استان",
|
|
||||||
"role_name": "نقش",
|
|
||||||
"gender": "جنسیت",
|
|
||||||
"male": "مرد",
|
|
||||||
"female": "زن",
|
|
||||||
"updated_at": "آخرین بروزرسانی",
|
|
||||||
"create": "افزودن",
|
|
||||||
"personal_info": "مشخصات کارشناس",
|
|
||||||
"user_info": "اطلاعات کاربری",
|
|
||||||
"rest_info": "اطلاعات تکمیلی",
|
|
||||||
"text_field_full_name": "نام کامل",
|
|
||||||
"text_field_username": "نام کاربری",
|
|
||||||
"text_field_email": "پست الکترونیک",
|
|
||||||
"text_field_phone_number": "شماره همراه",
|
|
||||||
"text_field_telephone_id": "کد تلفن",
|
|
||||||
"text_field_gender": "جنسیت",
|
|
||||||
"text_field_national_id": "کد ملی",
|
|
||||||
"text_field_password": "رمز عبور",
|
|
||||||
"text_field_position": "سمت",
|
|
||||||
"text_field_province_id": "استان",
|
|
||||||
"text_field_roles": "نقش",
|
|
||||||
"text_field_loading_provinces_list": "درحال دریافت شهر ها",
|
|
||||||
"text_field_error_fetching_provinces": "خطا در دریافت شهر ها",
|
|
||||||
"text_field_loading_roles_list": "درحال دریافت نقش ها",
|
|
||||||
"text_field_error_fetching_roles": "خطا در دریافت نقش ها",
|
|
||||||
"text_field_please_select_province": "ابتدا استان خود را انتخاب کنید",
|
|
||||||
"text_field_loading_cities_list": "درحال دریافت شهر ها",
|
|
||||||
"text_field_error_fetching_cities": "خطا در دریافت شهر ها",
|
|
||||||
"text_field_new_password": "رمز عبور جدید",
|
|
||||||
"error_message_full_name": "نام کامل خود را وارد کنید",
|
|
||||||
"error_message_username": "نام کاربری خود را وارد کنید",
|
|
||||||
"error_message_email": "پست الکترونیک خود را وارد کنید",
|
|
||||||
"error_message_phone_number": "شماره همراه خود را وارد کنید",
|
|
||||||
"error_message_telephone_id": "کد تلفن خود را وارد کنید",
|
|
||||||
"error_message_gender": "جنسیت خود را وارد کنید",
|
|
||||||
"error_message_national_id": "کد ملی خود را وارد کنید",
|
|
||||||
"error_message_password": "رمز عبور خود را وارد کنید",
|
|
||||||
"error_message_password_regex": "رمز عبور باید حداقل 8 کاراکتر و متشکل از عدد، حرف یا سمبل باشد",
|
|
||||||
"error_message_position": "سمت خود را وارد کنید",
|
|
||||||
"error_message_province_id": "استان خود را وارد کنید",
|
|
||||||
"error_message_roles": "نقش خود را وارد کنید",
|
|
||||||
"error_message_new_password": "رمز عبور جدید را وارد کنید",
|
|
||||||
"error_message_new_password_regex": "رمز عبور باید حداقل 8 کاراکتر و متشکل از عدد، حرف یا سمبل باشد",
|
|
||||||
"button_cancel": "بستن",
|
|
||||||
"button_confirm": "ثبت",
|
|
||||||
"delete_expert": "حذف کارشناس",
|
|
||||||
"are_you_sure_text": "آیا از انجام این عملیات اطمینان دارید؟",
|
|
||||||
"button_delete": "حذف",
|
|
||||||
"delete_tooltip": "حذف",
|
|
||||||
"update_tooltip": "ویرایش",
|
|
||||||
"update_expert": "ویرایش کارشناس"
|
|
||||||
},
|
|
||||||
"CallHistory": {
|
|
||||||
"category_name": "موضوع",
|
|
||||||
"subcategory_name": "زیر موضوع",
|
|
||||||
"operator": "اپراتور",
|
|
||||||
"date": "تاریخ",
|
|
||||||
"call_history_of": "تاریخچه تماس های",
|
|
||||||
"call_history_not_found": "تاریخچه ای برای تماس دریافتی یافت نشد",
|
|
||||||
"call_history_error_fetching": "خطا در دریافت تاریخچه تماس دریافتی",
|
|
||||||
"show_more": "نمایش موارد بیشتر",
|
|
||||||
"no_data_exist": "اطلاعاتی موجود نیست",
|
|
||||||
"description": "توضیحات"
|
|
||||||
},
|
|
||||||
"CallAction": {
|
|
||||||
"call_history_of": "عملیات های مربوط به تماس",
|
|
||||||
"categories": "موضوع ها",
|
|
||||||
"subcategories": "زیر موضوع ها",
|
|
||||||
"description": "توضیحات تماس (اختیاری)",
|
|
||||||
"text_field_label": "توضیحات",
|
|
||||||
"text_field_palacholder": "لطفا توضیحات خود را وارد نمایید"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,92 +0,0 @@
|
|||||||
export const FA_DATATABLE_LOCALIZATION = {
|
|
||||||
actions: "عملیات",
|
|
||||||
and: "و",
|
|
||||||
cancel: "لغو",
|
|
||||||
changeFilterMode: "تغییر حالت فیلتر",
|
|
||||||
changeSearchMode: "تغییر حالت جستجو",
|
|
||||||
clearFilter: "پاک کردن فیلتر",
|
|
||||||
clearSearch: "پاک کردن جستجو",
|
|
||||||
clearSort: "پاک کردن مرتب سازی",
|
|
||||||
clickToCopy: "کلیک برای کپی",
|
|
||||||
collapse: "جمع شدن",
|
|
||||||
collapseAll: "جمع شدن همه",
|
|
||||||
columnActions: "عملیات ستون",
|
|
||||||
copiedToClipboard: "کپی شد",
|
|
||||||
dropToGroupBy: "رها کردن برای گروه بندی بر اساس {column}",
|
|
||||||
edit: "ویرایش",
|
|
||||||
expand: "باز شدن",
|
|
||||||
expandAll: "باز شدن همه",
|
|
||||||
filterArrIncludes: "شامل",
|
|
||||||
filterArrIncludesAll: "شامل همه",
|
|
||||||
filterArrIncludesSome: "شامل",
|
|
||||||
filterBetween: "میان",
|
|
||||||
filterBetweenInclusive: "میان با احتساب هر دو",
|
|
||||||
filterByColumn: "فیلتر بر اساس {column}",
|
|
||||||
filterContains: "شامل",
|
|
||||||
filterEmpty: "خالی",
|
|
||||||
filterEndsWith: "به پایان میرسد با",
|
|
||||||
filterEquals: "برابر",
|
|
||||||
filterEqualsString: "برابر",
|
|
||||||
filterFuzzy: "نزدیک",
|
|
||||||
filterGreaterThan: "بزرگتر از",
|
|
||||||
filterGreaterThanOrEqualTo: "بزرگتر یا مساوی",
|
|
||||||
filterInNumberRange: "میان",
|
|
||||||
filterIncludesString: "شامل",
|
|
||||||
filterIncludesStringSensitive: "شامل",
|
|
||||||
filterLessThan: "کوچکتر از",
|
|
||||||
filterLessThanOrEqualTo: "کوچکتر یا مساوی",
|
|
||||||
filterMode: "حالت فیلتر: {filterType}",
|
|
||||||
filterNotEmpty: "غیر خالی",
|
|
||||||
filterNotEquals: "نا برابر",
|
|
||||||
filterStartsWith: "شروع میشود با",
|
|
||||||
filterWeakEquals: "برابر",
|
|
||||||
filteringByColumn: "فیلتر بر اساس {column} - {filterType} {filterValue}",
|
|
||||||
goToFirstPage: "رفتن به صفحه اول",
|
|
||||||
goToLastPage: "رفتن به صفحه آخر",
|
|
||||||
goToNextPage: "رفتن به صفحه بعدی",
|
|
||||||
goToPreviousPage: "رفتن به صفحه قبلی",
|
|
||||||
grab: "گرفتن",
|
|
||||||
groupByColumn: "گروه بندی بر اساس {column}",
|
|
||||||
groupedBy: "گروه بندی شده بر اساس",
|
|
||||||
hideAll: "پنهان کردن همه",
|
|
||||||
hideColumn: "پنهان کردن ستون {column}",
|
|
||||||
max: "حداکثر",
|
|
||||||
min: "حداقل",
|
|
||||||
move: "انتقال",
|
|
||||||
noRecordsToDisplay: "هیچ رکوردی برای نمایش وجود ندارد",
|
|
||||||
noResultsFound: "نتیجهای یافت نشد",
|
|
||||||
of: "از",
|
|
||||||
or: "یا",
|
|
||||||
pinToLeft: "چسباندن به سمت چپ",
|
|
||||||
pinToRight: "چسباندن به سمت راست",
|
|
||||||
resetColumnSize: "بازنشانی اندازه ستون",
|
|
||||||
resetOrder: "بازنشانی ترتیب",
|
|
||||||
rowActions: "عملیات ردیف",
|
|
||||||
rowNumber: "#",
|
|
||||||
rowNumbers: "شماره ردیف",
|
|
||||||
rowsPerPage: "ردیف در هر صفحه",
|
|
||||||
save: "ذخیره",
|
|
||||||
search: "جستجو",
|
|
||||||
selectedCountOfRowCountRowsSelected:
|
|
||||||
"{selectedCount} از {rowCount} ردیف انتخاب شده",
|
|
||||||
select: "انتخاب",
|
|
||||||
showAll: "نمایش همه",
|
|
||||||
showAllColumns: "نمایش همه ستونها",
|
|
||||||
showHideColumns: "نمایش/مخفی کردن ستونها",
|
|
||||||
showHideFilters: "نمایش/مخفی کردن فیلترها",
|
|
||||||
showHideSearch: "نمایش/مخفی کردن جستجو",
|
|
||||||
sortByColumnAsc: "مرتب سازی بر اساس {column} صعودی",
|
|
||||||
sortByColumnDesc: "مرتب سازی بر اساس {column} نزولی",
|
|
||||||
sortedByColumnAsc: "مرتب شده بر اساس {column} صعودی",
|
|
||||||
sortedByColumnDesc: "مرتب شده بر اساس {column} نزولی",
|
|
||||||
thenBy: "، سپس بر اساس ",
|
|
||||||
toggleDensity: "تغییر تراکم",
|
|
||||||
toggleFullScreen: "تغییر حالت تمام صفحه",
|
|
||||||
toggleSelectAll: "انتخاب/عدم انتخاب همه",
|
|
||||||
toggleSelectRow: "انتخاب/عدم انتخاب ردیف",
|
|
||||||
toggleVisibility: "تغییر پیدا/پنهان",
|
|
||||||
ungroupByColumn: "لغو گروه بندی بر اساس {column}",
|
|
||||||
unpin: "رها کردن",
|
|
||||||
unpinAll: "رها کردن همه",
|
|
||||||
unsorted: "بدون مرتب سازی",
|
|
||||||
};
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
{
|
|
||||||
"short_name": "CRM Dashboard",
|
|
||||||
"name": "CRM Expert Dashboard",
|
|
||||||
"description": "CRM",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"version_name": "1.0.0 beta",
|
|
||||||
"start_url": "/dashboard",
|
|
||||||
"orientation": "portrait",
|
|
||||||
"display": "standalone",
|
|
||||||
"theme_color": "#084070",
|
|
||||||
"background_color": "#084070",
|
|
||||||
"icons": [
|
|
||||||
{
|
|
||||||
"src": "/icons/maskable_icon.png",
|
|
||||||
"sizes": "any",
|
|
||||||
"type": "image/png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"src": "/icons/maskable_icon_x48.png",
|
|
||||||
"sizes": "48x48",
|
|
||||||
"type": "image/png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"src": "/icons/maskable_icon_x72.png",
|
|
||||||
"sizes": "72x72",
|
|
||||||
"type": "image/png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"src": "/icons/maskable_icon_x96.png",
|
|
||||||
"sizes": "96x96",
|
|
||||||
"type": "image/png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"src": "/icons/maskable_icon_x128.png",
|
|
||||||
"sizes": "128x128",
|
|
||||||
"type": "image/png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"src": "/icons/maskable_icon_x192.png",
|
|
||||||
"sizes": "192x192",
|
|
||||||
"type": "image/png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"src": "/icons/maskable_icon_x384.png",
|
|
||||||
"sizes": "384x384",
|
|
||||||
"type": "image/png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"src": "/icons/maskable_icon_x512.png",
|
|
||||||
"sizes": "512x512",
|
|
||||||
"type": "image/png"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"government"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
"use client";
|
||||||
|
import PageLoading from "@/core/components/PageLoading";
|
||||||
|
|
||||||
|
const Loading = () => {
|
||||||
|
return <PageLoading />;
|
||||||
|
};
|
||||||
|
export default Loading;
|
||||||
9
src/app/(withAuth)/(dashboardLayout)/dashboard/page.js
Normal file
9
src/app/(withAuth)/(dashboardLayout)/dashboard/page.js
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
export const metadata = {
|
||||||
|
title: "پیشخوان",
|
||||||
|
};
|
||||||
|
|
||||||
|
const Page = () => {
|
||||||
|
return <></>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Page;
|
||||||
19
src/app/(withAuth)/(dashboardLayout)/layout.js
Normal file
19
src/app/(withAuth)/(dashboardLayout)/layout.js
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import HeaderWithSidebar from "@/components/layouts/dashboard/headerWithSidebar";
|
||||||
|
import CallWidget from "@/components/widget/call";
|
||||||
|
import WithWidgetMiddleware from "@/core/middlewares/withWidget";
|
||||||
|
import { SocketProvider } from "@/lib/contexts/socket";
|
||||||
|
import { Stack } from "@mui/material";
|
||||||
|
|
||||||
|
const Layout = ({ children }) => {
|
||||||
|
return (
|
||||||
|
<SocketProvider>
|
||||||
|
<Stack sx={{ width: "100%", height: "100%" }}>
|
||||||
|
<HeaderWithSidebar>{children}</HeaderWithSidebar>
|
||||||
|
</Stack>
|
||||||
|
<WithWidgetMiddleware enable={true}>
|
||||||
|
<CallWidget />
|
||||||
|
</WithWidgetMiddleware>
|
||||||
|
</SocketProvider>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
export default Layout;
|
||||||
7
src/app/(withAuth)/layout.js
Normal file
7
src/app/(withAuth)/layout.js
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import WithAuthMiddleware from "@/core/middlewares/withAuth";
|
||||||
|
|
||||||
|
const Layout = ({ children }) => {
|
||||||
|
return <WithAuthMiddleware>{children}</WithAuthMiddleware>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Layout;
|
||||||
13
src/app/(withoutAuth)/layout.js
Normal file
13
src/app/(withoutAuth)/layout.js
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
"use client";
|
||||||
|
import WithoutAuthMiddleware from "@/core/middlewares/withoutAuth";
|
||||||
|
import { Suspense } from "react";
|
||||||
|
|
||||||
|
const Layout = ({ children }) => {
|
||||||
|
return (
|
||||||
|
<Suspense>
|
||||||
|
<WithoutAuthMiddleware>{children}</WithoutAuthMiddleware>
|
||||||
|
</Suspense>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Layout;
|
||||||
10
src/app/(withoutAuth)/login/page.js
Normal file
10
src/app/(withoutAuth)/login/page.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
import LoginPage from "@/components/Login";
|
||||||
|
|
||||||
|
export const metadata = {
|
||||||
|
title: "ورود",
|
||||||
|
};
|
||||||
|
|
||||||
|
const Page = () => {
|
||||||
|
return <LoginPage />;
|
||||||
|
};
|
||||||
|
export default Page;
|
||||||
3
src/app/default.js
Normal file
3
src/app/default.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
export default function Default() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
29
src/app/layout.js
Normal file
29
src/app/layout.js
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import { Rtl } from "@/core/utils/cacheRtl";
|
||||||
|
import { AuthProvider } from "@/lib/contexts/auth";
|
||||||
|
import { TableSettingProvider } from "@/lib/contexts/tableSetting";
|
||||||
|
import { AppRouterCacheProvider } from "@mui/material-nextjs/v15-appRouter";
|
||||||
|
|
||||||
|
export const metadata = {
|
||||||
|
title: {
|
||||||
|
template: "%s | سامانه CRM",
|
||||||
|
default: "سامانه CRM",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default function RootLayout({ children }) {
|
||||||
|
return (
|
||||||
|
<html lang="fa" dir={"rtl"}>
|
||||||
|
<head></head>
|
||||||
|
<body style={{ height: "100vh", width: "100vw" }}>
|
||||||
|
<AppRouterCacheProvider
|
||||||
|
CacheProvider={Rtl}
|
||||||
|
options={{ enableCssLayer: true }}
|
||||||
|
>
|
||||||
|
<AuthProvider>
|
||||||
|
<TableSettingProvider>{children}</TableSettingProvider>
|
||||||
|
</AuthProvider>
|
||||||
|
</AppRouterCacheProvider>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
);
|
||||||
|
}
|
||||||
21
src/app/not-found.js
Normal file
21
src/app/not-found.js
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
"use client";
|
||||||
|
import { Box, Stack, Typography } from "@mui/material";
|
||||||
|
import SvgNotFound from "@/core/components/svgs/SvgNotFound";
|
||||||
|
|
||||||
|
export default function NotFound() {
|
||||||
|
return (
|
||||||
|
<Stack
|
||||||
|
sx={{ height: "100%" }}
|
||||||
|
justifyContent={"center"}
|
||||||
|
alignItems={"center"}
|
||||||
|
spacing={2}
|
||||||
|
>
|
||||||
|
<Box>
|
||||||
|
<SvgNotFound width={200} height={200} />
|
||||||
|
</Box>
|
||||||
|
<Typography variant={"body1"} sx={{ color: "primary.main" }}>
|
||||||
|
صفحه موردنظر یافت نشد ...
|
||||||
|
</Typography>
|
||||||
|
</Stack>
|
||||||
|
);
|
||||||
|
}
|
||||||
8
src/app/page.js
Normal file
8
src/app/page.js
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import { redirect } from "next/navigation";
|
||||||
|
|
||||||
|
function Page() {
|
||||||
|
redirect("/dashboard", "replace");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Page;
|
||||||
40
src/app/template.js
Normal file
40
src/app/template.js
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
"use client";
|
||||||
|
import "@/assets/scss/fontiran.scss";
|
||||||
|
import "@/assets/scss/global.scss";
|
||||||
|
import theme from "@/core/utils/theme";
|
||||||
|
import { CssBaseline, GlobalStyles, ThemeProvider } from "@mui/material";
|
||||||
|
|
||||||
|
import { ToastContainer } from "react-toastify";
|
||||||
|
|
||||||
|
const Template = ({ children }) => {
|
||||||
|
return (
|
||||||
|
<ThemeProvider theme={theme}>
|
||||||
|
<GlobalStyles
|
||||||
|
styles={{
|
||||||
|
"*": {
|
||||||
|
scrollbarWidth: "thin",
|
||||||
|
scrollbarColor: `#155175 transparent`,
|
||||||
|
},
|
||||||
|
"*&::-webkit-scrollbar": {
|
||||||
|
width: "4px",
|
||||||
|
},
|
||||||
|
"*&::-webkit-scrollbar-track": {
|
||||||
|
boxShadow: "inset 0 0 5px #fff",
|
||||||
|
borderRadius: "4px",
|
||||||
|
},
|
||||||
|
"*&::-webkit-scrollbar-thumb": {
|
||||||
|
background: "#155175",
|
||||||
|
borderRadius: "4px",
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<CssBaseline />
|
||||||
|
{children}
|
||||||
|
<ToastContainer rtl containerId="filtering" closeButton={false} />
|
||||||
|
<ToastContainer rtl containerId="request_data" />
|
||||||
|
<ToastContainer rtl containerId="socket_connection" position="top-left" />
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Template;
|
||||||
BIN
src/assets/fonts/ttf/BNazanin.ttf
Normal file
BIN
src/assets/fonts/ttf/BNazanin.ttf
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user