Comments (18)
Would be a nice idea taking colors etc. from the new theming app from the instance which is currently active in the app π¨ nextcloud/server#59 π
cc @nextcloud/designers
from android.
As a service makes total sense and as soon as we are done with consolidating and merging all the feature branches I have "refactoring the theme definition" on my agenda, which should make branding via some kind of branding generator a lot easier π
from android.
It will imho always have the same design and look which aligns with the Nextcloud theme in general but might differ here and there due to platform specific guidelines. Any theme changes on the server won't be reflected in the client as in the Android app, or a desktop client since it is a complete independent implementation and it is also a native one so no mobile web views.
Sorry for not having any better news here, cc @jancborchardt just in case.
from android.
@Mar1u5 you rather need to include @nextcloud/android since this needs some research if and how to do this besides the fact that is is way harder in the client - think multi user / server account switching scenarios...
I am sure it is possible I am just not sure it is worth the effort right now since you need to implement the theming, you need an API to retrieve theming information, need to store and cache and need to think of a balanced way to refresh your caches, and you will have to recalculate colors since the server theme won't know anything about them, e.g. 700-shaded variation of the primary color is used for the systembar... You will even have to implement runtime icon tinting (tricky) so your checkboxes fit the theme all the time...
from android.
I honestly would like to see this implemented, at least on the web based portion where if you are sharing public documents/files you can just have your own theme installed whichever you prefer. This would be fairly unique.
from android.
@c0fe I think the web based part is already working on this, right @jancborchardt ?
from android.
@LukasReschke @schiessle @karlitschek how about an API for logo, color, name, slogan etc so we can push that out to the clients? That would be pretty cool if the app automatically changes to the values provided by the server.
(Would also be a lot of work for the case where the web interface is themed though. And might result in problems cause we need specific images at specific sizes etc. ;)
from android.
@jancborchardt or we rewrite the ownBrander (which will be done in parts with the theming app) from the EE to theme the clients π
from android.
@jancborchardt or we rewrite the ownBrander (which will be done in parts with the theming app) from the EE to theme the clients π
Oh god. You don't want to write THAT. The theming API stuff seems way more easy and reasonable π
from android.
@jancborchardt we can only do this to some extend on the client side since:
- You can't change the launcher icon
- Showing the login form you are lacking the info which server the user might type in so at that time you will have to show the Nextcloud logo (and the "New to Nextcloud?" text)
- You can't change the app's name
So other than that you can probably only change colors and you will have to do this dynamically all the time which is ugly (from a technical point of view). Also please be aware that right now we cannot utilize vector graphics so the checkboxes will always be blue fur the selection screens but the color would change for the checkboxes on the settings screen... Plus with all the white colored icons this will be funny as soon as someone chooses white as the primary color π
On the other hand like with oC you can ignore that since the branded client (green) also shipped with oC blue UI elements...
from android.
@AndyScherzinger ok, good points. Then it does actually not make a lot of sense to put work in a theming API. Because if the core things like name and logo canβt be changed (which makes total sense :D) then itβs not really worth it. I guess branding could be offered as a service.
Closing hence.
from android.
Then we can close this. Thanks a lot for this nice discussion :)
from android.
put work in a theming API
Does this API already exist? I would like to adjust the Notes Android App to use the user-defined theme color.
If there is already an API: Where can i find it? I googled, but couldn't find a documentation.
If this API does not exist yet: May i propose a theme.php that similar to the status.php that returns a json object that describes all theming-aspects
from android.
It can be found at following URL starting with Nextcloud 11:
curl https://cloud.example.com/ocs/v2.php/cloud/capabilities -u USERNAME
Then you get something like this:
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>200</statuscode>
<message/>
</meta>
<data>
<version>
<major>9</major>
<minor>1</minor>
<micro>0</micro>
<string>10.0</string>
<edition></edition>
</version>
<capabilities>
<core>
<pollinterval>60</pollinterval>
<webdav-root>remote.php/webdav</webdav-root>
</core>
<files_sharing>
<api_enabled>1</api_enabled>
<public>
<enabled>1</enabled>
<password>
<enforced></enforced>
</password>
<expire_date>
<enabled></enabled>
</expire_date>
<send_mail></send_mail>
<upload>1</upload>
<upload_files_drop>1</upload_files_drop>
</public>
<user>
<send_mail></send_mail>
</user>
<resharing>1</resharing>
<group_sharing>1</group_sharing>
<federation>
<outgoing>1</outgoing>
<incoming>1</incoming>
</federation>
</files_sharing>
<files>
<bigfilechunking>1</bigfilechunking>
<blacklisted_files>
<element>.htaccess</element>
</blacklisted_files>
<undelete>1</undelete>
<versioning>1</versioning>
</files>
<notifications>
<ocs-endpoints>
<element>list</element>
<element>get</element>
<element>delete</element>
</ocs-endpoints>
</notifications>
<theming>
<name>Nextcloud</name>
<url>https://nextcloud.com</url>
<slogan>a safe home for all your data</slogan>
<color>#0082c9</color>
</theming>
</capabilities>
</data>
</ocs
@nickvergessen Mind to write documentation for this?
from android.
Well, any suggestion where to put docs for this?
from android.
Well, any suggestion where to put docs for this?
Somewhere in the developers doc? Maybe add a new category to the OCS API documentation (currently there is only sharing OCS API afaik)
from android.
@AndyScherzinger do we have a theming issue? If not, we should reopen it.
from android.
@tobiasKaminsky at the moment we do not but at the moment I also don't see theming happening in the Android client since it is rather hacky, has to be done at runetime and at the moment we would probably also have to do image processing since the background image, which would have to be out into the drawer needs to be resized to the right dimens and caches, because loading a "too large" image into the drawer will kill the performance (sliding animation going down the drain, tested on a Nexus5X!) and also the vector issue (can't really/savely be used before Android 4.1).
Anyways, sure we can open an issue to keep it in mind, but as discussed earlier, before this issue it seems to not make sense at the moment.
from android.
Related Issues (20)
- ? HOT 1
- `TransactionTooLargeException` in `onCheckAvailableSpaceFinish()`
- Nextcloud always makes a local copy of uploaded contents
- Custom cache size buffer on client device of user preference
- `OutOfMemoryError: Failed to allocate` in `GetStatusRemoteOperation`
- Kein Speicherplatz mehr HOT 1
- `Resources$NotFoundException` after `showPowerCheckDialog()`
- Missing deduplication of "Storage quota exceeded" notifications
- After closing pompt to add another account HOT 1
- Problem with auto upload HOT 1
- Nextcloud file upload to personal folder from mobile issue HOT 1
- Crash HOT 1
- Unshare option is missing
- Nextcloud android crash on samsung galaxy tab s6 HOT 2
- Exception thrown when moving 70+ files
- μ¬λ¬νμΌ μ λ‘λ λμ€ μ€λ₯ HOT 1
- Crash HOT 1
- Issue HOT 1
- Changing account does not work for sharing an image from the gallery
- Error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android.