Fix link to address page from squeak component (#136)

* Fix link to address page from squeak component

* Include squeaks in address page
This commit is contained in:
Jonathan Zernik 2020-07-24 00:26:42 -07:00 committed by GitHub
parent 93fff0e3da
commit e1ff407598
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 8 deletions

View file

@ -46,11 +46,7 @@ export default function Squeak({
>
<Grid item>
<Box fontWeight="fontWeightBold">
<Link href="#"
onClick={() => {
console.info("I'm a button: " + squeak.getAuthorAddress());
history.push("/app/squeakaddress/" + squeak.getAuthorAddress());
}}
<Link href={"#/app/squeakaddress/" + squeak.getAuthorAddress()}
>
{squeak.getAuthorName()}
</Link>
@ -75,7 +71,7 @@ export default function Squeak({
>
<Grid item>
<Box color="secondary.main">
{new Date(squeak.getBlockTime()*1000).toString()} (Block # {squeak.getBlockHeight()}
{new Date(squeak.getBlockTime()*1000).toString()} (Block # {squeak.getBlockHeight()})
</Box>
</Grid>
</Grid>

View file

@ -24,10 +24,9 @@ export default function SqueakAddressPage() {
const history = useHistory();
const { address } = useParams();
const [squeakProfile, setSqueakProfile] = useState(null);
const [squeaks, setSqueaks] = useState([]);
const getSqueakProfile = () => {
console.log("called getSqueakProfile with profileId: " + address);
var getSqueakProfileByAddressRequest = new GetSqueakProfileByAddressRequest()
getSqueakProfileByAddressRequest.setAddress(address);
console.log(getSqueakProfileByAddressRequest);
@ -37,6 +36,17 @@ export default function SqueakAddressPage() {
setSqueakProfile(response.getSqueakProfile())
});
};
const getSqueaks = () => {
var getAddressSqueakDisplaysRequest = new GetAddressSqueakDisplaysRequest()
getAddressSqueakDisplaysRequest.setAddress(address);
console.log(getAddressSqueakDisplaysRequest);
client.getAddressSqueakDisplays(getAddressSqueakDisplaysRequest, {}, (err, response) => {
console.log(response);
console.log(response.getSqueakDisplayEntriesList());
setSqueaks(response.getSqueakDisplayEntriesList())
});
};
const goToCreateProfilePage = (profileId) => {
history.push("/app/profile/" + profileId);
@ -45,6 +55,9 @@ export default function SqueakAddressPage() {
useEffect(()=>{
getSqueakProfile()
},[]);
useEffect(()=>{
getSqueaks()
},[]);
function NoProfileContent() {
return (
@ -65,6 +78,26 @@ export default function SqueakAddressPage() {
)
}
function NoSqueaksContent() {
return (
<div>
Unable to load squeaks.
</div>
)
}
function SqueaksContent() {
return (
<>
<Grid container spacing={4} >
{squeaks.map(squeak =>
<Squeak key={squeak.getSqueakHash()} squeak={squeak}></Squeak>
)}
</Grid>
</>
)
}
return (
<>
<PageTitle title={'Squeak Address: ' + address} />
@ -72,6 +105,10 @@ export default function SqueakAddressPage() {
? ProfileContent()
: NoProfileContent()
}
{(squeaks)
? SqueaksContent()
: NoSqueaksContent()
}
</>
);
}