Code Monkey home page Code Monkey logo

fatihbalsoy / material-board Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 1.0 8.34 MB

The Material Board plugin for WordPress updates the appearance of your site's dashboard to a sleeker, more contemporary design based on Google's Material Design Guidelines. This plugin preserves your existing dashboard layout, avoids making any significant alterations, and doesn't include any branding or promotional content.

Home Page: https://wordpress.org/plugins/material-board/

License: GNU Affero General Public License v3.0

CSS 33.07% PHP 14.27% Shell 5.45% TypeScript 1.03% SCSS 46.18%
css javascript material material-design php web wordpress wordpress-plugin wordpress-theme design scss typescript

material-board's Introduction

Material Board

The Material Board plugin for WordPress updates the appearance of your site's dashboard to a sleeker, more contemporary design based on Google's Material Design Guidelines. This plugin preserves your existing dashboard layout, avoids making any significant alterations, and doesn't include any branding or promotional content. It's straightforward to use and comes at no cost.

Prerelease Download Demo

WordPress Build Status

Read this document in a different language.

English Turkish

Crowdin

Screenshots

Screenshots Screenshots

Installation

Material Board is available on the WordPress Plugin Directory (link) and can be installed from the plugins page in your admin dashboard.

Manually

  • Download the latest release of Material Board here,
  • On your WordPress dashboard go to Plugins > Add New,
  • Click the Upload Plugin button near the header,
  • Select the downloaded zip archive,
  • Finally, activate the Material Board plugin.

Customization

Head over to Appearance > Material Board to customize the dashboard colors and looks. Here are some of the available options:

  • Theme (Light, Dark, and System)
  • Colors (Primary and Accent colors)
  • Toggle Rounded Corners
  • Toggle Content Padding
  • Font (DM Sans, Roboto, Mona, Hubot, or WordPress)
  • Header Font (Serif or sans serif)
  • Icons (Material or WordPress)
  • Large App Bar (Bar or Menu on top)

Languages

  • English
  • French (Français)
  • German (Deutsch)
  • Turkish (Türkçe)

Known Issues

  • Automatic system theme setting does not take effect until after two page refreshes.

Setup & Build

Check out the SETUP.md file to get started on setting up the developer environment and building the project.

Contribution

Feel free to submit a pull request for one of the following:

  • New features
  • Language translation (Crowdin Page)
  • Support third-party plugins or themes
  • Fixing bugs and security vulnurabilities

Licenses

Material Board, AGPL License 3.0.

This project depends on the following third-parties:

material-board's People

Contributors

fatihbalsoy avatar

Stargazers

Necati  avatar  avatar Teemu Grönqvist avatar Dr Enter avatar

Watchers

Kostas Georgiou avatar  avatar  avatar

Forkers

breklin

material-board's Issues

Stylesheet Documentation & Refactoring

Main Issue

The current code base was designed and dedicated to a single WordPress website in 2017. Most of the CSS can be removed and refactored.

Style-Guide.md or Contributing.md Draft

Most, if not all, CSS selectors should have a comment on top of them to clearly describe what it is and optionally include a path to the most recent screenshot of the component or layout. Screenshots are uploaded to docs/images/.

Here's an example of the style guide described above in SCSS:

// Button Description
// Image: docs/images/components/button.jpeg
// Guidelines: https://m3.material.io/components/all-buttons
button {
  // ...
}

You can use the Image Preview extension for Visual Studio Code to view the images while hovering your cursor over the image link.

Stylesheets dedicated to layouts like an admin bar should have something like this at the top:

// -----------------------------------------------------------------------------
// This file contains all styles related to the admin bar of the site.
// Image: docs/images/layout/admin_bar.png
// Guidelines: https://m3.material.io/components/top-app-bar/overview
// -----------------------------------------------------------------------------

#wpadminbar 
  .ab-empty-item {
    // ...
  }

  // ...
}

Guideline links are optional for both component and layout documentation. More than one guideline link can be added to the documentation.

PHP can't read the system theme provided by Javascript

Describe the bug
Automatic system theme setting does not take effect until after two page refreshes. This is caused by PHP, as the server-side code base, not able to instantly fetch client-side values provided by the browser. The current implementation saves the system theme to local storage and PHP loads the value from there. Some possible solutions are:

  • to use ajax
  • load the system theme to local storage instantly after the option is selected
  • listen for theme changes
  • run the theme engine entirely on Javascript

Google.com also has the same issue with light and dark mode, requiring another refresh to load the correct theme, since they also use server-side rendering to display search results. Youtube.com solves this issue by forcing the browser to refresh after the first visit to the page.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Appearance → Material Dashboard
  2. Change theme setting to System
  3. Save changes
  4. No changes to page theme
  5. Refresh the page, changes are applied

Expected behavior
The system theme option should apply instantly after saving changes.

Additional context
The methods to get current system theme are as follows:

if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
    // dark mode
}

Or to watch for system theme changes:

window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
    const newColorScheme = event.matches ? "dark" : "light";
});

Plugin dropbox is white in dark mode

Describe the bug
The dropbox layout in the Plugins page is white in dark mode.

To Reproduce
Steps to reproduce the behavior:

  1. Switch to dark mode in Appearance -> Material Dashboard
  2. Go to Plugins -> Add Plugins
  3. Click on Upload Plugin

Expected behavior
Should be dark

Screenshots
Image

Admin menu is not visible on small screens

Describe the bug
When the admin bar is enlarged, the admin menu is blank on mobile (or vertical, small window on desktop).

To Reproduce
Steps to reproduce the behavior:

  1. Go to Appearance → Material Dashboard
  2. Enable Large Admin Bar
  3. Save changes
  4. Tap menu button
  5. Admin menu is blank

Expected behavior
A clear and visible admin menu. Similar to when large admin bar is disabled.

Screenshots
https://github.com/fatihbalsoy/material-board/assets/28816254/0a92b1f5-abce-4c11-98c1-d53b52183d29

Language options covered by login card

Describe the bug
The language options at the top of the screen are covered by the login card when a large error message appears or the screen is small.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '*/wp-login.php' as a logged out user
  2. Done if small screen, else
  3. Enter incorrect credentials and click 'Log In'
  4. Language options are covered by login card

Expected behavior
Language options could be inside the card, moved out of the way, or displayed over the card. Card padding could be reduced.

Screenshots
wordpress_wp-login php

Desktop:

  • Screen Height dependent

Smartphone:

  • Screen Height dependent

Selecting bright primary colors will cause readability issues with some components

Describe the bug
Selecting a bright primary color will cause readability issues with most components and layouts. Using tinycolor to predetermine the text colors is one possible solution.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Appearance -> Material Dashboard
  2. Select a bright primary color like light pink
  3. Save changes
  4. Admin bar text is not visible

Expected behavior
Text should be dark over light and pastel primary colors

Screenshots
Screenshot 2023-07-07 171240

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.