feat: Added download option to share menu (#202)

* Fixed season order on season and year pages.
* Fixed overflow issue with video scripts.
This commit is contained in:
Mani
2024-03-29 01:59:11 +01:00
committed by GitHub
parent 8ce027c22b
commit 28b69b7dc3
5 changed files with 22 additions and 7 deletions
@@ -138,6 +138,7 @@ export const StyledAside = styled.aside`
flex-direction: column; flex-direction: column;
gap: 32px; gap: 32px;
min-width: 0;
padding-top: 64px; padding-top: 64px;
@media (max-width: ${theme.breakpoints.tabletMax}) { @media (max-width: ${theme.breakpoints.tabletMax}) {
@@ -208,9 +208,19 @@ export function VideoPlayerBar() {
<MenuContent> <MenuContent>
<MenuItem onSelect={() => saveToClipboard(location.href)}>Copy URL to this Page</MenuItem> <MenuItem onSelect={() => saveToClipboard(location.href)}>Copy URL to this Page</MenuItem>
{audioMode === AudioMode.ENABLED ? ( {audioMode === AudioMode.ENABLED ? (
<MenuItem onSelect={() => saveToClipboard(audioUrl)}>Copy URL to Embeddable Audio</MenuItem> <>
<MenuItem onSelect={() => saveToClipboard(audioUrl)}>Copy URL to Embeddable Audio</MenuItem>
<a href={`${audioUrl}?download`}>
<MenuItem>Download Audio</MenuItem>
</a>
</>
) : ( ) : (
<MenuItem onSelect={() => saveToClipboard(videoUrl)}>Copy URL to Embeddable Video</MenuItem> <>
<MenuItem onSelect={() => saveToClipboard(videoUrl)}>Copy URL to Embeddable Video</MenuItem>
<a href={`${videoUrl}?download`}>
<MenuItem>Download Video</MenuItem>
</a>
</>
)} )}
</MenuContent> </MenuContent>
</Menu> </Menu>
@@ -195,7 +195,7 @@ export default function VideoPage({ anime, themeIndex, entryIndex, videoIndex, l
<PageRevalidation lastBuildAt={lastBuildAt} apiRequests={apiRequests} /> <PageRevalidation lastBuildAt={lastBuildAt} apiRequests={apiRequests} />
)} )}
{developerMode === DeveloperMode.ENABLED ? ( {developerMode === DeveloperMode.ENABLED ? (
<VideoScript video={video} /> <VideoScript key={video.id} video={video} />
) : null} ) : null}
</Column> </Column>
</StyledScrollArea> </StyledScrollArea>
+4 -2
View File
@@ -13,7 +13,7 @@ import type { ParsedUrlQuery } from "querystring";
import type { RequiredNonNullable } from "utils/types"; import type { RequiredNonNullable } from "utils/types";
import { capitalize } from "lodash-es"; import { capitalize } from "lodash-es";
const seasonOrder = [ "Winter", "Spring", "Summer", "Fall" ]; const seasonOrder = [ "winter", "spring", "summer", "fall" ];
export interface SeasonDetailPageProps extends SharedPageProps, RequiredNonNullable<SeasonDetailPageQuery> {} export interface SeasonDetailPageProps extends SharedPageProps, RequiredNonNullable<SeasonDetailPageQuery> {}
@@ -79,7 +79,9 @@ export const getStaticProps: GetStaticProps<SeasonDetailPageProps, SeasonDetailP
}; };
} }
data.year.seasons.sort((a, b) => seasonOrder.indexOf(a.value) - seasonOrder.indexOf(b.value)); data.year.seasons.sort((a, b) =>
seasonOrder.indexOf(a.value.toLowerCase()) - seasonOrder.indexOf(b.value.toLowerCase())
);
data.yearAll.sort((a, b) => a.value - b.value); data.yearAll.sort((a, b) => a.value - b.value);
return { return {
+4 -2
View File
@@ -17,7 +17,7 @@ import type { GetStaticPaths, GetStaticProps } from "next";
import type { YearDetailPageAllQuery, YearDetailPageQuery, YearDetailPageQueryVariables } from "generated/graphql"; import type { YearDetailPageAllQuery, YearDetailPageQuery, YearDetailPageQueryVariables } from "generated/graphql";
import type { RequiredNonNullable } from "utils/types"; import type { RequiredNonNullable } from "utils/types";
const seasonOrder = [ "Winter", "Spring", "Summer", "Fall" ]; const seasonOrder = [ "winter", "spring", "summer", "fall" ];
export interface YearDetailPageProps extends SharedPageProps, RequiredNonNullable<YearDetailPageQuery> {} export interface YearDetailPageProps extends SharedPageProps, RequiredNonNullable<YearDetailPageQuery> {}
@@ -89,7 +89,9 @@ export const getStaticProps: GetStaticProps<YearDetailPageProps, YearDetailPageP
}; };
} }
data.year.seasons.sort((a, b) => seasonOrder.indexOf(a.value) - seasonOrder.indexOf(b.value)); data.year.seasons.sort((a, b) =>
seasonOrder.indexOf(a.value.toLowerCase()) - seasonOrder.indexOf(b.value.toLowerCase())
);
data.yearAll.sort((a, b) => a.value- b.value); data.yearAll.sort((a, b) => a.value- b.value);
for (const season of data.year.seasons) { for (const season of data.year.seasons) {