Giter Club home page Giter Club logo

mauiappaccelerator's People

Contributors

mrlacey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mauiappaccelerator's Issues

Add "C# Markup" as a "coding style"

Add an option for people who aren't XAML fans.

This should support all the same options (nav style, pages & features) as MVVMToolkit & CodeBehind

Add SQLite as a feature option

sqlite.net is a popular library. It could be useful to include an option to add the NuGet package to the app.
open question: could anything else be added to the generated app that could be useful?
e.g.

  • specific additional folders?
  • sample/placeholder code for creating a DB?
  • ???

Dark Mode and CollectionView DataTemplate

Describe the bug
The generated CollectionView DataTemplate for ListDetail is unreadable when run on an OS set to Dark Mode. This has been reproduced under both Windows and iOS.

To Reproduce
Steps to reproduce the behavior:

  1. Generate the default app template that includes the ListDetail page.
  2. Run the app on a Windows or iOS machine set to use Dark Mode
  3. The list will effectively render with black text on a black background

Expected behavior
Text should be reasonably colored (foreground and background) as appropriate to both Light and Dark modes on all platforms.

Screenshots
image
image
image

Versions (please complete the following information):

  • OS: Windows 11 and iOS 17
  • Visual Studio version 2022
  • Extension Version [e.g. 1.0 -- it's in the bottom-righthand corner of the wizard]: 1.3.3

Additional context
Just removing the TextColor setting in the DataTemplate appears to resolve the issue.

Add to existing project?

This is an excellent tool on Windows and I've used it to create a proof of concept app.

After creating the project I found I wanted to add a few more pages and would have liked to have added to the existing project. Is this on the roadmap?

I'm sure that I heard you interviewed on a podcast where you said you'd like to do this?

Also, do you have a Twitter handle so I can follow?

add doesn't adapt to the visual studio theme.

Describe the bug
the app theme doesn't adapt to the vs theme.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Visual Studio and change the theme to dark
  2. Click on Create a new project
  3. When the windows appear, see that the Window doesn't adapt.

Expected behavior
the window turn dark, so I can see and read the text.

Screenshots
image

Versions (please complete the following information):

  • OS:
  • Microsoft Visual Studio Enterprise 2022 Version 17.9.5
  • Extension Version 1.4.2

Font Awesome

Allow an option to include FontAwesome in MauiAppAccelerator.

Glyph type fonts are handy adds to an app. Could explore other popular fonts as well, but FontAwesome would go a long way.

Add support for not storing secrets (keys, etc.) in source

Follow on from #5 (comment) but applies to more than just App Center.

Should this one include an option to prevent production use keys find their way into the repo? Azure KeyVault might be an option or Mobile.BuildTools. Also, when testing locally, the keys could exist as environment variables. Especially Mobile.BuildTools offers a kinda nice way of setting things up so that it works locally as well as when being built by Azure DevOps for instance.

Need to establish options and the best guidance first...

Add Login Page

Is your feature request related to a problem? Please describe.
Common feature when creating apps is to make user login before continuing to all/any app features

Describe the solution you'd like
An optional login feature that would add a login template (custom/google/facebook/github) and where user is navigated to login page if not logged in. Login data could be stored to secure storage by default

Describe alternatives you've considered

Additional context

Add About Page

Add an option for adding an About Page
This should include:

  • App Name (from AppInfo)
  • App version (from AppInfo)
  • List of licenses (based on included options)

Scaffolding models as we once did in MVC

It will be great if we cloud Scaffolding CRUD pages using models, as we once did in MVC projects,
In MPC we had to choice model and which CRUD operation page need to cover and engine did the rest.

Need to support conditional packagereferences

#35 is for a package that doesn't support net8.0 and so can't be referenced in a package that also includes the test project.

Can work around this by setting: <PackageReference Include="Plugin.MauiMTAdmob" Version="1.1.1" Condition="'$(TargetFramework)' != 'net8.0'" />

However, the current generator code doesn't support setting a condition for a package added via the add Nuget package postaction.
Look at modifying/extending the postaction, or adding a new postaction that can run afterwards and set the condition.

Accelerator crashes

Error message when "Creating project":
"Something went wrong :-(
Error executing 'Microsoft.Templates.Core.PostActions.Catalog.Merge.MergePostAction. Related templates: Project.7."

"System.Exception: Error executing 'Microsoft.Templates.Core.PostActions.Catalog.Merge.MergePostAction'. Related template: Project.7. ---> System.IO.FileNotFoundException: There is no merge target for file 'G:\OneDrive$Dev\C#$Maui\MauiApp3\MauiApp3_postaction.csproj'. Related Template: 'Project.7'.
at Microsoft.Templates.Core.PostActions.Catalog.Merge.MergePostAction.HandleFileNotFound(String originalFilePath, String suffix)
at Microsoft.Templates.Core.PostActions.Catalog.Merge.MergePostAction.ExecuteInternal()
at Microsoft.Templates.Core.PostActions.PostAction.Execute()
--- End of inner exception stack trace ---
at Microsoft.Templates.Core.PostActions.PostAction.Execute()
at Microsoft.Templates.Core.Gen.GenController.ExecutePostActions(GenInfo genInfo, ITemplateCreationResult generationResult)
at Microsoft.Templates.Core.Gen.GenController.d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Microsoft.Templates.Core.Gen.NewProjectGenController.d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at Microsoft.Templates.UI.Services.GenerationService.d__5.MoveNext()

  • OS: Windows 11 Version 22H2 -- 10.0.22621.1105]
  • Viosual Studio version 17.4
  • Extension Version 1.2

Add: Map Page

Add a page that includes a map control
Details:

  • For .net 7 only
  • Make the MCT workaround for WinUI optional

Picker

Describe the bug
I'm sure it's just me, but I can not seem to add a picker bound to the service that is generated. I am using the ListDetail and I am trying to add or replace the Labels with a picker. Perhaps this service was not intended to do this and this should be a feature request. The error is ' cannot be converted to type 'System.Collections.IList'. I have used all three coding styles. Thanks, I have found the accelerator very helpful.

Unable to create app with a space in the name

Originally reported in the marketplace Q&A.

There's a bug/problem (as of 2/26/23 on VS 17.6.0 Preview 1.0) that this generates code that does not build if there are spaces in the project name. I think that should be allowed, or at a minimum, detect spaces and prevent the user from proceeding.

The spaces cause problems in numerous places. I suggest just repro'ing the problem yourself to see where.

Creating an app without spaces in the project name did work.

Confusingly, there were build errors (like MauiApp not being a namespace) on the first build, but the code still ran. Those errors persist in the Error List window while running, so I do consider this a "bug". So there's some weird build pass dependency and timing thing going on, albeit ultimately ignorable

Suggestions

בס"ד

Hello Matt..

This is an amazing project. Besides it helps you get started fast, it also allows you to make a "mockup" to be a base of discussion (at executive level) of what should be in the app and start working.

I have only played a bit with it, but thought i would suggest the following, if this is not the forum to suggest or if it is already there and i did not notice, pls excuse me..

I am an experienced .NET Full Stack developer even with Angular experience but this project enabled me to save loads of time getting in to the MAUI stuff...

I thought suggesting the following features as something you can add in the scaffold options which i would consider to be "common tasks" when you need to develop an app...

  1. A litesql connected page, for example like the scroll page or a complete CRUD for a simple object like a person.
  2. And/or a page with login, that reads if a person has stored his credentials in the local litesql db and if so makes a login via a rest service, if not prompts for username and pw and then submits it (and saves it locally offcourse!)
  3. I saw there is a draw page, but what about a page that can read a QRCODE, this is often a very common task... you know like opening the camera and when it recognizes the QRCODE it shoots and handles!
  4. Pages that interact with all/most of the smartphone features like location, camera, etc. so you have the demo code of it for each feature you need..
  5. A "redundant listener" for example that notes if the person is moving at a certain speed and then either makes a "notification" or opens the app or something alike...

Have written you a mail with my details if you need to contact me..

Sincerely

David Bachmann

Add onboarding page

Provide page to create an onboarding page to show user the features in the app using a carousel

Add the ability to include different language files

Follow on from #1

When creating a new project, add a way to include additional resource files and specify the culture/identifier for each.

Need to investigate validating acceptable values and avoiding duplicates.

In addition to adding the resource files, the config settings for iOS, macOS, & Windows should also be applied to the project.

Separate, but related: including UI settings to enable switching language in the running app.

Link for reference: https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/localization?view=net-maui-8.0

Question: Should the generated C# Markup projects include default styles and colors? (in XAML?)

By default, a new .NET MAUI includes some default colors and styles for standard controls. These are defined in XAML.

The projects generated by MAUI App Accelerator include these XAML resources, even in the C# markup projects.

Should they?
Is this a problem?
Is this a blocker?
If not this, what should they do instead?
Do you want any default styling of default controls in the generated project?
Should there be something very different?

The Maui.Markup extensions don't include a way to easily set the different VisualStates for the standard controls, so a straight port is impossible. Please add your feedback on this in their discussion.

Opinions and suggestions on what to include in the generated projects wanted.

But, please, don't just say, "do both and make it configurable."

Syntax Error. The type or namespace name 'Tasks' could not be found

Describe the bug
When creating a new project using ListDetail Page, MVVM Toolkit, and SQLLite it creates the templated ListViewModel using bad syntax on the OnRefreshing method.

To Reproduce
Steps to reproduce the behavior:

  1. Visual Studio 2022 create new project
  2. Project Template Maui App Accelerator
  3. Add name & click create
  4. The "New .NET MAUI app (the name you called the project)" box shows.
  5. On Coding Style, select MVVM Toolkit
  6. On Pages, select "ListDetail"
  7. On Features, select Maui Community Toolkit & sqlite-net-pcl
  8. Click Create

Expected behavior
When the ViewModel class template in a new project (using the above options) is created, that the private async Tasks OnRefreshing is created with private async Task OnRefreshing instead.

Screenshots
Screenshot 2023-11-18 060154

Versions (please complete the following information):

  • OS: Windows 11
  • Visual Studio Version: 17.8.0;
  • VS Framework: 4.8.09032
  • Extension Version [e.g. 1.0]: I downloaded it last night. I don't see how to find the version number.

Additional context
I LOVE YOUR PROJECT! Thank you for creating this!

Add: Settings Page

Add an option for a settings page.
This should include:

  • Use of IPreferences/Preferences.Default
  • Option for Selecting Theme : Default/Light/Dark

Add example page showing QRCode reading

Is your feature request related to a problem? Please describe.

From #33:

what about a page that can read a QRCODE, this is often a very common task... you know like opening the camera and when it recognizes the QRCODE it shoots and handles!

Describe the solution you'd like

Add an example page that shows reading/scanning a barcode and capturing the value.

Describe alternatives you've considered

It's a common enough task that there's value in providing an example implementation.

Add more control libraries

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.