diff --git a/data/xpaths/v1.6.json b/data/xpaths/v1.6.json new file mode 100644 index 0000000..683a997 --- /dev/null +++ b/data/xpaths/v1.6.json @@ -0,0 +1,17 @@ +{ + "SUBSCRIPTIONS_SECTION": "//*[contains(normalize-space(), 'Subscriptions')]/following-sibling::div[@id='items']", + "GET_CHANNELS_WITHOUT_EXPEND": "//*[contains(normalize-space(), 'Subscriptions')]/following-sibling::div[@id='items']/ytd-guide-entry-renderer/a[@href]", + "SUB_CHANNELS_EXPENDED_ITEMS": "//*[contains(normalize-space(), 'Subscriptions')]/following-sibling::div[@id='items']/ytd-guide-collapsible-entry-renderer/div/div/ytd-guide-entry-renderer", + "GET_CHANNELS_IN_EXPEND": "//*[contains(normalize-space(), 'Subscriptions')]/following-sibling::div[@id='items']/ytd-guide-collapsible-entry-renderer/div/div/ytd-guide-entry-renderer/a[@href]", + "IS_EXPENDEDABLE": "//*[contains(normalize-space(), 'Subscriptions')]/following-sibling::div[@id='items']/ytd-guide-collapsible-entry-renderer", + "IS_EXPENDEDABLE_EXPENDED": "//*[contains(normalize-space(), 'Subscriptions')]/following-sibling::div[@id='items']/ytd-guide-collapsible-entry-renderer[@expanded]", + "IS_EXPENDEDABLE_EXPENDED_BUTTON": "//*[contains(normalize-space(), 'Subscriptions')]/following-sibling::div[@id='items']/ytd-guide-collapsible-entry-renderer/ytd-guide-entry-renderer", + "THREE_LINES": "//yt-icon-button[@id='guide-button']", + "DRAWER_OPENED": "//div[@id='contentContainer' and @opened]", + "ALREADY_SUBSCRIBE": "//span[translate(.,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='{{channelID}}']/ancestor::div[@id='info-section']//div[@id='notification-preference-button' and not(@invisible)]//span[text()='Subscribed']", + "SUBSCRIBE_BTN": "//span[translate(.,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='{{channelID}}']/ancestor::div[@id='info-section']//div[@id='subscribe-button']//span[text()='Subscribe']/ancestor::button", + "UNSUB1": "//yt-formatted-string[text()='Unsubscribe']", + "UNSUB2": "//button[@aria-label='Unsubscribe']", + "SEARCH_INPUT": "//input[@id='search']", + "NAVIGATION_PROGRESS": "//yt-page-navigation-progress[not(@hidden)]" +} diff --git a/manifest.json b/manifest.json index 7045cd6..b8995ef 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "name": "Youtube Subscriptions Transfer", "description": "Transferring subscriptions from one YouTube account to another", - "version": "1.5", + "version": "1.6", "manifest_version": 3, "icons": { "16": "src/assets/icons/icon16.png", diff --git a/package.json b/package.json index 134d173..c54b03a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "youtube-subscriptions-transfer", - "version": "1.5", + "version": "1.6", "type": "module", "repository": { "type": "git", diff --git a/src/components/Docs_Link.svelte b/src/components/Docs_Link.svelte new file mode 100644 index 0000000..122200e --- /dev/null +++ b/src/components/Docs_Link.svelte @@ -0,0 +1,10 @@ + + + + + + + diff --git a/src/components/Footer.svelte b/src/components/Footer.svelte index 319b9ba..a70d738 100644 --- a/src/components/Footer.svelte +++ b/src/components/Footer.svelte @@ -5,6 +5,7 @@ import { onMount } from "svelte"; import GithubMark from "src/assets/icons/github-mark.png"; import GithubMarkWhite from "src/assets/icons/github-mark-white.png"; + import { docs } from "src/utils/docs"; let isLight = false; @@ -20,7 +21,7 @@ class="btn btn-xs normal-case" target="_blank" rel="noreferrer" - href={REPO_URL} + href={docs.README} > -
Account
+
+ Account +
diff --git a/src/components/data/Zip_Reader.svelte b/src/components/data/Zip_Reader.svelte index f1823a9..1b38d8e 100644 --- a/src/components/data/Zip_Reader.svelte +++ b/src/components/data/Zip_Reader.svelte @@ -9,6 +9,8 @@ import { ChannelRawSchema } from "src/utils/schema"; import qs from "qs"; import toast from "svelte-french-toast"; + import DocsLink from "../Docs_Link.svelte"; + import { docs } from "src/utils/docs"; export let channelsIdsTakeoutSave: (channelIDs: string[]) => void; let files: FileList | null = null; @@ -121,7 +123,9 @@
-
Takeout import
+
+ Takeout import +
{#if isLoading}
+ + diff --git a/src/components/pages/Home.svelte b/src/components/pages/Home.svelte index e573208..ac92c2d 100644 --- a/src/components/pages/Home.svelte +++ b/src/components/pages/Home.svelte @@ -20,6 +20,8 @@ import Timer from "../Timer.svelte"; import { channelPathsSchema } from "src/utils/schema"; import ZipReader from "../data/Zip_Reader.svelte"; + import DocsLink from "../Docs_Link.svelte"; + import { docs } from "src/utils/docs"; let channelPaths: string[] = []; let xpathValues: XPathModel | undefined = undefined; @@ -437,7 +439,9 @@ {#if isRightSiteNow}
-
Data
+
+ Data +
@@ -585,7 +589,9 @@
-
Actions
+
+ Actions +
{#if actionName !== ""}
import { MODE_DEFAULT } from "src/utils/default"; + import { docs } from "src/utils/docs"; import { modeWritable, type MODE } from "src/utils/storage"; import { onMount } from "svelte"; + import DocsLink from "../Docs_Link.svelte"; let localMode: MODE = MODE_DEFAULT; @@ -12,8 +14,10 @@ }); -
- Select Mode +
+ Select Mode