Redesign groundwork, homepage, search #870
No reviewers
Labels
No labels
accessibility
app-parity
area: creator
area: daemon
area: design
area: devops
area: discovery
area: docs
area: installer
area: internal
area: livestream
area: performance
area: proposal
area: reposts
area: rewards
area: search
area: security
area: subscriptions
area: sync
area: ux
area: viewer
area: wallet
BEAMER
channel
comments
community PR
consider soon
core team
css
dependencies
electron
Epic
feature request
first-timers-only
good first issue
hacktoberfest
help wanted
hub-dependent
icebox
Invalid
level: 0
level: 1
level: 2
level: 3
level: 4
merge when green
needs: exploration
needs: grooming
needs: priority
needs: repro
needs: tech design
notifications
odysee
on hold
playlists
priority: blocker
priority: high
priority: low
priority: medium
protocol dependent
recsys
redesign
regression
resilience
sdk dependent
Tom's Wishlist
trending
type: bug
type: discussion
type: improvement
type: new feature
type: refactor
type: task
type: testing
unplanned
windows
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: LBRYCommunity/lbry-desktop#870
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "redesign-wip"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Redesign
This is mostly basic groundwork (clean up) + header/home changes. Ignore the incomplete stuff for now, I don't want the PR to be 5k changes. I will continue to move a lot around and discuss anything before something is decided.
There is a lot going on in this PR. Future PR's should be smaller/more concise feature sets
Component improvement goals
Avoid internal state
Avoid unnecessary HTML markup (<React.Fragment> ftw)
Props driven styling for components over adding classes (see
src/renderer/component/link
)Style improvement goals
BEM styling used across the app
Add basic style guide with colors, padding sizes, headers, buttons, philosophy (ex. Always prefer {margin,padding} {top,left} over {bottom,right})
Flow
I've (partially) added flow in a lot of places, I think I would like to come back at the end and spend some time just cleaning it up/ensuring everything looks good. Right now I'm mostly just getting the flow checker to pass in components I add it to. Ex: Adding a
claim
type asclaim: { uri: string }
if that is the only value used, instead of creating a globalclaim
type. That might end up being more work than just spending a good amount of time on Types before I continue to do anything else. I'll think about it.Main things to look at
src/renderer/component/wunderbar
src/renderer/redux/*/search
src/renderer/component/header
src/renderer/page/discover
src/renderer/component/link
(still need to changelink
tobutton
)src/renderer/component/common/category-list
(lots of changes to this)src/renderer/component/fileCard
src/renderer/scss/gui.scss
What to ignore (for now)
Colors
Any
src/renderer/page/*
files that aren'tsrc/page/discover
I'll get to these nextsrc/renderer/scss/_vars.scss
Looking great!!
still need to figure this out. will get it when we determine proper colors/how this will look. ignore for now
@ -1,3 +1,4 @@
/* eslint-disable */
Ignore this file
I'll come back to it on a different page
I'm not sure I like this, we need to choose to
onSearch
based on some flag for theSearch for "{query}"
suggestion@ -1,3 +1,4 @@
/* eslint-disable */
ignore
@ -1,3 +1,4 @@
/* eslint-disable */
ignore
@ -1,15 +1,21 @@
// @flow
ignore
@ -1,17 +1,24 @@
/* eslint-disable */
ignore
Still figuring out what font-weights we should use across the app.
Ignore for now
@ -6,6 +6,8 @@ $width-page-constrained: 800px;
$text-color: #000;
ignore the weird stuff going on here. still need to determine proper colors to use
@ -2,194 +2,19 @@
margin-left: auto;
ignore this for now, it will change a lot
I've commented out a lot to see what we actually need. Will be better suited for a review after I work on the file page
Definitely a lot to work on but looks like a promising start! Some initial feedback.
@ -16,3 +26,3 @@
const { alertError } = this.props;
document.addEventListener('unhandledError', event => {
// TODO: create type for this object
What is
(this: any)
doing here? I noticed this in several places.Great call to refactor this file and eliminate this "common" bullshit :)
Any reason not to just make these normal / typical first-class components?
@ -88,9 +88,13 @@ export const FETCH_AVAILABILITY_COMPLETED = 'FETCH_AVAILABILITY_COMPLETED';
export const FILE_DELETE = 'FILE_DELETE';
// Search
IMO no need for
GET_
in this name.Can you refactor these to the proper names while working on this?
@ -2,0 +5,4 @@
@font-face {
font-family: 'Metropolis';
font-weight: normal;
font-style: normal;
This started as the equivalent of an "everything" CSS file and likely contains some of the worst CSS in the project. Please do your best to refactor as you work on this.
@ -2,0 +11,4 @@
}
@font-face {
font-family: 'Metropolis';
I think we are packaging some Metropolis font files we don't actually use. Intentional?
@ -64,1 +50,4 @@
}
.wunderbar__suggestion {
padding: 5px;
Have you tried this larger? Or just using all available space? Already, some results get cut-off, and this seems unnecessary when there is plenty of real estate.
@ -2,0 +5,4 @@
@font-face {
font-family: 'Metropolis';
font-weight: normal;
font-style: normal;
I plan to get rid of or move all of the specific styling. Then keep this is the global html/app-wide styling
@ -2,0 +11,4 @@
}
@font-face {
font-family: 'Metropolis';
I figured would just keep them all in for now so I didn't have to copy them in as I test them. We won't end using a lot of these.
Yep, I'll add that
I have been thinking of
/common/*
simple utility components. Then we can avoid the all of theconnect(null, null)(Component)
index.js files which a few components have.@ -64,1 +50,4 @@
}
.wunderbar__suggestion {
padding: 5px;
Yeah I think we will have it stretch to fill the space
@ -16,3 +26,3 @@
const { alertError } = this.props;
document.addEventListener('unhandledError', event => {
// TODO: create type for this object
Without it there are flow issues. Got the fix from here https://github.com/facebook/flow/issues/1517
Just going to merge this since I have a few new commits locally. The next PR will be mostly touching the same files so any issues can be brought up on that.