Toggle navigation
Toggle navigation
This project
Loading...
Sign in
2020-1-CloudComputing-E
/
E_Team_KhuBox
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Graphs
Network
Create a new issue
Commits
Issue Boards
Authored by
이우진
2020-05-04 02:03:21 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
622bc0c6de7c634dd285a1adfce6b1b2826d03c3
622bc0c6
1 parent
4201fe1f
Add recent file view
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
28 additions
and
161 deletions
khubox-front/src/Routes.js
khubox-front/src/views/ProductList/components/ProductCard/index.js
khubox-front/src/views/ProductList/components/ProductsToolbar/ProductsToolbar.js
khubox-front/src/views/ProductList/components/ProductsToolbar/index.js
khubox-front/src/views/ProductList/components/index.js
khubox-front/src/views/ProductList/data.js
khubox-front/src/views/ProductList/index.js
khubox-front/src/views/ProductList/ProductList.js → khubox-front/src/views/RecentFileList/RecentFileList.js
khubox-front/src/views/ProductList/components/ProductCard/ProductCard.js → khubox-front/src/views/RecentFileList/components/FileCard/FileCard.js
khubox-front/src/views/RecentFileList/components/FileCard/index.js
khubox-front/src/views/RecentFileList/components/index.js
khubox-front/src/views/RecentFileList/data.js
khubox-front/src/views/RecentFileList/index.js
khubox-front/src/views/index.js
khubox-front/src/Routes.js
View file @
622bc0c
...
...
@@ -6,7 +6,7 @@ import { Main as MainLayout, Minimal as MinimalLayout } from './layouts';
import
{
Dashboard
as
DashboardView
,
ProductList
as
Product
ListView
,
RecentFileList
as
RecentFile
ListView
,
MyDrive
as
MyDriveView
,
SharedFileList
as
SharedFileView
,
Typography
as
TypographyView
,
...
...
@@ -39,7 +39,7 @@ const Routes = () => {
path
=
"/share"
/>
<
RouteWithLayout
component
=
{
Product
ListView
}
component
=
{
RecentFile
ListView
}
exact
layout
=
{
MainLayout
}
path
=
"/recent"
...
...
khubox-front/src/views/ProductList/components/ProductCard/index.js
deleted
100644 → 0
View file @
4201fe1
export
{
default
}
from
'./ProductCard'
;
khubox-front/src/views/ProductList/components/ProductsToolbar/ProductsToolbar.js
deleted
100644 → 0
View file @
4201fe1
import
React
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
clsx
from
'clsx'
;
import
{
makeStyles
}
from
'@material-ui/styles'
;
import
{
Button
}
from
'@material-ui/core'
;
import
{
SearchInput
}
from
'components'
;
const
useStyles
=
makeStyles
(
theme
=>
({
root
:
{},
row
:
{
height
:
'42px'
,
display
:
'flex'
,
alignItems
:
'center'
,
marginTop
:
theme
.
spacing
(
1
)
},
spacer
:
{
flexGrow
:
1
},
importButton
:
{
marginRight
:
theme
.
spacing
(
1
)
},
exportButton
:
{
marginRight
:
theme
.
spacing
(
1
)
},
searchInput
:
{
marginRight
:
theme
.
spacing
(
1
)
}
}));
const
ProductsToolbar
=
props
=>
{
const
{
className
,
...
rest
}
=
props
;
const
classes
=
useStyles
();
return
(
<
div
{...
rest
}
className
=
{
clsx
(
classes
.
root
,
className
)}
>
<
div
className
=
{
classes
.
row
}
>
<
span
className
=
{
classes
.
spacer
}
/
>
<
Button
className
=
{
classes
.
importButton
}
>
Import
<
/Button
>
<
Button
className
=
{
classes
.
exportButton
}
>
Export
<
/Button
>
<
Button
color
=
"primary"
variant
=
"contained"
>
Add
product
<
/Button
>
<
/div
>
<
div
className
=
{
classes
.
row
}
>
<
SearchInput
className
=
{
classes
.
searchInput
}
placeholder
=
"Search product"
/>
<
/div
>
<
/div
>
);
};
ProductsToolbar
.
propTypes
=
{
className
:
PropTypes
.
string
};
export
default
ProductsToolbar
;
khubox-front/src/views/ProductList/components/ProductsToolbar/index.js
deleted
100644 → 0
View file @
4201fe1
export
{
default
}
from
'./ProductsToolbar'
;
khubox-front/src/views/ProductList/components/index.js
deleted
100644 → 0
View file @
4201fe1
export
{
default
as
ProductCard
}
from
'./ProductCard'
;
export
{
default
as
ProductsToolbar
}
from
'./ProductsToolbar'
;
khubox-front/src/views/ProductList/data.js
deleted
100644 → 0
View file @
4201fe1
import
uuid
from
'uuid/v1'
;
export
default
[
{
id
:
uuid
(),
title
:
'Dropbox'
,
description
:
'Dropbox is a file hosting service that offers cloud storage, file synchronization, a personal cloud.'
,
imageUrl
:
'/images/products/product_1.png'
,
totalDownloads
:
'594'
,
updatedAt
:
'27/03/2019'
},
{
id
:
uuid
(),
title
:
'Medium Corporation'
,
description
:
'Medium is an online publishing platform developed by Evan Williams, and launched in August 2012.'
,
imageUrl
:
'/images/products/product_2.png'
,
totalDownloads
:
'625'
,
createdAt
:
'31/03/2019'
},
{
id
:
uuid
(),
title
:
'Slack'
,
description
:
'Slack is a cloud-based set of team collaboration tools and services, founded by Stewart Butterfield.'
,
imageUrl
:
'/images/products/product_3.png'
,
totalDownloads
:
'857'
,
createdAt
:
'03/04/2019'
},
{
id
:
uuid
(),
title
:
'Lyft'
,
description
:
'Lyft is an on-demand transportation company based in San Francisco, California.'
,
imageUrl
:
'/images/products/product_4.png'
,
totalDownloads
:
'406'
,
createdAt
:
'04/04/2019'
},
{
id
:
uuid
(),
title
:
'GitHub'
,
description
:
'GitHub is a web-based hosting service for version control of code using Git.'
,
imageUrl
:
'/images/products/product_5.png'
,
totalDownloads
:
'835'
,
createdAt
:
'04/04/2019'
},
{
id
:
uuid
(),
title
:
'Squarespace'
,
description
:
'Squarespace provides software as a service for website building and hosting. Headquartered in NYC.'
,
imageUrl
:
'/images/products/product_6.png'
,
totalDownloads
:
'835'
,
createdAt
:
'04/04/2019'
}
];
khubox-front/src/views/ProductList/index.js
deleted
100644 → 0
View file @
4201fe1
export
{
default
}
from
'./ProductList'
;
khubox-front/src/views/
ProductList/Product
List.js
→
khubox-front/src/views/
RecentFileList/RecentFile
List.js
View file @
622bc0c
...
...
@@ -4,7 +4,7 @@ import { IconButton, Grid, Typography } from '@material-ui/core';
import
ChevronRightIcon
from
'@material-ui/icons/ChevronRight'
;
import
ChevronLeftIcon
from
'@material-ui/icons/ChevronLeft'
;
import
{
ProductsToolbar
,
Product
Card
}
from
'./components'
;
import
{
File
Card
}
from
'./components'
;
import
mockData
from
'./data'
;
const
useStyles
=
makeStyles
(
theme
=>
({
...
...
@@ -22,28 +22,27 @@ const useStyles = makeStyles(theme => ({
}
}));
const
Product
List
=
()
=>
{
const
RecentFile
List
=
()
=>
{
const
classes
=
useStyles
();
const
[
product
s
]
=
useState
(
mockData
);
const
[
file
s
]
=
useState
(
mockData
);
return
(
<
div
className
=
{
classes
.
root
}
>
<
ProductsToolbar
/>
<
div
className
=
{
classes
.
content
}
>
<
Grid
container
spacing
=
{
3
}
>
{
products
.
map
(
product
=>
(
{
files
.
map
(
file
=>
(
<
Grid
item
key
=
{
product
.
id
}
key
=
{
file
.
id
}
lg
=
{
4
}
md
=
{
6
}
xs
=
{
12
}
>
<
ProductCard
product
=
{
product
}
/
>
<
FileCard
file
=
{
file
}
/
>
<
/Grid
>
))}
<
/Grid
>
...
...
@@ -61,4 +60,4 @@ const ProductList = () => {
);
};
export
default
Product
List
;
export
default
RecentFile
List
;
...
...
khubox-front/src/views/
ProductList/components/ProductCard/Product
Card.js
→
khubox-front/src/views/
RecentFileList/components/FileCard/File
Card.js
View file @
622bc0c
...
...
@@ -39,8 +39,8 @@ const useStyles = makeStyles(theme => ({
}
}));
const
Product
Card
=
props
=>
{
const
{
className
,
product
,
...
rest
}
=
props
;
const
File
Card
=
props
=>
{
const
{
className
,
file
,
...
rest
}
=
props
;
const
classes
=
useStyles
();
...
...
@@ -51,10 +51,11 @@ const ProductCard = props => {
>
<
CardContent
>
<
div
className
=
{
classes
.
imageContainer
}
>
{
/* TODO: file.modifiedAt과 연동 */
}
<
img
alt
=
"
Product
"
alt
=
"
FileIcon
"
className
=
{
classes
.
image
}
src
=
{
product
.
imageUrl
}
src
=
{
file
.
imageUrl
}
/
>
<
/div
>
<
Typography
...
...
@@ -62,13 +63,7 @@ const ProductCard = props => {
gutterBottom
variant
=
"h4"
>
{
product
.
title
}
<
/Typography
>
<
Typography
align
=
"center"
variant
=
"body1"
>
{
product
.
description
}
{
file
.
name
}
<
/Typography
>
<
/CardContent
>
<
Divider
/>
...
...
@@ -86,6 +81,7 @@ const ProductCard = props => {
display
=
"inline"
variant
=
"body2"
>
{
/* TODO: file.modifiedAt과 연동 */
}
Updated
2
hr
ago
<
/Typography
>
<
/Grid
>
...
...
@@ -93,13 +89,6 @@ const ProductCard = props => {
className
=
{
classes
.
statsItem
}
item
>
<
GetAppIcon
className
=
{
classes
.
statsIcon
}
/
>
<
Typography
display
=
"inline"
variant
=
"body2"
>
{
product
.
totalDownloads
}
Downloads
<
/Typography
>
<
/Grid
>
<
/Grid
>
<
/CardActions
>
...
...
@@ -107,9 +96,9 @@ const ProductCard = props => {
);
};
Product
Card
.
propTypes
=
{
File
Card
.
propTypes
=
{
className
:
PropTypes
.
string
,
product
:
PropTypes
.
object
.
isRequired
file
:
PropTypes
.
object
.
isRequired
};
export
default
Product
Card
;
export
default
File
Card
;
...
...
khubox-front/src/views/RecentFileList/components/FileCard/index.js
0 → 100644
View file @
622bc0c
export
{
default
}
from
'./FileCard'
;
khubox-front/src/views/RecentFileList/components/index.js
0 → 100644
View file @
622bc0c
export
{
default
as
FileCard
}
from
'./FileCard'
;
export
{
default
as
RecentFileToolbar
}
from
'./RecentFileToolbar'
;
khubox-front/src/views/RecentFileList/data.js
0 → 100644
View file @
622bc0c
import
uuid
from
'uuid/v1'
;
import
data
from
'mock_file_data.json'
export
default
data
;
khubox-front/src/views/RecentFileList/index.js
0 → 100644
View file @
622bc0c
export
{
default
}
from
'./RecentFileList'
;
khubox-front/src/views/index.js
View file @
622bc0c
...
...
@@ -2,7 +2,7 @@ export { default as Account } from './Account';
export
{
default
as
Dashboard
}
from
'./Dashboard'
;
export
{
default
as
Icons
}
from
'./Icons'
;
export
{
default
as
NotFound
}
from
'./NotFound'
;
export
{
default
as
ProductList
}
from
'./Product
List'
;
export
{
default
as
RecentFileList
}
from
'./RecentFile
List'
;
export
{
default
as
Settings
}
from
'./Settings'
;
export
{
default
as
SignIn
}
from
'./SignIn'
;
export
{
default
as
SignUp
}
from
'./SignUp'
;
...
...
Please
register
or
login
to post a comment