@@ -1,5 +1,7 @@
|
||||
<div align="center">
|
||||
<img src="previews/header.png" />
|
||||
<img src="./materialious/static/logo.svg" width="200px" />
|
||||
<br />
|
||||
<br />
|
||||
<quote>
|
||||
Modern material design for Invidious.
|
||||
</quote>
|
||||
@@ -82,6 +84,7 @@ Due to Google's policies on custom YouTube frontends, Materialious isn't availab
|
||||
[Join our Matrix space](https://matrix.to/#/#ward:matrix.org)
|
||||
|
||||
# Special thanks to
|
||||
- [SecularSteve](https://github.com/SecularSteve) for creating Materialious' logo.
|
||||
- [Invidious](https://github.com/iv-org)
|
||||
- [Clipious](https://github.com/lamarios/clipious) for inspiration & a good source for learning more about undocumented Invidious routes.
|
||||
- [Vidstack player](https://github.com/vidstack/player)
|
||||
|
||||
@@ -7,8 +7,8 @@ android {
|
||||
applicationId "us.materialio.app"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 19
|
||||
versionName "1.1.7"
|
||||
versionCode 20
|
||||
versionName "1.1.8"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
aaptOptions {
|
||||
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme">
|
||||
<activity
|
||||
|
||||
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 133 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 133 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 89 KiB |
@@ -0,0 +1,24 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="210dp"
|
||||
android:height="297dp"
|
||||
android:viewportWidth="210"
|
||||
android:viewportHeight="297">
|
||||
<path
|
||||
android:strokeWidth="1"
|
||||
android:pathData="m86.73,119.52 l1.31,4.89l0,0l45.03,12.06 -32.96,32.96 -0,0 6.21,23.17 26.75,-26.75 26.75,-26.75 -36.54,-9.79zM91.07,135.72 L96.52,156.06 97.07,158.13 113.48,141.72z"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="square"/>
|
||||
<path
|
||||
android:strokeWidth="1"
|
||||
android:pathData="M69.77,192.6 L96.52,165.85l26.75,-26.75 -36.54,-9.79 -36.54,-9.79 9.79,36.54z"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="square"/>
|
||||
<path
|
||||
android:pathData="M86.73,109.37m-4.98,0a4.98,4.98 0,1 1,9.96 0a4.98,4.98 0,1 1,-9.96 0"
|
||||
android:strokeWidth="10.98"
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="square"/>
|
||||
</vector>
|
||||
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 12 KiB |
@@ -6,4 +6,6 @@
|
||||
<foreground>
|
||||
<inset android:drawable="@mipmap/ic_launcher_foreground" android:inset="16.7%" />
|
||||
</foreground>
|
||||
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 997 B After Width: | Height: | Size: 811 B |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.0 KiB |
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "Materialious",
|
||||
"version": "1.1.7",
|
||||
"version": "1.1.8",
|
||||
"description": "Modern material design for Invidious.",
|
||||
"author": {
|
||||
"name": "Ward Pearce",
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"name": "materialious",
|
||||
"version": "1.1.5",
|
||||
"version": "1.1.7",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "materialious",
|
||||
"version": "1.1.5",
|
||||
"version": "1.1.7",
|
||||
"dependencies": {
|
||||
"@capacitor-community/electron": "^5.0.1",
|
||||
"@capacitor/android": "^6.1.2",
|
||||
"@capacitor/android": "6.1.2",
|
||||
"@capacitor/app": "^6.0.1",
|
||||
"@capacitor/browser": "^6.0.0",
|
||||
"@capacitor/cli": "^6.1.2",
|
||||
"@capacitor/cli": "6.1.2",
|
||||
"@capacitor/core": "^6.1.2",
|
||||
"beercss": "^3.6.13",
|
||||
"fuse.js": "^7.0.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "materialious",
|
||||
"version": "1.1.7",
|
||||
"version": "1.1.8",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
@@ -39,10 +39,10 @@
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@capacitor-community/electron": "^5.0.1",
|
||||
"@capacitor/android": "^6.1.2",
|
||||
"@capacitor/android": "6.1.2",
|
||||
"@capacitor/app": "^6.0.1",
|
||||
"@capacitor/browser": "^6.0.0",
|
||||
"@capacitor/cli": "^6.1.2",
|
||||
"@capacitor/cli": "6.1.2",
|
||||
"@capacitor/core": "^6.1.2",
|
||||
"beercss": "^3.6.13",
|
||||
"fuse.js": "^7.0.0",
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 38 KiB |
@@ -3,7 +3,7 @@
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" href="%sveltekit.assets%/icon-only.png" />
|
||||
<link rel="icon" href="%sveltekit.assets%/logo.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link rel="stylesheet" href="%sveltekit.assets%/style.css" />
|
||||
<meta name="description" content="Modern material design for Invidious." />
|
||||
|
||||
@@ -1,28 +1,62 @@
|
||||
<script lang="ts">
|
||||
import ui from 'beercss';
|
||||
import { onMount } from 'svelte';
|
||||
import { darkModeStore, themeColorStore } from './store';
|
||||
import { getDynamicTheme } from './theme';
|
||||
|
||||
export let classes = '';
|
||||
|
||||
let fillColor = '';
|
||||
|
||||
async function setFill() {
|
||||
fillColor = (await getDynamicTheme())['--primary'];
|
||||
}
|
||||
|
||||
onMount(async () => {
|
||||
// Wait for ui to load before setting fill.
|
||||
await ui();
|
||||
|
||||
await setFill();
|
||||
});
|
||||
|
||||
darkModeStore.subscribe(async () => {
|
||||
await setFill();
|
||||
});
|
||||
|
||||
themeColorStore.subscribe(async () => {
|
||||
await setFill();
|
||||
});
|
||||
</script>
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
class={classes}
|
||||
height="100%"
|
||||
version="1.0"
|
||||
viewBox="0 0 512 512"
|
||||
xml:space="preserve"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
><g
|
||||
><path
|
||||
d="m247.17 455.95c-19.792-0.78921-38.719-4.2564-57.154-10.47-60.968-20.55-108.68-68.579-127-127.86-7.8955-25.538-10.062-53.943-6.2586-82.067 3.7105-27.439 13.603-53.515 29.342-77.344 12.069-18.273 29.138-36.277 47.228-49.816 36.891-27.61 85.944-42.49 132.38-40.157 25.88 1.3001 49.939 6.765 73.106 16.606 8.1948 3.481 20.024 9.6845 27.696 14.525 14.15 8.9272 22.367 15.498 34.482 27.573 13.254 13.211 22.128 24.276 30.398 37.906 7.2081 11.879 14.099 27.15 18.229 40.397 1.5996 5.1305 4.442 16.456 5.6852 22.653 2.3908 11.917 2.6998 15.722 2.7049 33.312 6e-3 18.515-0.46256 24.413-2.9166 36.758-9.3274 46.92-35.58 88.167-74.872 117.64-22.814 17.112-50.027 29.535-78.547 35.858-16.714 3.7059-35.421 5.2453-54.498 4.4846zm-35.1-78.786c-5.3e-4 -0.52647-0.0741-2.0564-0.16311-3.3999l-0.16178-2.4427-4.7018-0.26271c-4.0477-0.22614-4.7968-0.33363-5.3847-0.77253-2.0235-1.5108-1.4679-6.0695 2.2494-18.457 0.8637-2.8781 3.3371-11.321 5.4966-18.762 2.1594-7.4409 5.2002-17.836 6.7573-23.101 1.5571-5.2648 4.1948-14.282 5.8615-20.038 1.6667-5.7562 3.6145-12.4 4.3284-14.764 0.71391-2.3641 3.2583-11.037 5.6542-19.272 4.9475-17.007 8.1626-27.723 8.9438-29.811 0.51852-1.3858 0.54785-1.4139 0.99761-0.95317 0.25486 0.26106 3.8462 7.3667 7.9807 15.79 4.1345 8.4236 13.089 26.573 19.898 40.331 17.188 34.73 37.849 76.578 43.261 87.622l4.5356 9.257 11.359-0.0895c6.2475-0.0492 11.615-0.19623 11.929-0.32672 0.5614-0.23385 0.54167-0.2959-1.3723-4.3176-1.068-2.2442-8.1436-16.601-15.724-31.904-48.687-98.293-61.22-123.86-67.889-138.48-4.7022-10.309-6.9031-14.807-7.7139-15.762-0.82931-0.97742-1.6319-1.0638-2.3704-0.25525-1.1993 1.313-4.1046 10.063-9.3869 28.27-2.0569 7.0899-6.5372 22.425-9.9562 34.077-6.6396 22.629-8.5182 29.037-14.33 48.883-2.0354 6.9495-4.7977 16.369-6.1385 20.931-1.3408 4.5628-4.033 13.81-5.9826 20.549-4.304 14.877-6.136 20.889-7.3886 24.25-2.1371 5.7334-2.5723 6.3292-4.9216 6.7384-0.88855 0.15472-2.4102 0.28196-3.3815 0.28275-2.1993 3e-3 -3.5494 0.36339-4.0558 1.0863-0.42176 0.60215-0.56421 4.8802-0.18251 5.4812 0.20573 0.32388 2.4672 0.37414 23.34 0.51873l8.6151 0.0597-7e-4 -0.95723zm36.751-205.59c4.3282-0.92335 8.4607-4.943 9.4374-9.1796 0.36569-1.5862 0.32543-4.9758-0.077-6.4799-0.85108-3.1813-3.2688-6.291-6.039-7.7675-3.8111-2.0313-9.456-2.0295-13.272 5e-3 -5.9828 3.1888-8.1556 11.089-4.7878 17.408 2.6995 5.0648 8.3611 7.3754 14.738 6.015z"
|
||||
fill="var(--inverse-primary)"
|
||||
stroke-width=".025526"
|
||||
/></g
|
||||
><g transform="matrix(.069892 0 0 -.069892 44.236 474.48)"
|
||||
><path
|
||||
d="m2787 4669c-124-65-123-255 3-319 86-44 196-16 247 62 58 87 26 211-67 258-51 26-132 26-183-1z"
|
||||
fill="var(--inverse-surface)"
|
||||
stroke="var(--inverse-surface)"
|
||||
stroke-width="4.25"
|
||||
/><path
|
||||
d="m2882 4108c-12-16-63-166-102-303-30-104-101-350-165-565-20-69-58-199-85-290-26-91-64-221-85-290-20-69-58-199-85-290-26-91-64-221-85-290-20-69-57-195-81-280-59-207-93-299-115-310-10-6-35-10-56-10-73 0-84-8-81-54l3-41 228-3 228-2-3 47-3 48-73 3c-66 3-74 5-84 27-13 28 0 104 37 225 13 41 47 156 75 255s66 230 85 290c18 61 56 191 85 290 28 99 66 230 85 290 18 61 56 191 85 290 85 297 123 419 131 429 5 5 17-11 28-35 10-24 192-393 403-819s447-902 523-1058l139-282h168c92 0 168 4 168 8s-75 158-166 342c-588 1183-969 1958-1033 2100-29 63-69 151-89 195-44 95-58 110-80 83z"
|
||||
fill="var(--inverse-surface)"
|
||||
/></g
|
||||
viewBox="50.17 104.37 109.67 88.27"
|
||||
><defs id="defs1" /><g id="layer1"
|
||||
><g id="g6" transform="matrix(1.0140222,0,0,1.0140222,-1.4722742,-56.323482)"
|
||||
><g id="g1" transform="matrix(-1,0,0,1,201.63735,-7.4456246e-6)"
|
||||
><g id="g5"
|
||||
><path
|
||||
id="path5"
|
||||
style={`color:#000000;fill:${fillColor};stroke-linecap:square;-inkscape-stroke:none;paint-order:stroke markers fill`}
|
||||
d="m 114.65661,173.40906 -1.29294,4.82606 h -5.2e-4 l -44.404523,11.89798 32.504993,32.50551 10e-4,0.001 -6.12107,22.84563 -26.381853,-26.38185 -26.381335,-26.38134 36.03811,-9.65625 z m -4.28191,15.97939 -5.37486,20.05872 -0.54622,2.03915 -16.176276,-16.17679 z"
|
||||
/><path
|
||||
style={`color:#000000;fill:${fillColor};stroke-linecap:square;-inkscape-stroke:none;paint-order:stroke markers fill`}
|
||||
d="M 131.38171,245.48534 105,219.10365 l -26.381696,-26.3817 36.038076,-9.65637 36.03807,-9.65638 -9.65637,36.03807 z"
|
||||
id="path3"
|
||||
/></g
|
||||
></g
|
||||
><circle
|
||||
style={`opacity:1;fill:${fillColor};fill-opacity:1;stroke:none;stroke-width:10.8326;stroke-linecap:square;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill`}
|
||||
id="path6"
|
||||
cx="86.980743"
|
||||
cy="163.40662"
|
||||
r="4.9097047"
|
||||
/></g
|
||||
></g
|
||||
></svg
|
||||
>
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 59 KiB |
@@ -0,0 +1 @@
|
||||
<svg version="1.1" id="svg1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" viewBox="50.17 104.37 109.67 88.27"><defs id="defs1"/><g id="layer1"><g id="g6" transform="matrix(1.0140222,0,0,1.0140222,-1.4722742,-56.323482)"><g id="g1" transform="matrix(-1,0,0,1,201.63735,-7.4456246e-6)"><g id="g5"><path id="path5" style="color:#000000;fill:#ffffff;stroke-linecap:square;-inkscape-stroke:none;paint-order:stroke markers fill" d="m 114.65661,173.40906 -1.29294,4.82606 h -5.2e-4 l -44.404523,11.89798 32.504993,32.50551 10e-4,0.001 -6.12107,22.84563 -26.381853,-26.38185 -26.381335,-26.38134 36.03811,-9.65625 z m -4.28191,15.97939 -5.37486,20.05872 -0.54622,2.03915 -16.176276,-16.17679 z"/><path style="color:#000000;fill:#ffffff;stroke-linecap:square;-inkscape-stroke:none;paint-order:stroke markers fill" d="M 131.38171,245.48534 105,219.10365 l -26.381696,-26.3817 36.038076,-9.65637 36.03807,-9.65638 -9.65637,36.03807 z" id="path3"/></g></g><circle style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:10.8326;stroke-linecap:square;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill" id="path6" cx="86.980743" cy="163.40662" r="4.9097047"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 49 KiB |
@@ -5,7 +5,7 @@ import json
|
||||
import os
|
||||
import re
|
||||
|
||||
LATEST_VERSION = "1.1.7"
|
||||
LATEST_VERSION = "1.1.8"
|
||||
WORKING_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "materialious")
|
||||
|
||||
ROOT_PACKAGE = os.path.join(WORKING_DIR, "package.json")
|
||||
|
||||