Skip to content

Commit

Permalink
Merge pull request #745 from unoplatform/dev/mara/todo-singleproject
Browse files Browse the repository at this point in the history
feat: ToDo sample app singleproject
  • Loading branch information
agneszitte authored Jun 20, 2024
2 parents 362f9b3 + 63eb3bc commit 257f0d5
Show file tree
Hide file tree
Showing 351 changed files with 2,326 additions and 3,581 deletions.
29 changes: 20 additions & 9 deletions reference/ToDo/README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,28 @@
# ToDo App

<p align="center">
<img src="doc/assets/To_Do_App_Banner.png">
<img src="doc/assets/ToDoApp_Banner.png">
</p>

# Uno Platform "Uno To Do" reference app
`Uno To Do` is a beautifully designed sample app for [Uno Platform](https://platform.uno/) using the latest [Material Design 3 system](https://m3.material.io/).
Uno ToDo is a beautifully designed sample app for [Uno Platform](https://platform.uno/) using the latest [Material Design 3 system](https://m3.material.io/).

The design template makes it easy to jump-start or learn Uno Platform-powered mobile, web, and desktop applications. The app provides common functions such as logging on, recording tasks, adding due dates, setting reminders, and more.

In addition, the sample code utilizes [Uno.Extensions](https://aka.platform.uno/uno-extensions) and establishes the best practices for cross-platform application design and development considering multiple screen sizes, accessibility, enforcing brand guidelines, and more.

## Acknowledgments
- [Uno Platform](https://platform.uno)
- [Uno.Extensions Documentation](https://aka.platform.uno/uno-extensions)
- [Uno Platform for Figma plugin](https://aka.platform.uno/uno-figma-plugin)
- [Uno Platform Material Toolkit for Figma](https://aka.platform.uno/uno-figma-material-toolkit)
- [Material Design 3](https://m3.material.io/)
![ToDoApp Gif](doc/assets/ToDoApp.gif)

## Codebase

* [**WelcomeViewModel.cs**](src/ToDo/Presentation/WelcomeViewModel.cs) accessing tokens with Authentication.
* [**TaskListViewModel.cs**](src/ToDo/Presentation/TaskListViewModel.cs) common Navigation methods.
* [**HomeViewModel.cs**](src/ToDo/Presentation/HomeViewModel.cs) changing the language with Localization via the model.
* [**TaskListPage.xaml**](src/ToDo/Views/TaskListPage.xaml) adapting the language in the Xaml with Localization via `x:Uid`.
* [**SettingsViewModel.cs**](src/ToDo/Presentation/SettingsViewModel.cs) theme switching with ThemeService.
* [**TaskListViewModel.cs**](src/ToDo/Presentation/TaskListViewModel.cs) Reactive ListFeeds with [**TaskListPage.xaml**](src/ToDo/Views/TaskListPage.xaml) FeedViews.


## What is the Uno Platform

[Uno Platform](https://platform.uno) is an open-source .NET platform for building single codebase native mobile, web, desktop, and embedded apps quickly.
For additional information about Uno Platform or if you have any feedback to share, please refer to the [README.md](../../README.md) file in this Samples repository.
Binary file added reference/ToDo/doc/assets/ToDoApp.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
167 changes: 167 additions & 0 deletions reference/ToDo/src/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
; This file is for unifying the coding style for different editors and IDEs.
; More information at http://editorconfig.org

# This file is the top-most EditorConfig file
root = true

##########################################
# Common Settings
##########################################

[*]
indent_style = space
end_of_line = crlf
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8

##########################################
# File Extension Settings
##########################################

[*.{yml,yaml}]
indent_size = 2

[.vsconfig]
indent_size = 2
end_of_line = lf

[*.sln]
indent_style = tab
indent_size = 2

[*.{csproj,proj,projitems,shproj}]
indent_size = 2

[*.{json,slnf}]
indent_size = 2
end_of_line = lf

[*.{props,targets}]
indent_size = 2

[*.xaml]
indent_size = 2
charset = utf-8-bom

[*.xml]
indent_size = 2
end_of_line = lf

[*.plist]
indent_size = 2
indent_style = tab
end_of_line = lf

[*.manifest]
indent_size = 2

[*.appxmanifest]
indent_size = 2

[*.{json,css,webmanifest}]
indent_size = 2
end_of_line = lf

[web.config]
indent_size = 2
end_of_line = lf

[*.sh]
indent_size = 2
end_of_line = lf

[*.cs]
# EOL should be normalized by Git. See https://github.com/dotnet/format/issues/1099
end_of_line = unset

# See https://github.com/dotnet/roslyn/issues/20356#issuecomment-310143926
trim_trailing_whitespace = false

tab_width = 4
indent_size = 4

# Sort using and Import directives with System.* appearing first
dotnet_sort_system_directives_first = true

# Avoid "this." and "Me." if not necessary
dotnet_style_qualification_for_field = false:suggestion
dotnet_style_qualification_for_property = false:suggestion
dotnet_style_qualification_for_method = false:suggestion
dotnet_style_qualification_for_event = false:suggestion

#### Naming styles ####

# Naming rules

dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

# Symbol specifications

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers =

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers =

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers =

# Naming styles

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_style_operator_placement_when_wrapping = beginning_of_line
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
dotnet_style_prefer_auto_properties = true:silent
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_conditional_expression_over_return = true:silent
dotnet_style_explicit_tuple_names = true:suggestion
dotnet_style_prefer_inferred_tuple_names = true:suggestion

csharp_indent_labels = one_less_than_current
csharp_using_directive_placement = outside_namespace:silent
csharp_prefer_simple_using_statement = true:suggestion
csharp_prefer_braces = true:silent
csharp_style_namespace_declarations = file_scoped:warning
csharp_style_prefer_method_group_conversion = true:silent
csharp_style_prefer_top_level_statements = true:silent
csharp_style_prefer_primary_constructors = true:suggestion
csharp_style_expression_bodied_methods = false:silent
csharp_style_expression_bodied_constructors = false:silent
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_properties = true:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_accessors = true:silent
csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = false:silent
Loading

0 comments on commit 257f0d5

Please sign in to comment.