ushin-inc / ushin-ui-components Goto Github PK
View Code? Open in Web Editor NEWSemscreen component for building ushin apps.
License: GNU Affero General Public License v3.0
Semscreen component for building ushin apps.
License: GNU Affero General Public License v3.0
likely another simple css fix. Would appreciate your help @hiimalexjgarcia !
Sometimes, regions scroll in the x-direction. They should never scroll in the x-direction.
At some small viewport height, the regions all scrollbars, even if they don't contain any points.
After transition animation ends in StyledSemanticScreen, textareas keep their previously set height until re-render is forced by useEffect in SemanticScreen. The visual effect is jumpy.
PointHoverOptions display after point is dragged away. This visual bug is caused by the fact that onMouseLeave never fires, thereby never calling setIsHover(false)
, if an item is being dragged.
This bug can be resolved by calling setIsHover(false)
in the hover method of the point drop target. We have done this already in RegionPoint.
Since, FocusPoint lacks a drop target, we pass isHovered
and setIsHovered
from FocusRegion to Focus. This solution is a bit ugly, and it might be cleaner to add hoveredItem
state to the Redux singleton.
Let's consider this strike one. If more reasons appear to move the hovered state to Redux, we'll revisit this issue.
The border and fill of the main point and editingPoint should not continue all the way to the edges of the region.
Also, the main point should have larger font.
doesn't combine with prior point, instead does nothing
This will require adding a darkMode reducer, which takes one single action (toggleDarkMode). This action will not yet be called in any components, but it will be called in a settings modal when we add that.
The darkMode boolean (appState.darkMode) should be pulled into any component via mapStateToProps. The list of components which require darkMode for styling can be found with a simple grep.
fix CSS styles in FocusRegion so that items are closer together in the center, but expand in the y-direction as the contents of the focus point grow
suggested feature
Dropping any point on one of the shapes in the U sets that point as the focus point, replacing the existing focus point, if it exists.
Dropping a point in the focus region, but not on a shape in the U does not alter the focus point.
In order to make the app take up the whole screen and not exceed the screen height on any viewport.
Probably a simple fix @hiimalexjgarcia
tested on bromite and firefox for android
When you start dragging a point in the actions region in chrome, the focus region becomes enlarged, as though you had dragged the point over the focus region.
Expected behavior: begin dragging a point in the actions region and the region either expands or stays expanded, allowing you to reorder your points.
If a region contains more than one point, and the cursor is placed in the first point and that point contains no text at all (or it contains only whitespace and the cursor is at the beginning of the point), then delete that first point and move the cursor to the following point (which replaces the first point).
Currently, ShapesRim shapes have a fixed location. It would be more intuitive if they were always positioned next to their region, even when the regions shrink and expand.
In src/index.tsx, it would be good to debounce localStorage.setItem(...).
Generally it's good to use forms for inputs and to use the submit
event rather than detecting the "enter" key. This works better with phones and different input devices / accessibility features.
Ideally the search input should be split such that the search button is an actual submit
button so that hitting enter
will trigger the submit event.
expose at API level a callback which accepts points being added to a message. This function should take a point object, a shape, and an index.
Large (60%), until focus point expands, then the U-shape begins to shrink to the smallest, easily-clickable height.
On Android chrome (tested only with bromite so far), there is a visual bug where the ShapesRim shapes move on every keystroke when typing a point in any region.
If two tabs are opened at the same time, it is possible to overwrite changes made to drafts in another tab.
Syncing drafts between tabs would be a nice solution. A simpler, less elegant solution would be to prevent the app from running in two tabs.
I removed syncWithLocalStorage logic in 18d4f9d because it would crash when a new reference point was created in different tab. The new reference point id would be added to the draftMessage, but the original point would not be retrieved from ushin-db.
no x-direction scroll of regions
no bounce of focus point when placeholder gets added and deleted (consider not using flexbox)
Wasn't quite sure whether this should be an app feature or db issue, but anyway... There should be a way to back up the user's messages, points, and author metadata. In the case of persistence with hyercore, there should be a way to back up the hypercore itself -- in the case we need to trasnsfer data to another device. How does this sound?
CSS grid track change transitions don't work in non-Firefox browsers. Consider alternate methods to achieve the current visual effect which works in firefox when switching expandedRegion.
Stretch the SVG background of the author's handle on the top right of the semscreen until two banner icons fit, then stretch the two, until three banner icons fit, and so on...
Dragging a point from a shape region into the parking region, then back into the same region doesn't cause the hoverLine to appear.
as they move back to their region when a different point is dropped in the focus region.
expose at API level which points are being dragged, so that other components in an ushin app can collect them when dropped/hovered over them.
Explore using SVG with preserveAspectRatio="none" instead of PNG as the banner background image.
Given that focus point is need point and no other need points exist.
When you drag that point into the needs region and drop it, it stays as the focus point.
Expected behavior: after dropping the point, it is no longer the focus point and it appears in the needs region.
On mobile, when you drag your finger across the U-shape, which ever point you release your finger on is selected.
Visually distinguish the currently-selected point.
Semscreen-component renders twice when handleRegionClick is called
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.