Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion apps/docs/content/guides/auth/social-login/auth-kakao.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,12 @@ This serves as the `client_id` when you make API calls to authenticate the user.
- Set **State** to "ON" in the **Usage settings** section to enable Kakao Login.
- Go to **Product Settings** > **Kakao Login** > **Consent Items**.
- Set the following scopes under the **Consent Items**:
- account_email
- account_email (optional)
- profile_image
- profile_nickname

If you don't need an email address (or `account_email` isn't available for your app), you can omit `account_email` and enable **Allow users without an email** in the Supabase Kakao provider settings.

![Kakao consent items configuration](/docs/img/guides/auth-kakao/kakao-developers-consent-items-set.png)

<Admonition type="tip">
Expand All @@ -83,6 +85,8 @@ In the Kakao Developers Portal, the "account_email" consent item is only availab

<$Partial path="social_provider_settings_supabase.mdx" variables={{ "provider": "Kakao" }} />

If you did not request `account_email` in Kakao, enable **Allow users without an email** in the Kakao provider settings.

## Add login code to your client app

<Tabs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ export const useIsETLPrivateAlpha = () => {
const { data: organization } = useSelectedOrganizationQuery()

const etlPrivateAlpha = useFlag('etlPrivateAlpha')
const privateAlphaProjectRefs =
const privateAlphaOrgSlugs =
typeof etlPrivateAlpha === 'string'
? (etlPrivateAlpha as string).split(',').map((x) => x.trim())
: []

const etlShowForAllProjects = useFlag('etlPrivateAlphaOverride')

return etlShowForAllProjects || privateAlphaProjectRefs.includes(organization?.slug ?? '')
return etlShowForAllProjects || privateAlphaOrgSlugs.includes(organization?.slug ?? '')
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { PropsWithChildren, ReactNode } from 'react'

import { useParams } from 'common'
import { useDatabaseExtensionsQuery } from 'data/database-extensions/database-extensions-query'
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
import { PropsWithChildren, ReactNode } from 'react'
import { Badge, Card, CardContent, cn, Separator } from 'ui'

import { INTEGRATIONS } from '../Landing/Integrations.constants'
import { BuiltBySection } from './BuildBySection'
import { MarkdownContent } from './MarkdownContent'
Expand Down Expand Up @@ -53,8 +53,8 @@ export const IntegrationOverviewTab = ({
<MarkdownContent key={integration.id} integrationId={integration.id} />
<Separator />
{dependsOnExtension && (
<div className="px-4 md:px-10 max-w-4xl">
<h3 className="heading-default mb-4">Required extensions</h3>
<div className="px-4 md:px-10 max-w-4xl flex flex-col gap-y-4">
<h4>Required extensions</h4>
<Card>
<CardContent className="p-0">
<ul className="text-foreground-light text-sm">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
import { useMemo } from 'react'

import { useFlag } from 'common'
import { useDatabaseExtensionsQuery } from 'data/database-extensions/database-extensions-query'
import { useSchemasQuery } from 'data/database/schemas-query'
import { useFDWsQuery } from 'data/fdw/fdws-query'
import { useFlag } from 'common'
import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled'
import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
import { IS_PLATFORM } from 'lib/constants'
import { EMPTY_ARR } from 'lib/void'
import {
INSTALLATION_INSTALLED_SUFFIX,
STRIPE_SCHEMA_COMMENT_PREFIX,
} from 'stripe-experiment-sync/supabase'
import { useMemo } from 'react'

import { wrapperMetaComparator } from '../Wrappers/Wrappers.utils'
import { INTEGRATIONS } from './Integrations.constants'
import {
isInstalled as checkIsInstalled,
findStripeSchema,
parseStripeSchemaStatus,
} from '@/components/interfaces/Integrations/templates/StripeSyncEngine/stripe-sync-status'

export const useInstalledIntegrations = () => {
const { data: project } = useSelectedProjectQuery()
Expand Down Expand Up @@ -84,11 +85,9 @@ export const useInstalledIntegrations = () => {
return true
}
if (integration.id === 'stripe_sync_engine') {
const stripeSchema = schemas?.find(({ name }) => name === 'stripe')
return (
!!stripeSchema?.comment?.startsWith(STRIPE_SCHEMA_COMMENT_PREFIX) &&
!!stripeSchema.comment?.includes(INSTALLATION_INSTALLED_SUFFIX)
)
const stripeSchema = findStripeSchema(schemas)
const status = parseStripeSchemaStatus(stripeSchema)
return checkIsInstalled(status)
}
if (integration.type === 'wrapper') {
return wrappers.find((w) => wrapperMetaComparator(integration.meta, w))
Expand Down
Loading
Loading