Resolve merge conflicts and enhance YouTube channel integration#17
Merged
Conversation
Add default React import and remove leftover Git conflict markers. Use api.influencers.upsertYoutubeInfluencer directly instead of casting it to Parameters<typeof useMutation>[0].
Fix YouTube lookup safety and provenance handling
Refactor dashboard around source-aware YouTube channels
Replace text-accent with text-chart-5 and text-primary where accent is used as a text color — accent is oklch(0.94) in light mode, making text invisible on white backgrounds. Also remove conflicting animate-page-enter + stagger-children double-animation on the overview page and tighten max-width from 6400px to 1600px.
Add per-channel YouTube OAuth connection flow
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.
This pull request introduces significant updates across the backend schema, analytics logic, and authentication flow, primarily to support a new
channels-centric data model and improved YouTube integration. The changes modernize the schema, refactor analytics queries to operate on channels instead of influencers, add support for OAuth with Google/YouTube, and update the sign-in page for a more YouTube-focused experience.Schema and Data Model Overhaul:
influencers-centric model to a newchannelstable, with expanded fields for YouTube channel metadata, compliance, and financials. New tables for OAuth connections, analytics syncs, manual financials, and tax estimates were introduced, supporting richer analytics and integrations. The previousinfluencerstable is now legacy, with most queries and metrics operating onchannels. [1] [2]Analytics and Metrics Refactor:
channelsmodel, updating metrics such as revenue, compliance, and top performers. Additional dashboard metrics were added, including counts for public-only channels, connected analytics, manual input, and action-required channels. Platform and regional distribution queries were removed.getRevenueByMonthquery that aggregates revenue and tax data from both analytics and manual financials, grouped by month, replacing the previous stubbed/empty implementation.Authentication and OAuth Integration:
Sign-in Page and User Experience:
returnToandconnectChannelIdURL parameters, redirecting users appropriately after authentication, including directly to YouTube connect flows when needed. [1] [2]Schema and Data Model Changes:
channelstable with comprehensive YouTube metadata, compliance, and financial fields; added tables for OAuth connections, analytics syncs, manual financials, and tax estimates. The schema now supports richer analytics and integrations. [1] [2]Analytics and Metrics Refactor:
channelsmodel, updated metrics, and removed platform/regional distribution queries. Added new metrics for channel connection/compliance status.Authentication and OAuth:
Sign-in Page Improvements:
returnToandconnectChannelIdparameters, supporting seamless YouTube channel connection after login. [1] [2]