mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2025-01-05 20:12:02 -05:00
6872cfc51f
addresses most comments except modal refactor, and error response from sumitting report. * restore gui as a dev dependency * better separation of view container/presentation * replace absolute heights for textareas with making all sub components `display: flex` * start to make presentation more modular added subcomponents to the view folder: * share-banner (moved from components) * remix-credit * remix-list * studio-list
37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
const React = require('react');
|
|
const PropTypes = require('prop-types');
|
|
const FlexRow = require('../../components/flex-row/flex-row.jsx');
|
|
const ThumbnailColumn = require('../../components/thumbnailcolumn/thumbnailcolumn.jsx');
|
|
const projectShape = require('./projectshape.jsx').projectShape;
|
|
|
|
const StudioList = props => {
|
|
const studios = props.studios;
|
|
if (studios.length === 0) return null;
|
|
return (
|
|
<FlexRow className="remix-list">
|
|
<div className="project-title">
|
|
Studios
|
|
</div>
|
|
{studios.length === 0 ? (
|
|
// TODO: style remix invitation
|
|
<span>Invite user to add to studio</span>
|
|
) : (
|
|
<ThumbnailColumn
|
|
cards
|
|
showAvatar
|
|
itemType="studio"
|
|
items={studios.slice(0, 5)}
|
|
showFavorites={false}
|
|
showLoves={false}
|
|
showViews={false}
|
|
/>
|
|
)}
|
|
</FlexRow>
|
|
);
|
|
};
|
|
|
|
StudioList.propTypes = {
|
|
studios: PropTypes.arrayOf(projectShape)
|
|
};
|
|
|
|
module.exports = StudioList;
|