mirror of
https://github.com/AnimeThemes/animethemes-web.git
synced 2026-07-11 01:24:31 +02:00
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:
@@ -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>
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user