Dynamic basename ('/' or '/iris/') depending on initial path; Webpack dev server fully functional

This commit is contained in:
James Barnsley
2022-10-30 16:29:56 +13:00
parent 84bc77a7d6
commit 7564c1bdee
11 changed files with 58 additions and 53 deletions

View File

@ -17,7 +17,7 @@ const Icon = memo(({
return (
<span className={fullClassName}>
<img
src={`/iris/assets/icons/${name}.svg`}
src={`/assets/icons/${name}.svg`}
onClick={onClick}
alt={`${name} icon`}
/>
@ -29,7 +29,7 @@ const Icon = memo(({
<span className={fullClassName}>
<img
className={fullClassName}
src={`/iris/assets/icons/${name}.gif`}
src={`/assets/icons/${name}.gif`}
onClick={onClick}
alt={`${name} icon`}
/>

View File

@ -139,7 +139,7 @@ class MediaSession extends React.Component {
// eslint-disable-next-line jsx-a11y/media-has-caption
<audio
id="media-session"
src="/iris/assets/silence.mp3"
src="/assets/silence.mp3"
autoPlay
loop
style={{ display: 'none' }}

View File

@ -65,7 +65,6 @@ const Track = ({
getDragItem,
events,
}) => {
return null;
const index = getItemIndex();
const [{ isDragging }, drag] = useDrag({
type: 'TRACK',

View File

@ -13,7 +13,7 @@ const root = createRoot(document.getElementById('app'));
root.render(
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<BrowserRouter basename="/iris">
<BrowserRouter basename={window.location.pathname.indexOf('/iris') > -1 ? '/iris' : '/'}>
<Routes>
<Route path="*" element={<App />} />
</Routes>

View File

@ -55,7 +55,7 @@ const setFavicon = function (filename) {
const new_link = document.createElement('link');
new_link.className = link.className;
new_link.rel = link.rel;
new_link.href = `/iris/assets/${filename}`;
new_link.href = `/assets/${filename}`;
if (link.type) {
new_link.type = link.type;
}

View File

@ -526,7 +526,7 @@ class Recommendations extends React.Component {
return (
<div className="view discover-view preserve-3d">
{theme === 'dark' && <Parallax image="/iris/assets/backgrounds/discover.jpg" />}
{theme === 'dark' && <Parallax image="/assets/backgrounds/discover.jpg" />}
<div className="intro preserve-3d">
<div className="intro__liner">
<h1><I18n path="discover.recommendations.body_title" /></h1>

View File

@ -45,80 +45,80 @@ class Browse extends React.Component {
for (const subdirectory of directory.subdirectories) {
switch (subdirectory.name) {
case 'Dirble':
subdirectory.icons = ['/iris/assets/backgrounds/browse-dirble.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-dirble.jpg'];
break;
case 'Files':
subdirectory.icons = ['/iris/assets/backgrounds/browse-folders.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-folders.jpg'];
break;
case 'Local media':
subdirectory.icons = ['/iris/assets/backgrounds/browse-folders.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-folders.jpg'];
break;
case 'Spotify':
case 'Spotify Browse':
case 'Spotify Web Browse':
subdirectory.icons = ['/iris/assets/backgrounds/browse-spotify.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-spotify.jpg'];
break;
case 'Spotify Tunigo':
case 'Tunigo':
subdirectory.icons = ['/iris/assets/backgrounds/browse-tunigo.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-tunigo.jpg'];
break;
case 'TuneIn':
subdirectory.icons = ['/iris/assets/backgrounds/browse-tunein.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-tunein.jpg'];
break;
case 'SoundCloud':
subdirectory.icons = ['/iris/assets/backgrounds/browse-soundcloud.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-soundcloud.jpg'];
break;
case 'Mixcloud':
subdirectory.icons = ['/iris/assets/backgrounds/browse-mixcloud.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-mixcloud.jpg'];
break;
case 'iTunes Store: Podcasts':
subdirectory.icons = ['/iris/assets/backgrounds/browse-itunes.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-itunes.jpg'];
break;
case 'SomaFM':
subdirectory.icons = ['/iris/assets/backgrounds/browse-somafm.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-somafm.jpg'];
break;
case 'Jellyfin':
subdirectory.icons = ['/iris/assets/backgrounds/browse-jellyfin.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-jellyfin.jpg'];
break;
case 'Podcasts':
subdirectory.icons = ['/iris/assets/backgrounds/browse-podcasts.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-podcasts.jpg'];
break;
case 'Tidal':
subdirectory.icons = ['/iris/assets/backgrounds/browse-tidal.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-tidal.jpg'];
break;
case 'Google':
case 'Google Play':
case 'Google Play Music':
subdirectory.icons = ['/iris/assets/backgrounds/browse-google.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-google.jpg'];
break;
case 'YouTube Music':
subdirectory.icons = ['/iris/assets/backgrounds/browse-youtube.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-youtube.jpg'];
break;
case 'bandcamp':
case 'Bandcamp':
subdirectory.icons = ['/iris/assets/backgrounds/browse-default.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-default.jpg'];
break;
default:
if (subdirectory.images?.medium) {
subdirectory.icons = [subdirectory.images?.medium];
} else {
subdirectory.icons = ['/iris/assets/backgrounds/browse-default.jpg'];
subdirectory.icons = ['/assets/backgrounds/browse-default.jpg'];
}
}

View File

@ -140,7 +140,7 @@ class Reset extends React.Component {
console.log('Reset complete, refreshing...');
resetState(stateKeysToReset);
setTimeout(
() => closeModal(window.location = `/iris/settings${test_mode ? '?test_mode=0' : ''}`),
() => closeModal(window.location = `/settings${test_mode ? '?test_mode=0' : ''}`),
1000,
);
});