Repository navigation
Conversation
Typecheck runs again: tsconfig listed uninstalled mocha and chai types, hiding 82 real errors. Content-script JSX is typed as DOM through a local dom-chef jsx-runtime selected per file with a jsxImportSource pragma. Build: webpack and Babel replaced by Bun.build in scripts/build.ts, Tailwind through its PostCSS API from tailwind.config.ts, CSS via the manifest and <link> instead of JS imports. Fifteen dev dependencies go. Audio preset finished, Audio Mode removed: profiles replaced the feature. watch.layout no-video collapses the player and keeps playback; the overlay, visualizer, custom images, pins, B key, popup toggle, options page and store subtree are gone, with watch.visuals and the unimplemented theatre layout. Bugs: Shorts button ids started with '#', the auto-scroll toggle never reached storage, the playback-menu marker class did not match its query, cssText was set to "null". Structure: app/ holds the four surfaces; features/ (playback, playlist, profiles, segments, shorts); lib/ plumbing; ui/ shared React. core/, data/, utils/, components/ and the primitive barrels are gone; cross- folder imports use @/. SegmentPanel.tsx is features/segments/panel/, one file per section. Website copy follows the Audio preset. Storage keys, message protocol, primitive and preset ids, default keybindings and manifest permissions are unchanged.
Deploying toppings-website with
|
| Latest commit: |
65c88a9
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://7c227cb0.toppings-website-bq3.pages.dev |
| Branch Preview URL: | https://web-ext-rebuild.toppings-website-bq3.pages.dev |
| import { useToast } from "@/ui/feedback/ToastProvider"; | ||
| import { useCapabilityCache } from "@/features/profiles/useCapabilityCache"; | ||
| import { setExtensionIcon } from "@/lib/browser"; | ||
| import { ThemePreference } from "@/ui/useTheme"; |
| @@ -0,0 +1,266 @@ | |||
| import React, { useEffect, useState } from "react"; | |||
| import { Link } from "react-router-dom"; | |||
Comment on lines
+21
to
+26
| import { | ||
| BUILT_IN_PRESETS, | ||
| type Profile, | ||
| type ProfilePrimitiveConfig, | ||
| type ThumbnailMode, | ||
| } from "@/features/profiles/profiles"; |
| getActiveProfile, | ||
| setActiveProfileId, | ||
| } from "./profileStore"; | ||
| import { setSidebarVisible, resetSidebar } from "./primitives/watch/sidebar"; |
| setActiveProfileId, | ||
| } from "./profileStore"; | ||
| import { setSidebarVisible, resetSidebar } from "./primitives/watch/sidebar"; | ||
| import { setCommentsVisible, resetComments } from "./primitives/watch/comments"; |
| } from "./profileStore"; | ||
| import { setSidebarVisible, resetSidebar } from "./primitives/watch/sidebar"; | ||
| import { setCommentsVisible, resetComments } from "./primitives/watch/comments"; | ||
| import { setEndCardsVisible, resetEndCards } from "./primitives/watch/endCards"; |
| import { withStore } from "@/lib/indexedDb"; | ||
| import { BROWSER_STORAGE_IDB_STORE } from "@/lib/storageKeys"; | ||
| import type { VideoSegmentData, SegmentConfig, SegmentAutoLoadPin } from "./types"; | ||
| import { createFreshConfig } from "./factories"; |
…ader The options and popup stylesheets import ui/theme.css; the PostCSS pipeline does not resolve @import, so the compiled CSS kept a raw import that pointed nowhere and every --color-* variable was undefined. The build now inlines relative imports first. The no-video layout collapsed #player-container-outer, which YouTube empties in theater mode, moving the player into #full-bleed-container. The container is now found by what it holds, and re-applied when the theater attribute changes. The playlist runtime section depended on a generated class name that YouTube has since renamed. The header is resolved through strategies covering both playlist layouts and reported to the capability cache.
Member
Author
|
Superseded by #110. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The extension work since the website/backend release (#107). Nothing here is published to the stores;
bun run releasestays manual.What changed
tsconfiglisted uninstalledmocha/chaitypes, hiding 82 real errors. Content-script JSX is now typed as DOM via a local dom-chefjsx-runtimeselected per file with/** @jsxImportSource dom-chef-jsx */.Bun.build(scripts/build.ts); Tailwind through its PostCSS API from a realtailwind.config.ts; CSS via the manifest and<link>instead of JS imports. 15 dev dependencies removed; a production build takes ~300 ms.watch.layout: no-videonow collapses the player and keeps playback. The old overlay, visualizer, custom images, pins,Bkey, popup toggle, options page and store subtree are gone, as are the unimplementedwatch.visualsandtheatrevalues.#(double-injection guard never matched); the auto-scroll toggle never reached storage; the playback-menu marker class didn't match its query;cssText = "null".app/holds only the four surfaces;features/(playback, playlist, profiles, segments, shorts);lib/plumbing;ui/shared React.core/,data/,utils/,components/and the primitive barrels are gone; cross-folder imports use@/.SegmentPanel.tsx(1,696 lines) isfeatures/segments/panel/with one file per section.Verified
bun run check(tsc + tests) and bothbuildandbuild:firefoxpass. The built extension was loaded into Chromium with Playwright on a live YouTube watch page: service worker up, segment button and panel injected, panel renders on click, no errors.Not changed
Storage keys, the message protocol, primitive and preset ids, default keybindings, manifest permissions.