Giter VIP home page Giter VIP logo

theme-tool's Introduction

Presenter

Software for searching, navigating, and presenting the Shabad OS Database

About

Shabad OS Presenter can be used to display bani & gurbani in the home or at the gurdwara. A server model allows multiple devices to act as a display or a controller. The same model enables live captions to be in sync with the projector / presentation device.

For more, please see:

Features

  • Multiple displays and controllers synced together
  • Live broadcast captioning / subtitling
  • Curated design
    • Text legibility/readability
    • Organized UI/UX functionality
  • Keyboard shortcuts
    • Search, History, Bookmarks
    • Jump to line N of shabad
    • Autoselect line based on context/position

Screenshots

Contribute

If you want to help, please get started with the CONTRIBUTING.md doc.

Community

The easiest way to communicate is via GitHub issues. Please search for similar issues regarding your concerns before opening a new issue.

Get organization updates for Shabad OS by following us on Instagram and Twitter. We also invite you to join us on our public chat server hosted on Slack.

Our intention is to signal a safe open-source community. Please help us foster an atmosphere of kindness, cooperation, and understanding. By participating, you agree to abide by the Contributor Covenant.

If you have a concern that doesn't warrant opening a GitHub issue, please reach out to us:

"Thank you!" to all the volunteers who've contributed to Presenter.

theme-tool's People

Contributors

bhajneet avatar harjot1singh avatar saihaj avatar

Watchers

 avatar  avatar  avatar  avatar

theme-tool's Issues

Fix caching in gh-workflow

Our dependencies are not being cached. Not a huge deal for deployments but when we add lining to repo it will help.
Main problem here is that dependencies are getting installed each time and that step shouldn’t take place because if there are no changes then they should be used from cache.

image (2)

Self-assigning since I want to fix this issue in my repos too.

Font opacity should be disabled

Describe the bug
Font colors/font drop colors should not allow for opacity. Larivaar assist and vishraams can have opacity as they should have an inherited opaque value from the font color.

Expected behavior
Same pop up for color choice, but no opacity slider (or at the least not allow slider to affect value)

Screenshots
image

Linked Issues

Required by #16

Add button to match vertical and horizontal padding

Layout > Vertical/Horizontal padding - the vertical padding should not be affecting horizontal. Either have a button that locks horizontal to match vertical (making horizontal padding not user-modifiable and automatically matching vertical padding slider) or split the two. I would recommend adding a "lock" button (on by default) or simply having one padding slider for vertical and horizontal padding. Lock button is preferable.

Originally posted by @bhajneet in #1 (comment)

This will allow fixing NaN on slider

why does width come up as NaN initially?
View in Slack

Impact high because to match them one needs to get sliders same value and can be quite annoying.

Disable "Justification" dropdown unless Height set to "100"

Is your feature request related to a problem? Please describe.
The justification dropdown looks like it doesn't do anything, but that's becuase it needs multiple fields in preview and height to be 100 to make sense.

Describe the solution you'd like
I'd like justification to be disabled unless height is set to 100.

Describe alternatives you've considered
No

Additional context
image

Live Captions Customization (Overlay Theme Creator/Generator)

Basically allowing manipulation of all fields in the current overlay theme files.

  • layout (top, left, bottom, full screen), dropdown. if left, slider for how much of the left
  • font sizes (master + primary/secondary relative sliders = 3 sliders in total, each secondary line must have some in-built font size relation to base off so .5 english = .6 punjabi or something and the secondary slider scales these appropriately)
  • center align toggle
  • padding sliders
  • background options: full (fills to the edge), box (fills the box around the words), lines (fills bg of only the words) dropdown

Color implies color and potentially opacity (rgba). So might be best to just do these all in rgb with separate opacity for the ones that need it.

  • Custom font colors for primary (gurbani) and secondary (all other) lines
  • Larrivaar assist color
  • Vishraam colors
  • Custom shadow colors for primary and secondary
  • Custom bg color

Add section to place custom CSS

For advanced users it could be used to add gradient colors to text or advanced shadow techniques etc.

The CSS in this textbox could be added to the bottom of the generated CSS overlay theme and perhaps tested in the "preview" to see if it looks correct (Advice for end-user to use chrome for testing OBS etc.)

Consistent component names and CSS

Some component files are lowercase, some are uppercase. All should be CamelCase.

Some CSS classes are capitalised, they should all be lower case, hyphen-separated.

Theme name is not intuitive enough

Describe the bug
It is not clear that the name of the theme name is pre-populated. The text cannot be selected. If I click "save", without clicking the input, it would look like it's going to be called "Theme Name".

Expected behavior
I expect to see a proper input box (not an underline) for text I can change. The text inside that box should already be filled with the default Overlay Date format. Clicking that text box should highlight the entire text so it can be modified or changed to a user choice theme name.

Screenshots
If applicable, add screenshots to help explain your problem.
image

Overlay text should not use "vh"

The text doesn't scale horizontally right now because we are using "vh". Need to find a solution that will work for vertically and horizontally.

Slider issues

Describe the bug
I set the padding slider in the window tab. Changing other settings will make the padding go to 0 in the preview pane unless user "taps" or "clicks" on the circle of the slider for the window tab's padding.

Screenshots
issue

Width issue

Describe the bug
Setting width to 100 causes overlay to overflow on long lines instead of wrapping properly. This is because overlay being set to 100% with padding will be bigger than the app container div. Padding would work properly with "Auto" width instead (I think?).

Interactive tutorials

Is your feature request related to a problem? Please describe.
Interactive tutorials to help users get started. It will make it more immersive user experience

Describe the solution you'd like
Something like this: https://www.npmjs.com/package/react-interactive-tutorials

Describe alternatives you've considered
Documented steps like tutorials.shabados.com are good but sometimes you just want to get started without reading things but to still want to know somewhat.

Enable offline-usage

Enabling the service worker would allow the app to work offline. Is this a good idea? Who knows.

Do not create links manually

src/components/editors/exportEditor.js saveFile function creates a document element and appends it to the DOM.

React will have no idea about this, and so it's much better to dynamically render the link, or trigger the download another way.

Adjust padding between items

Is your feature request related to a problem? Please describe.
The secondary lines have the same line spacing, even if a different field. This makes it hard to read.

Describe the solution you'd like
Toggle the padding between items. Perhaps even differentiate between primary and secondary text padding.

Describe alternatives you've considered

  • Modifying CSS by hand: too much effort
  • Living with it: hard to read
  • Limiting to one secondary text field: ok for most cases, but sometimes you may want both

Needs screenshot + rewording

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.