(if you downloaded this before Mar 19th 2024, please re-download!)
[Edit: fixed the component errors introduced by Power Apps team through new settings]
This template will allow you to customize your theming (down to the control-level), and allows you to theme items that are not currently possible within the normal Power Apps Editor!
There are also accessibility tools available within it that allow you to change your theme to an accessible theme or to change your font size on-the-fly.
If you want to read the full write-up on V3 of my Power Apps branding template, please feel free to view this on my site (although reading that is not required to download it at the bottom of this post, I do recommend it!):
https://www.iammancat.dev/2022/01/power-apps-branding-template-v3/
If you just want to download the template, you can download it at the bottom of this article 🙂
Cheers,
Sancho Harker (iAm_ManCat)
[
If you want to edit your existing App to do granular edits to the .json files inside, extract it to a folder, do your editing, and then run the following powershell script (within this repository) from within that extracted folder after you've done modifications, which will reconstitute it into a .msapp file:
https://github.com/iAmManCat/PowerApps-Branding-Template/tree/master/V3
]
@iAm_ManCat |
My blog |
Please 'Mark as Solution' if someone's post answered your question and always 'Thumbs Up' the posts you like or that helped you! |
Thanks! |
Hello Sancho,
after adapting your template to my needs and creating several apps with it, I am wondering how I can use the components created in the apps more sustainably and update further developments of the components in other apps.
I have a master application as a starting point for new apps. This master application contains components that, for example, facilitate the use of a header or navigation.
=>Master_Template (based on Branding Template App V3)
==>Master_Component_Header_Version_1
==>Master_Component_Navigation_Version_1
Based on this master template, I am developing a new application. In the course of time, the components contained in the master template will be extended with new functions.
How do I now manage to take over the updates of the components in the master template in the already existing applications?
Attempt 1: Use the import/export function for components in the app (even if it is phased out - currently retired).
Problem: When importing the updated components from the Master_Template, the existing components are not updated, but a new component is created. As a result, the entire app has to be updated manually.
Attempt 2: Using a component library in Power Apps
Problem: The global variables used in the components of the Master_Template are not defined in the component library. Importing this component library into an application based on the master template does not solve the problem either.
Question: Do you have a solution for updating the components without having to rework the entire application?
Many thanks for your tips.
Greetings Michael
Heya @MichaGue, yes I do!
I would suggest using a component library, and everywhere that you are using a global variable I would instead use a passed-in Input value of whatever type you need, then when you insert the component you can replace the default input values with the global variables you have from that App - this ensures they are passed in as inputs rather than needing to reference the variables directly from the component 🙂
Cheers,
Sancho
@iAm_ManCat |
My blog |
Please 'Mark as Solution' if someone's post answered your question and always 'Thumbs Up' the posts you like or that helped you! |
Thanks! |
Hello @iAm_ManCat,
thank you for your recommendation. I have taken a closer look at your solution and implemented it in a small test. With the goal of making this template I customized available to others in my organization attached is my personal evaluation.
Advantages:
Disadvantages:
It would be ideal if one could simply update the template made available for download including the included components.
Do you have any experience with using Github and Power Apps. Could you update the components via this, in which you extract the files of the components from a new version of the template and update them via Github?
Another option that might work would be to update the components by saving the Power App to the desktop and unpacking it with the known scripts. Do the same with the current version of the app. Can you then simply replace the files of the components, rebuild the app using the script and upload it?
Thanks for sharing your experience.
Many greetings,
Michael
Hi Michael
were you able to implement this via GitHub?
Thanks
Pete
Seems MS is doing it all different again for the modern components,...... 😞
@iAm_ManCat
Hope you are working on a V4. 😉
Unfortunately the way they do the modern controls is not compatible at the moment due to the way MSFT designed them - there is no way to affect them in the same way at present as they are not included in the msapp templated json file structure and it looks like they are effectively pcf controls rathern than json-based, we are hoping that some clarity will come when they define the theming for the modern controls & apps.
@iAm_ManCat |
My blog |
Please 'Mark as Solution' if someone's post answered your question and always 'Thumbs Up' the posts you like or that helped you! |
Thanks! |
Great app
However, I have a problem.
I am really a novice, and new to Power App.
I would like to use your template as a base... if possible.
How to change colours, and or backgrounds, I understood.
However now I want to change the name for example screen example 1 to another name... everything is black after that, and I can't use the app.
Undo doesn't help either.
I have to start all over again from the beginning.
Am I not allowed to change this or do you have a clear explanation?
BR Peter1411
If you change anything that's referenced during the OnStart, that will affect the ThisTheme object that is set during the App.OnStart, which then makes everything black because it can't read the values from an invalid/uninitialized object.
You need to re-run the App.OnStart to re-initialize the variable and it should all show fine after that 🙂
@iAm_ManCat |
My blog |
Please 'Mark as Solution' if someone's post answered your question and always 'Thumbs Up' the posts you like or that helped you! |
Thanks! |