diff --git a/README.md b/README.md index b981e57e..41a3a83f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Kyoo +# Kyoo Kyoo is a self-hosted media server focused on video content (Movies, Series & Anime). It is an alternative to Jellyfin or Plex. diff --git a/front/app.config.ts b/front/app.config.ts index 93b0d52c..0dea3eca 100644 --- a/front/app.config.ts +++ b/front/app.config.ts @@ -12,7 +12,7 @@ export const expo: ExpoConfig = { newArchEnabled: true, platforms: ["web", "ios", "android"], orientation: "default", - icon: "./public/icon-256x256.png", + icon: "./public/favicon-96x96-dark.png", userInterfaceStyle: "automatic", ios: { supportsTablet: true, @@ -20,15 +20,15 @@ export const expo: ExpoConfig = { android: { package: IS_DEV ? "dev.zoriya.kyoo.dev" : "dev.zoriya.kyoo", adaptiveIcon: { - foregroundImage: "./public/icon-256x256.png", - backgroundColor: "#eff1f5", + foregroundImage: "./public/android-adaptive-icon.png", + backgroundColor: "#6b00b8", }, edgeToEdgeEnabled: true, }, web: { - favicon: "./public/icon-256x256.png", - output: "single", bundler: "metro", + favicon: "./public/icon.svg", + output: "single", }, updates: { url: "https://u.expo.dev/55de6b52-c649-4a15-9a45-569ff5ed036c", @@ -56,14 +56,9 @@ export const expo: ExpoConfig = { [ "expo-splash-screen", { - image: "./public/icon-256x256.png", + image: "./public/splash-screen.png", resizeMode: "contain", - backgroundColor: "#eff1f5", - dark: { - image: "./public/icon-256x256.png", - resizeMode: "contain", - backgroundColor: "#1e1e2e", - }, + backgroundColor: "#6b00b8", }, ], [ diff --git a/front/public/android-adaptive-icon.png b/front/public/android-adaptive-icon.png new file mode 100644 index 00000000..a4d89a9f Binary files /dev/null and b/front/public/android-adaptive-icon.png differ diff --git a/front/public/apple-touch-icon.png b/front/public/apple-touch-icon.png new file mode 100644 index 00000000..e0e4356f Binary files /dev/null and b/front/public/apple-touch-icon.png differ diff --git a/front/public/banner.png b/front/public/banner.png deleted file mode 100644 index db5e97cd..00000000 Binary files a/front/public/banner.png and /dev/null differ diff --git a/front/public/favicon-96x96-dark.png b/front/public/favicon-96x96-dark.png new file mode 100644 index 00000000..a649a59c Binary files /dev/null and b/front/public/favicon-96x96-dark.png differ diff --git a/front/public/favicon-96x96.png b/front/public/favicon-96x96.png new file mode 100644 index 00000000..69b1a539 Binary files /dev/null and b/front/public/favicon-96x96.png differ diff --git a/front/public/favicon-dark.ico b/front/public/favicon-dark.ico new file mode 100644 index 00000000..903088a2 Binary files /dev/null and b/front/public/favicon-dark.ico differ diff --git a/front/public/favicon.ico b/front/public/favicon.ico new file mode 100644 index 00000000..3307efed Binary files /dev/null and b/front/public/favicon.ico differ diff --git a/front/public/icon-128x128.png b/front/public/icon-128x128.png deleted file mode 100644 index f602aaaa..00000000 Binary files a/front/public/icon-128x128.png and /dev/null differ diff --git a/front/public/icon-16x16.png b/front/public/icon-16x16.png deleted file mode 100644 index f0ecbd81..00000000 Binary files a/front/public/icon-16x16.png and /dev/null differ diff --git a/front/public/icon-256x256.png b/front/public/icon-256x256.png deleted file mode 100644 index a395f0fe..00000000 Binary files a/front/public/icon-256x256.png and /dev/null differ diff --git a/front/public/icon-32x32.png b/front/public/icon-32x32.png deleted file mode 100644 index b5944473..00000000 Binary files a/front/public/icon-32x32.png and /dev/null differ diff --git a/front/public/icon-64x64.png b/front/public/icon-64x64.png deleted file mode 100644 index ad7d28e9..00000000 Binary files a/front/public/icon-64x64.png and /dev/null differ diff --git a/front/public/icon-long.svg b/front/public/icon-long.svg new file mode 100644 index 00000000..d41ed3cc --- /dev/null +++ b/front/public/icon-long.svg @@ -0,0 +1,4 @@ + + + + diff --git a/front/public/icon.svg b/front/public/icon.svg index 6ce52497..e8d773c3 100644 --- a/front/public/icon.svg +++ b/front/public/icon.svg @@ -1,27 +1,11 @@ - - - - - - - - + + + + diff --git a/front/public/site.webmanifest b/front/public/site.webmanifest new file mode 100644 index 00000000..432e522d --- /dev/null +++ b/front/public/site.webmanifest @@ -0,0 +1,21 @@ +{ + "name": "Kyoo", + "short_name": "Kyoo", + "icons": [ + { + "src": "/web-app-manifest-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/web-app-manifest-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ], + "theme_color": "#6b00b8", + "background_color": "#6b00b8", + "display": "standalone" +} diff --git a/front/public/splash-screen.png b/front/public/splash-screen.png new file mode 100644 index 00000000..499addfd Binary files /dev/null and b/front/public/splash-screen.png differ diff --git a/front/public/web-app-manifest-192x192.png b/front/public/web-app-manifest-192x192.png new file mode 100644 index 00000000..35976ea5 Binary files /dev/null and b/front/public/web-app-manifest-192x192.png differ diff --git a/front/public/web-app-manifest-512x512.png b/front/public/web-app-manifest-512x512.png new file mode 100644 index 00000000..603001a1 Binary files /dev/null and b/front/public/web-app-manifest-512x512.png differ diff --git a/front/src/app/(app)/_layout.tsx b/front/src/app/(app)/_layout.tsx index 27b4c92f..0e216f00 100644 --- a/front/src/app/(app)/_layout.tsx +++ b/front/src/app/(app)/_layout.tsx @@ -1,13 +1,13 @@ import { getFocusedRouteNameFromRoute } from "@react-navigation/native"; import { Stack } from "expo-router"; import { useSafeAreaInsets } from "react-native-safe-area-context"; -import { useTheme } from "yoshiki/native"; +import { useCSSVariable } from "uniwind"; import { ErrorConsumer } from "~/providers/error-consumer"; import { NavbarRight, NavbarTitle } from "~/ui/navbar"; export default function Layout() { const insets = useSafeAreaInsets(); - const theme = useTheme(); + const accent = useCSSVariable("--color-accent"); return ( @@ -20,7 +20,7 @@ export default function Layout() { paddingRight: insets.right, }, headerStyle: { - backgroundColor: theme.accent, + backgroundColor: accent as string, }, }} > diff --git a/front/src/app/+html.tsx b/front/src/app/+html.tsx index 4b4a92ed..09573752 100644 --- a/front/src/app/+html.tsx +++ b/front/src/app/+html.tsx @@ -18,36 +18,38 @@ export default function Root({ children }: PropsWithChildren) { /> + + + - + diff --git a/front/src/app/_layout.tsx b/front/src/app/_layout.tsx index 487c85b8..fb5a9652 100644 --- a/front/src/app/_layout.tsx +++ b/front/src/app/_layout.tsx @@ -6,21 +6,7 @@ import "../global.css"; import { Tooltip } from "~/primitives"; import "~/fonts.web.css"; -const GlobalCssTheme = () => { - // background-color: ${theme.background}; - return ( - <> - {/* */} - {/* */} - {/* */} - - ); -}; - export default function Layout() { - // const registry = createStyleRegistry(); - // useServerHeadInsertion(() => registry.flushToComponent()); - return ( diff --git a/front/src/global.css b/front/src/global.css index 36abd4db..3b2f5ebf 100644 --- a/front/src/global.css +++ b/front/src/global.css @@ -7,6 +7,9 @@ --color-card: #e3e4e5; --color-popover: #c6c6c6; + --color-light: #f0f2f5; + --color-dark: #1f1f2e; + --font-sans: "Poppins"; --font-headers: "Sora"; } diff --git a/front/src/primitives/avatar.tsx b/front/src/primitives/avatar.tsx index c14cb2ed..df0602ce 100644 --- a/front/src/primitives/avatar.tsx +++ b/front/src/primitives/avatar.tsx @@ -1,8 +1,6 @@ -import AccountCircle from "@material-symbols/svg-400/rounded/account_circle-fill.svg"; -import { type ComponentType, forwardRef, type RefAttributes } from "react"; -import { Image, type ImageProps, View, type ViewStyle } from "react-native"; -import { px, type Stylable, useYoshiki } from "yoshiki/native"; -import { Icon } from "./icons"; +import type { ComponentType } from "react"; +import { Image, View, type ViewProps, type ViewStyle } from "react-native"; +import { cn } from "~/utils"; import { Skeleton } from "./skeleton"; import { P } from "./text"; @@ -21,91 +19,50 @@ const stringToColor = (string: string) => { return color; }; -const AvatarC = forwardRef< - View, - { - src?: string; - alt?: string; - size?: number; - placeholder?: string; - color?: string; - fill?: boolean; - as?: ComponentType<{ style?: ViewStyle } & RefAttributes>; - } & Stylable ->(function AvatarI( - { src, alt, size = px(24), color, placeholder, fill = false, as, ...props }, - ref, -) { - const { css, theme } = useYoshiki(); - const col = color ?? theme.overlay0; - - // TODO: Support dark themes when fill === true +export const Avatar = ({ + src, + alt, + placeholder, + className, + style, + as, + ...props +}: { + src?: string; + alt?: string; + placeholder?: string; + className?: string; + style?: ViewStyle; + as?: ComponentType; +} & AsProps) => { const Container = as ?? View; return ( - {placeholder ? ( -

+ {placeholder && ( +

{placeholder[0]}

- ) : ( - )} {alt}
); -}); - -const AvatarLoader = ({ size = px(24), ...props }: { size?: number }) => { - const { css } = useYoshiki(); - - return ( - - ); }; -export const Avatar = Object.assign(AvatarC, { Loader: AvatarLoader }); +Avatar.Loader = ({ className, ...props }: { className?: string }) => { + return ( + + ); +}; diff --git a/front/src/primitives/icons.tsx b/front/src/primitives/icons.tsx index 30f78285..b7f66e28 100644 --- a/front/src/primitives/icons.tsx +++ b/front/src/primitives/icons.tsx @@ -1,6 +1,6 @@ import { type ComponentProps, type ComponentType, useState } from "react"; import { Animated, type PressableProps } from "react-native"; -import type { SvgProps } from "react-native-svg"; +import RSvg, { type SvgProps } from "react-native-svg"; import { withUniwind } from "uniwind"; import { cn } from "~/utils"; import { PressableFeedback } from "./links"; @@ -31,6 +31,25 @@ const BaseIcon = withUniwind(IconWrapper, { }, }); +export const Svg = withUniwind(RSvg, { + stroke: { + fromClassName: "className", + styleProperty: "accentColor", + }, + fill: { + fromClassName: "className", + styleProperty: "fill", + }, + width: { + fromClassName: "className", + styleProperty: "width", + }, + height: { + fromClassName: "className", + styleProperty: "height", + }, +}); + export const Icon = ({ className, ...props diff --git a/front/src/primitives/input.tsx b/front/src/primitives/input.tsx index d91ab0a2..bc81b707 100644 --- a/front/src/primitives/input.tsx +++ b/front/src/primitives/input.tsx @@ -1,67 +1,33 @@ -import { type ReactNode, type Ref, useState } from "react"; -import { - TextInput, - type TextInputProps, - View, - type ViewStyle, -} from "react-native"; -import { px, type Theme, useYoshiki } from "yoshiki/native"; -import type { YoshikiEnhanced } from "./image"; -import { focusReset, ts } from "./utils"; +import type { ReactNode, Ref } from "react"; +import { TextInput, type TextInputProps, View } from "react-native"; +import { cn } from "~/utils"; export const Input = ({ - placeholderTextColor, - variant = "small", right, - containerStyle, + containerClassName, ref, + className, ...props }: { - variant?: "small" | "big"; right?: ReactNode; - containerStyle?: YoshikiEnhanced; + containerClassName?: string; ref?: Ref; } & TextInputProps) => { - const [focused, setFocused] = useState(false); - const { css, theme } = useYoshiki(); - return ( theme.accent, - borderRadius: ts(1), - borderWidth: px(1), - borderStyle: "solid", - padding: ts(0.5), - flexDirection: "row", - alignContent: "center", - alignItems: "center", - }, - variant === "big" && { - borderRadius: ts(4), - p: ts(1), - }, - focused && { - borderWidth: px(2), - }, - containerStyle, - ])} + className={cn( + "shrink flex-row content-center items-center rounded-xl border border-accent p-1", + "focus-within:border-2", + containerClassName, + )} > setFocused(true)} - onBlur={() => setFocused(false)} - {...css( - { - flexGrow: 1, - color: (theme: Theme) => theme.paragraph, - borderWidth: 0, - ...focusReset, - }, - props, + className={cn( + "flex-1 font-sans text-base text-slate-600 outline-0 dark:text-slate-400", + className, )} + {...props} /> {right} diff --git a/front/src/primitives/text.tsx b/front/src/primitives/text.tsx index 86b78ceb..e1e5a149 100644 --- a/front/src/primitives/text.tsx +++ b/front/src/primitives/text.tsx @@ -1,35 +1,35 @@ -import { - H1 as EH1, - H2 as EH2, - H3 as EH3, - H4 as EH4, - H5 as EH5, - H6 as EH6, - P as EP, -} from "@expo/html-elements"; import ExpandMore from "@material-symbols/svg-400/rounded/keyboard_arrow_down-fill.svg"; import ExpandLess from "@material-symbols/svg-400/rounded/keyboard_arrow_up-fill.svg"; import { type ComponentProps, - type ComponentType, + type Ref, useLayoutEffect, useRef, useState, } from "react"; import { useTranslation } from "react-i18next"; -import { Platform, Text, View, type ViewProps } from "react-native"; +import { + Platform, + Text, + type TextProps, + View, + type ViewProps, +} from "react-native"; import { cn } from "~/utils"; import { IconButton } from "./icons"; import { tooltip } from "./tooltip"; const styleText = ( - Component: ComponentType>, - type?: "header" | "sub", - custom?: string, + type: "header" | "sub" | null, + { className: custom, ...customProps }: TextProps, ) => { - const Text = ({ className, style, ...props }: ComponentProps) => { + const Wrapped = ({ + className, + style, + ...props + }: { ref?: Ref } & TextProps) => { return ( - ); }; - return Text; + return Wrapped; }; -export const H1 = styleText(EH1, "header", cn("font-extrabold text-5xl")); -export const H2 = styleText(EH2, "header", cn("text-2xl")); -export const H3 = styleText(EH3, "header"); -export const H4 = styleText(EH4, "header"); -export const H5 = styleText(EH5, "header"); -export const H6 = styleText(EH6, "header"); -export const Heading = styleText(Text as any, "header"); -export const P = styleText(Text as any, undefined); -export const SubP = styleText(Text as any, "sub"); +export const H1 = styleText("header", { + className: cn("font-extrabold text-5xl"), + role: "heading", + // @ts-expect-error not yet added to ts + "aria-level": 1, +}); +export const H2 = styleText("header", { + className: cn("text-2xl"), + role: "heading", + // @ts-expect-error not yet added to ts + "aria-level": 2, +}); +export const H3 = styleText("header", { + role: "heading", + // @ts-expect-error not yet added to ts + "aria-level": 3, +}); +export const H4 = styleText("header", { + role: "heading", + // @ts-expect-error not yet added to ts + "aria-level": 4, +}); +export const H5 = styleText("header", { + role: "heading", + // @ts-expect-error not yet added to ts + "aria-level": 5, +}); +export const H6 = styleText("header", { + role: "heading", + // @ts-expect-error not yet added to ts + "aria-level": 6, +}); +export const Heading = styleText("header", { role: "heading" }); +export const P = styleText(null, {}); +export const SubP = styleText("sub", {}); export const LI = ({ children, diff --git a/front/src/providers/index.tsx b/front/src/providers/index.tsx index 395e52f1..0202ec9e 100644 --- a/front/src/providers/index.tsx +++ b/front/src/providers/index.tsx @@ -5,7 +5,13 @@ import { import { HydrationBoundary, QueryClientProvider } from "@tanstack/react-query"; import { type ReactNode, useState } from "react"; import { useColorScheme } from "react-native"; -import { useTheme } from "yoshiki/native"; +import { SafeAreaListener } from "react-native-safe-area-context"; +import { + Uniwind, + useCSSVariable, + useResolveClassNames, + useUniwind, +} from "uniwind"; import { ThemeSelector } from "~/primitives/theme"; import { createQueryClient } from "~/query"; import { AccountProvider } from "./account-provider"; @@ -13,8 +19,6 @@ import { ErrorConsumer } from "./error-consumer"; import { ErrorProvider } from "./error-provider"; import { NativeProviders } from "./native-providers"; import { TranslationsProvider } from "./translations.native"; -import { SafeAreaListener } from "react-native-safe-area-context"; -import { Uniwind } from "uniwind"; function getServerData(_key: string) {} @@ -34,37 +38,45 @@ const ThemeProvider = ({ children }: { children: ReactNode }) => { const userTheme = useColorScheme(); return ( - { - Uniwind.updateInsets(insets); - }} - > - - {children} - - + + {children} + ); }; const RnTheme = ({ children }: { children: ReactNode }) => { - const theme = useTheme(); + const { theme } = useUniwind(); + const [accent, background, card, popover] = useCSSVariable([ + "--color-accent", + "--color-background", + "--color-card", + "--color-popover", + ]) as string[]; + const { color } = useResolveClassNames("text-slate-600 dark:text-slate-400"); return ( - {children} + { + Uniwind.updateInsets(insets); + }} + > + {" "} + {children} + ); }; diff --git a/front/src/ui/details/header.tsx b/front/src/ui/details/header.tsx index 6e45b54d..6b0a2a0c 100644 --- a/front/src/ui/details/header.tsx +++ b/front/src/ui/details/header.tsx @@ -293,7 +293,7 @@ const Description = ({


- +

{t("show.genre")}

{genres.length ? (
    diff --git a/front/src/ui/details/serie.tsx b/front/src/ui/details/serie.tsx index 9715006c..82cfdc93 100644 --- a/front/src/ui/details/serie.tsx +++ b/front/src/ui/details/serie.tsx @@ -2,27 +2,15 @@ import type { ComponentProps } from "react"; import { useTranslation } from "react-i18next"; import { View } from "react-native"; import { useSafeAreaInsets } from "react-native-safe-area-context"; -import RSvg, { Path } from "react-native-svg"; -import { withUniwind } from "uniwind"; +import { Path } from "react-native-svg"; import { EntryLine, entryDisplayNumber } from "~/components/entries"; import type { Entry, Serie } from "~/models"; -import { Container, H2 } from "~/primitives"; +import { Container, H2, Svg } from "~/primitives"; import { Fetch } from "~/query"; import { useQueryState } from "~/utils"; import { Header } from "./header"; import { EntryList } from "./season"; -export const Svg = withUniwind(RSvg, { - stroke: { - fromClassName: "className", - styleProperty: "accentColor", - }, - fill: { - fromClassName: "className", - styleProperty: "fill", - }, -}); - export const SvgWave = (props: ComponentProps) => { // aspect-[width/height]: width/height of the svg return ( diff --git a/front/src/ui/navbar/icon.tsx b/front/src/ui/navbar/icon.tsx index 1f96e3e1..cd060cad 100644 --- a/front/src/ui/navbar/icon.tsx +++ b/front/src/ui/navbar/icon.tsx @@ -1,66 +1,15 @@ -import Svg, { Path, type SvgProps } from "react-native-svg"; -import { useYoshiki } from "yoshiki/native"; +import type { ComponentProps } from "react"; +import { View } from "react-native"; +import { Path } from "react-native-svg"; +import { Svg } from "~/primitives"; -/* export const KyooLogo = (props: SvgProps) => ( */ -/* */ -/* */ -/* */ -/* */ -/* ); */ - -export const KyooLongLogo = ({ - height = 24, - ...props -}: Omit & { height?: number }) => { - const { theme } = useYoshiki(); - const textColor = theme.contrast; +export const KyooLongLogo = (props: ComponentProps) => { return ( - - - - - - - - + + + + + + ); }; diff --git a/front/src/ui/navbar/index.tsx b/front/src/ui/navbar/index.tsx index 468a30a0..f4803d2a 100644 --- a/front/src/ui/navbar/index.tsx +++ b/front/src/ui/navbar/index.tsx @@ -5,16 +5,21 @@ import Logout from "@material-symbols/svg-400/rounded/logout.svg"; import Search from "@material-symbols/svg-400/rounded/search-fill.svg"; import Settings from "@material-symbols/svg-400/rounded/settings.svg"; import { useGlobalSearchParams, usePathname, useRouter } from "expo-router"; -import { type Ref, useEffect, useRef, useState } from "react"; +import { + type Ref, + useEffect, + useRef, + useState, + type ComponentProps, +} from "react"; import { useTranslation } from "react-i18next"; import { Platform, type TextInput, type TextInputProps, View, - type ViewProps, + type PressableProps, } from "react-native"; -import { type Theme, useYoshiki } from "yoshiki/native"; import { A, Avatar, @@ -25,32 +30,36 @@ import { Menu, PressableFeedback, tooltip, - ts, } from "~/primitives"; import { useAccount, useAccounts } from "~/providers/account-context"; import { logout } from "~/ui/login/logic"; +import { cn } from "~/utils"; import { KyooLongLogo } from "./icon"; -export const NavbarTitle = (props: { onLayout?: ViewProps["onLayout"] }) => { +export const NavbarTitle = ({ + className, + ...props +}: ComponentProps) => { const { t } = useTranslation(); return ( - + ); }; const SearchBar = ({ ref, + className, ...props }: TextInputProps & { ref?: Ref }) => { - const { theme } = useYoshiki(); const { t } = useTranslation(); const params = useGlobalSearchParams(); const [query, setQuery] = useState((params.q as string) ?? ""); @@ -78,12 +87,8 @@ const SearchBar = ({ else router.setParams({ q }); }} placeholder={t("navbar.search")} - placeholderTextColor={theme.contrast} - containerStyle={{ - height: ts(4), - flexShrink: 1, - borderColor: (theme: Theme) => theme.contrast, - }} + containerClassName="border-light" + className={cn("text-slate-200 dark:text-slate-200", className)} {...tooltip(t("navbar.search"))} {...props} /> @@ -97,21 +102,18 @@ const getDisplayUrl = (url: string) => { }; export const NavbarProfile = () => { - const { css, theme } = useYoshiki(); const { t } = useTranslation(); const account = useAccount(); const accounts = useAccounts(); return ( } as={PressableFeedback} src={account?.logo} placeholder={account?.username} alt={t("navbar.login")} - size={24} - color={theme.colors.white} - {...css({ margin: ts(1), justifyContent: "center" })} + className="m-2" {...tooltip(account?.username ?? t("navbar.login"))} > {accounts?.map((x) => ( @@ -122,7 +124,9 @@ export const NavbarProfile = () => { ? x.username : `${x.username} - ${getDisplayUrl(x.apiUrl)}` } - left={} + left={ + + } selected={x.selected} onSelect={() => x.select()} /> @@ -156,31 +160,28 @@ export const NavbarProfile = () => { ); }; export const NavbarRight = () => { - const { css, theme } = useYoshiki(); const { t } = useTranslation(); const isAdmin = false; //useHasPermission(AdminPage.requiredPermissions); return ( - + {Platform.OS === "web" ? ( ) : ( )} {isAdmin && ( )} diff --git a/icons/banner.png b/icons/banner.png deleted file mode 100644 index db5e97cd..00000000 Binary files a/icons/banner.png and /dev/null differ diff --git a/icons/icon-128x128.png b/icons/icon-128x128.png deleted file mode 100644 index f602aaaa..00000000 Binary files a/icons/icon-128x128.png and /dev/null differ diff --git a/icons/icon-16x16.png b/icons/icon-16x16.png deleted file mode 100644 index f0ecbd81..00000000 Binary files a/icons/icon-16x16.png and /dev/null differ diff --git a/icons/icon-256x256.ico b/icons/icon-256x256.ico deleted file mode 100644 index 8a6ef232..00000000 Binary files a/icons/icon-256x256.ico and /dev/null differ diff --git a/icons/icon-256x256.png b/icons/icon-256x256.png deleted file mode 100644 index a395f0fe..00000000 Binary files a/icons/icon-256x256.png and /dev/null differ diff --git a/icons/icon-32x32.png b/icons/icon-32x32.png deleted file mode 100644 index b5944473..00000000 Binary files a/icons/icon-32x32.png and /dev/null differ diff --git a/icons/icon-64x64.png b/icons/icon-64x64.png deleted file mode 100644 index ad7d28e9..00000000 Binary files a/icons/icon-64x64.png and /dev/null differ diff --git a/icons/icon.svg b/icons/icon.svg deleted file mode 100644 index 6ce52497..00000000 --- a/icons/icon.svg +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - -