drive icon indicating copy to clipboard operation
drive copied to clipboard

User themes

Open icidasset opened this issue 5 years ago • 1 comments

Users would like to customize the look of their drive app.

Current Solution

Currently we have a light and dark theme that changes based on the user's system preferences.

Preferred Solution

Not sure how to approach this. Where do we draw the line? If they define a theme, is it a fixed light or dark theme? Does a theme have to define both?

Maybe something like this ...?

accent: ...
accent_background: ...
body_background: ...
body_text: ...
subtle_text: ...

And finally, how would these themes be applied?

icidasset avatar Feb 03 '20 19:02 icidasset

If we can pick an existing "theming standard" (is there such a thing???) that would be great, but also if we just well structure the CSS, for starters, then we could use convention to have:

.config/fission/apps/codes.fission.drive/mycooltheme.css <-- a global theme that the user can select. "light" and "dark" are built in, and they can copy them as a starting point.

Or folder level override:

_theme\folder.css

Probably we don't want to clutter folders like this, so:

.config/fission/apps/codes.fission.drive/ and a section in the config file:

{
  "folderthemes": {
    "Qm123456": "foldertheme.css"
  }
}

I'm not too concerned about dark / light right now -- that's a property of the theme, and we can just lean into the CSS emerging standard https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme

OK, after having typed that out...let's go back to our css-zen-garden roots and support CSS-only themes. Global, not folder level overrides right now.

In order to use a custom theme, a user edits a fissiondrive.json file that's in a global config folder. Wherever y'all think is the best spot for that.

bmann avatar Feb 03 '20 19:02 bmann