Compare commits

..

4 Commits

Author SHA1 Message Date
William Oldham
f5e222ca6f Merge branch 'master' into migrate-to-guider 2024-03-31 16:21:06 +01:00
William Oldham
1c203ab481 Create linting workflow 2024-03-31 16:20:49 +01:00
mrjvs
f42b3b2592 Fix linting 2024-03-31 17:17:44 +02:00
mrjvs
d1379785ba Update guider version 2024-03-31 16:52:05 +02:00
11 changed files with 1340 additions and 58 deletions

View File

@@ -1,8 +1,6 @@
module.exports = { module.exports = {
root: true, extends: ['next', 'plugin:prettier/recommended'],
extends: ['plugin:@next/next/recommended', 'plugin:prettier/recommended'], rules: {
parserOptions: { '@next/next/no-img-element': 'off',
sourceType: 'module',
ecmaVersion: 2020,
}, },
}; };

32
.github/workflows/linting.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Linting and Testing
on:
push:
branches:
- master
pull_request:
jobs:
linting:
name: Run Linters
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: pnpm/action-setup@v3
with:
version: 8
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install pnpm packages
run: pnpm install
- name: Run ESLint
run: pnpm run lint

View File

@@ -1,13 +1,10 @@
import Link from "next/link"; import Link from 'next/link';
import classes from "./Logo.module.css"; import classes from './Logo.module.css';
import logoUrl from "../public/icon-light.png" import logoUrl from '../public/icon-light.png';
export function Logo() { export function Logo() {
return ( return (
<Link <Link href="/" className={classes.logo}>
href="/"
className={classes.logo}
>
<img src={logoUrl.src} alt="Logo of movie-web" /> <img src={logoUrl.src} alt="Logo of movie-web" />
</Link> </Link>
); );

View File

@@ -10,16 +10,16 @@
"lint:fix": "next lint --fix" "lint:fix": "next lint --fix"
}, },
"devDependencies": { "devDependencies": {
"@next/eslint-plugin-next": "^14.1.4",
"@types/react": "18.2.73", "@types/react": "18.2.73",
"eslint": "^8.56.0", "eslint": "^8.56.0",
"eslint-config-next": "^14.1.4",
"eslint-config-prettier": "^9.1.0", "eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.1.2", "eslint-plugin-prettier": "^5.1.2",
"prettier": "^3.1.1", "prettier": "^3.1.1",
"typescript": "5.4.3" "typescript": "5.4.3"
}, },
"dependencies": { "dependencies": {
"@neato/guider": "^0.1.3", "@neato/guider": "^0.1.4",
"next": "^14.1.4", "next": "^14.1.4",
"next-seo": "^6.5.0", "next-seo": "^6.5.0",
"react": "^18.2.0", "react": "^18.2.0",

View File

@@ -1,3 +1,3 @@
import { createRedirect } from "@neato/guider/client"; import { createRedirect } from '@neato/guider/client';
export default createRedirect({ to: '/backend/introduction' }); export default createRedirect({ to: '/backend/introduction' });

View File

@@ -1,3 +1,3 @@
import { createRedirect } from "@neato/guider/client"; import { createRedirect } from '@neato/guider/client';
export default createRedirect({ to: '/client/introduction' }); export default createRedirect({ to: '/client/introduction' });

View File

@@ -1,3 +1,3 @@
import { createRedirect } from "@neato/guider/client"; import { createRedirect } from '@neato/guider/client';
export default createRedirect({ to: '/extra/streaming' }); export default createRedirect({ to: '/extra/streaming' });

View File

@@ -12,7 +12,8 @@ export default function LandingPage() {
<Hero> <Hero>
<Hero.Title>movie-web</Hero.Title> <Hero.Title>movie-web</Hero.Title>
<Hero.Subtitle> <Hero.Subtitle>
A simple and no-BS app for watching movies and TV shows. Totally free and open source, forever. A simple and no-BS app for watching movies and TV shows. Totally free
and open source, forever.
</Hero.Subtitle> </Hero.Subtitle>
<Hero.Actions> <Hero.Actions>
<Button to="/self-hosting/hosting-intro">Get Started</Button> <Button to="/self-hosting/hosting-intro">Get Started</Button>
@@ -29,28 +30,36 @@ export default function LandingPage() {
movie-web will never show ads, enjoy watching without interruptions. movie-web will never show ads, enjoy watching without interruptions.
</Card> </Card>
<Card icon="ic:baseline-ondemand-video" title="Custom Player"> <Card icon="ic:baseline-ondemand-video" title="Custom Player">
Enjoy a fully custom video player including streaming integration, subtitle customization and easy TV season navigation. Enjoy a fully custom video player including streaming integration,
subtitle customization and easy TV season navigation.
</Card> </Card>
<Card icon="mdi:content-save" title="Saves your progress"> <Card icon="mdi:content-save" title="Saves your progress">
Will remember your progress in movies and TV shows, so you can easily continue where you left off. Will remember your progress in movies and TV shows, so you can easily
continue where you left off.
</Card> </Card>
<Card icon="mdi:bookmark" title="Bookmarking"> <Card icon="mdi:bookmark" title="Bookmarking">
Allows you to bookmark your favorite movies and TV shows, so you can easily find them again. Allows you to bookmark your favorite movies and TV shows, so you can
easily find them again.
</Card> </Card>
<Card icon="mdi:cloud-refresh" title="Syncing across devices"> <Card icon="mdi:cloud-refresh" title="Syncing across devices">
Enjoy uninterrupted streaming as your progress, proxies, and bookmarks sync effortlessly across all your devices. Enjoy uninterrupted streaming as your progress, proxies, and bookmarks
sync effortlessly across all your devices.
</Card> </Card>
<Card icon="mdi:power-plug-outline" title="Modular by design"> <Card icon="mdi:power-plug-outline" title="Modular by design">
Mix and match different parts of the movie-web service, [host your backend](4.backend/1.deploy.md) or use ours, it'll work either way. Mix and match different parts of the movie-web service, host your
backend or use ours, it&apos;ll work either way.
</Card> </Card>
<Card icon="mdi:flag" title="Multiple Languages"> <Card icon="mdi:flag" title="Multiple Languages">
Supports over 25 languages, including English, German, French, Spanish, Italian, Czech, Hindi, Arabic, Hebrew and more. Supports over 25 languages, including English, German, French,
Spanish, Italian, Czech, Hindi, Arabic, Hebrew and more.
</Card> </Card>
<Card icon="mdi:brush-variant" title="Customizable"> <Card icon="mdi:brush-variant" title="Customizable">
Supports various themes, subtitle colors and subtitle sizes so you can make it look however you want. Supports various themes, subtitle colors and subtitle sizes so you can
make it look however you want.
</Card> </Card>
<Card icon="mdi:cellphone" title="Progressive Web App Support"> <Card icon="mdi:cellphone" title="Progressive Web App Support">
Supports PWA, so you can install it on your phone and use it just like a native app. Supports PWA, so you can install it on your phone and use it just like
a native app.
</Card> </Card>
</CardGrid> </CardGrid>
</GuiderLayout> </GuiderLayout>

View File

@@ -1,3 +1,3 @@
import { createRedirect } from "@neato/guider/client"; import { createRedirect } from '@neato/guider/client';
export default createRedirect({ to: '/proxy/introduction' }); export default createRedirect({ to: '/proxy/introduction' });

View File

@@ -1,3 +1,3 @@
import { createRedirect } from "@neato/guider/client"; import { createRedirect } from '@neato/guider/client';
export default createRedirect({ to: '/self-hosting/hosting-intro' }); export default createRedirect({ to: '/self-hosting/hosting-intro' });

1304
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff