Skip to content

ui: start new user interface#3526

Open
buck54321 wants to merge 5 commits intodecred:masterfrom
buck54321:newui
Open

ui: start new user interface#3526
buck54321 wants to merge 5 commits intodecred:masterfrom
buck54321:newui

Conversation

@buck54321
Copy link
Copy Markdown
Member

@buck54321 buck54321 commented Feb 23, 2026

Lays out the structure for the new React-based user interface. Implements wallet initialization sequence. Implements basic header and sidebar interface used for most views. Implements functionality related to forms and context management.

Must build with --tags newui

bwnewui.mp4

Lays out the structure for the new React-based
user interface. Implements wallet initialization sequence.
Implements basic header and sidebar interface used for most
views. Implements functionality related to forms and context
management.
We don't have the convenience of Go templates with React, so this
updates the internationalization scheme to do everything with
Javascript. New translations are separated from old translations
by the newui build tag, but a utility is added to import translations
from the old set if there is a matching key-value pair in the new
set.
@buck54321 buck54321 marked this pull request as ready for review March 10, 2026 14:25
Copy link
Copy Markdown
Contributor

@ukane-philemon ukane-philemon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @buck54321 for doing the ground work. I've gone through the changes and these are just a few things my eyes caught.

Comment thread client/core/core_test.go
}
}

func TestFiatRateSources(t *testing.T) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason test was removed?

}
}, [])

const usdBal = usdBalance
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to reassign usdBalance here.

All use of usdBal should be updated to usdBalance.

const PasswordForm = ({ setRegistered, setUsingSeed, setSeed, seed }: PasswordFormParams) => {
const [pw, setPW] = useState('')
const [pw2, setPW2] = useState('')
const [err, setErr] = useState<string | undefined>(undefined)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should use string, not string | undefined. You can initialize to an empty string instead of undefined.


export default function InitWizard ({ setInited }: InitWizardParams) {
const [usingSeed, setUsingSeed] = useState<boolean | undefined>(undefined)
const [seed, setSeed] = useState<string | undefined>(undefined)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as my previous comment.

</select>
<span className="ico-arrowdown fs8" />
</div>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove extra space

display: flex;
justify-content: center;
align-items: center;
} No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

new line

position: absolute;
top: 1rem;
right: 1rem;
} No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

new line


.ico-bell:before {
content: "\f417";
} No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

new line

// @use "components.scss";

// UI views
@use "main.scss"; No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

new line

Comment thread client/webserver/types.go
// OK is worthless, because 'ok' is a getter on the fetch response in
// Javascript, so unless we return a 200, OK will be overwritten by True.
OK bool `json:"ok"`
Bad bool `json:"bad,omitempty"`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DO we intend to keep both or remove Ok at some point?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants