import React, { memo } from 'react';
import Link from './Link';
import { uriType as uriTypeHelper } from '../util/helpers';
import { encodeUri } from '../util/format';
export default memo(({
type,
uri: rawUri,
className,
handleContextMenu,
children,
unencoded,
}) => {
let to = null;
const uriType = type || uriTypeHelper(rawUri);
const uri = (!unencoded) ? encodeUri(rawUri) : rawUri;
switch (uriType) {
case 'playlist':
to = `/playlist/${uri}`;
break;
case 'artist':
to = `/artist/${uri}`;
break;
case 'album':
to = `/album/${uri}`;
break;
case 'track':
to = `/track/${uri}`;
break;
case 'user':
to = `/user/${uri}`;
break;
case 'browse':
to = `/library/browse/${uri}`;
break;
case 'recommendations':
to = `/discover/recommendations/${uri}`;
break;
case 'search':
var exploded = uri.split(':');
to = `/search/${exploded[2]}/${exploded[3]}`;
break;
default:
to = `/uri/${uri}`;
}
if (uri) {
return (
{children}
);
}
return (
{children}
);
});