<iframe src%3D"https://www.youtube-nocookie.com/embed/dQw4w9WgXcQ" title%3D"How to Set BaseTab as Your New Tab Page" allow%3D"accelerometer%3B autoplay%3B clipboard-write%3B encrypted-media%3B gyroscope%3B picture-in-picture" allowFullScreen%3D"" loading%3D"lazy" class%3D"h-full w-full"> Non signalé
<iframe src%3D"https://www.youtube-nocookie.com/embed/dQw4w9WgXcQ" title%3D"How to Set Up the Gmail Widget in BaseTab" allow%3D"accelerometer%3B autoplay%3B clipboard-write%3B encrypted-media%3B gyroscope%3B picture-in-picture" allowFullScreen%3D"" loading%3D"lazy" class%3D"h-full w-full"> Non signalé
<iframe src%3D"https://www.youtube-nocookie.com/embed/dQw4w9WgXcQ" title%3D"How to Set Up the Google Calendar Widget in BaseTab" allow%3D"accelerometer%3B autoplay%3B clipboard-write%3B encrypted-media%3B gyroscope%3B picture-in-picture" allowFullScreen%3D"" loading%3D"lazy" class%3D"h-full w-full"> Non signalé
<iframe src%3D\\"...\\">","invalidCode":" ","embeddedContent":" "},"searchEngine":{"name":" ","description":" ","browserDefault":" ","customUrl":" ","myWiki":" ","urlPlaceholder":"https://example.com/search?q%3D"},"calendar":{"name":"","description":" ","eventDetails":" ","eventTitle":" ","allDay":" ","start":"","end":"","addLocation":" ","addDescription":" ...","color":"","newEvent":" ","addEvent":" ","weekStartsOn":" ","sunday":"","monday":"","eventCount":" ","today":"","month":"","week":"","day":"","sun":"","mon":"","tue":"","wed":"","thu":"","fri":"","sat":""},"routine":{"name":"","description":" ","routineName":" ","unitPlaceholder":" ..."},"fitnessProgram":{"name":" ","description":" "},"whiteboard":{"name":"","description":" "},"uploadFile":{"name":" ","description":" ","justNow":"","minutesAgo":" {{count}} ","hoursAgo":" {{count}} ","daysAgo":" {{count}} "},"newsReader":{"name":" RSS","description":" RSS","addFeedSource":" ","all":"","tech":"","dev":"","design":"","world":"","science":"","business":"","customRssFeed":" RSS ","feedUrlPlaceholder":"https://example.com/feed.xml","feedNamePlaceholder":" ()","now":"","updated":" ","refreshFeed":" "},"ticker":{"name":" ","description":" ","refresh":"","settings":"","crypto":" ","forex":" ","commodities":"","usStocks":" ","searchStocks":" ...","enterApiKey":" API ...","cryptoPlaceholder":"BTC, ETH, SOL, SHIB...","forexPlaceholder":"EUR/USD, GBP/JPY, EUR/TRY..."},"googleCalendar":{"name":"Google Calendar","description":" Google Calendar","today":"","editEvent":" ","deleteEvent":" ","eventTitle":" ","addTitle":" ","addLocation":" ","addDescription":" ","addGuests":" ( )","saving":" ...","allDay":" ","newEvent":" ","addEvent":" ","icalPlaceholder":"https://calendar.google.com/calendar/ical/.../basic.ics","embedPlaceholder":" Google Calendar Calendar ID ( )","clientIdPlaceholder":"OAuth 2.0 Client ID ","clientSecretPlaceholder":"OAuth 2.0 Client Secret "},"googleGmail":{"name":"Google Gmail","description":" Gmail","to":"","subject":"","writeMessage":" ...","scriptUrlPlaceholder":" Google Apps Script ","clientIdPlaceholder":"OAuth 2.0 Client ID ","clientSecretPlaceholder":"OAuth 2.0 Client Secret "},"googleDocs":{"name":"Google Docs","description":" Google Docs"},"googleSheets":{"name":"Google Sheets","description":" Google Sheets"},"googleSlides":{"name":"Google Slides","description":" Google Slides"},"googleVids":{"name":"Google Vids","description":" Google Vids"},"googleForms":{"name":"Google Forms","description":" Google Forms"},"github":{"name":"GitHub","description":" GitHub ","refresh":"","tokenPlaceholder":"ghp_xxxxxxxxxxxx","usernamePlaceholder":" github.com/...","viewProfile":" GitHub ","browseRepos":" GitHub","viewHeatmap":" "},"claudeAi":{"name":"Claude","description":" Claude Anthropic","removeApiKey":" API Key","shortcut":"","openInNewTab":" Claude ","apiKey":"API Key","apiKeyDesc":" API Key ","aiCreditsMode":"AI Credits","aiCreditsDesc":" AI Credits BaseTab","noKeyNeeded":" "},"openaiChatgpt":{"name":"ChatGPT","description":" ChatGPT OpenAI","shortcut":"","openInNewTab":" ChatGPT ","apiKey":"API Key","apiKeyDesc":" API Key ","aiCreditsMode":"AI Credits","aiCreditsDesc":" AI Credits BaseTab","noKeyNeeded":" "},"gemini":{"name":"Gemini","description":" Gemini Google","shortcut":"","openInNewTab":" Gemini ","apiKey":"API Key","apiKeyDesc":" API Key ","aiCreditsMode":"AI Credits","aiCreditsDesc":" AI Credits BaseTab","noKeyNeeded":" "},"falAi":{"name":"fal.ai - ","description":" AI","searchModels":" ...","refreshModels":" ","removeFromFavorites":" ","addToFavorites":" ","preview":"","uploadFile":" "},"aiWidget":{"name":" AI ","description":" AI ","placeholder":": ..."},"googleWorkspace":{"switchToView":" ","switchToEdit":" ","refresh":""},"aiChat":{"copied":" ","copy":"","emptyConversation":" ","deleteConversation":" ","loadMore":" ","chatHistory":" "}},"editor":{"bold":"","italic":"","underline":" ","strikethrough":" ","paragraph":"","heading1":" 1","heading2":" 2","heading3":" 3","textColor":" ","highlight":"","bulletList":" ","numberedList":" ","taskList":" ","decreaseIndent":" ","increaseIndent":" ","quote":"","codeBlock":" ","horizontalRule":" ","link":"","undo":"","redo":"","clearFormatting":" ","insertLink":" ","url":"URL","urlPlaceholder":"https://example.com","removeLink":" "},"toasts":{"aiCreditsExhausted":" AI Credits","aiCreditsExhaustedDesc":" AI Credits . .","insufficientCredits":" AI Credits ","insufficientCreditsDesc":" AI Credits."},"invite":{"loadingInvitation":" ...","invitationError":" ","workspaceInvitation":" ","signInToAccept":" .","signInToAcceptBtn":" ","acceptInvitation":" ","acceptingInvitation":" ...","welcome":"!","accessGranted":" . ."},"errors":{"notFound":" ","notFoundDesc":" .","goHome":" ","somethingWentWrong":" ","unexpectedError":" . .","failedToLoad":" ","permissionRequired":" ","failedToCreateWorkspace":" ","failedToUpdateWorkspace":" ","failedToSubmit":" ","failedToAddWidget":" ","failedToMoveWidget":" ","failedToCloneWidget":" ","unknownError":" ","failedToGetResponse":" ","failedToLoadBookmarks":" .","failedToCheckPermissions":" .","bookmarkPermissionDenied":" .","failedToRequestPermission":" .","failedToLoadModels":" ","failedToLoadSchema":" ","failedToGetResult":" ","uploadFailed":" ","enterAccessToken":" ","userNotFound":" ","failedToApplyCoupon":" ","failedToSend":" ","workspaceLimitReached":" . .","widgetLimitReached":" . .","widgetLocked":" ","widgetLockedDesc":" ","upgradePlan":" ","offline":" ","serverError":" . ."},"landing":{"hero":{"title":" .","subtitle":" .","addToBrowser":" {{browser}} ","getForBrowser":" {{browser}}","webApp":" ","dashboard":"Dashboard","loginWebApp":" ","scrollToExplore":" ","newTab":" "},"widgetShowcase":{"title":" ","subtitle":" Google ."},"features":{"whyBasetab":" BaseTab","everythingYouNeed":" .","customizableWidgets":" ","customizableWidgetsDesc":" . AI .","seamlessIntegration":" ","seamlessIntegrationDesc":" Google Calendar Gmail ChatGPT . BaseTab .","privacyFirst":" ","privacyFirstDesc":" . BaseTab . ."},"pricing":{"title":" ","subtitle":" . ."},"faq":{"title":" ","subtitle":" .","isFree":" BaseTab ","isFreeAnswer":"! . .","browsers":" ","browsersAnswer":"BaseTab Chrome Firefox. Edge Safari .","customBg":" ","customBgAnswer":"! .","googleIntegrations":" Google","googleIntegrationsAnswer":" Google BaseTab Calendar Gmail Docs Google . .","sync":" ","syncAnswer":" Pro .","cancelSubscription":" ","cancelSubscriptionAnswer":" . Pro ."},"cta":{"title":" ","subtitle":" . ."},"footer":{"tagline":" .","product":"","features":"","pricing":"","blog":"","extensions":"","company":"","about":" BaseTab","support":"","privacy":"","terms":"","contact":"","allRightsReserved":" .","privacyPolicy":" ","termsOfService":" "},"browser":{"basetabFor":"BaseTab {{browser}}","basetabForDesc":" {{browser}} . .","comingSoonDesc":"BaseTab {{browser}} . .","tryOnChrome":" Chrome","comingSoonFor":" {{browser}}","workingOnIt":" !","inDevelopment":"BaseTab {{browser}} . Chrome.","availableOnChrome":" Chrome","exploreOtherBrowsers":" BaseTab ","availableOnMultiple":"BaseTab Chrome Edge Firefox .","takeWithYou":" BaseTab ."},"extensions":{"title":"BaseTab ","subtitle":" . .","getForBrowser":" BaseTab {{browser}} .","inDevelopment":"BaseTab {{browser}} .","apps":"","webApp":" ","webAppDesc":" BaseTab .","appInDevelopment":"BaseTab {{app}} . !"}},"support":{"title":" ","subtitle":" BaseTab. .","emailSupport":" ","emailSupportDesc":" . 24 .","quickResponse":" ","quickResponseDesc":" . 24 .","avgResponseTime":" : 24 ","getInTouch":" ","getInTouchDesc":" .","ourApps":"","ourAppsDesc":" BaseTab .","browserExtensions":" ","apps":"","comingSoon":"","generatechCredit":"BaseTab AI Generatech Studio, Inc."},"welcome":{"title":" BaseTab!","subtitle":" . .","steps":{"keepIt":{"title":" BaseTab","desc":" . \\"\\" BaseTab."},"addWidgets":{"title":" ","desc":" + ."},"signIn":{"title":" ","desc":" Google . BaseTab ."},"customize":{"title":" ","desc":" Alt + B."}},"cta":" :","needHelp":" ","visitSupport":" "},"uninstall":{"sorryToSeeYouGo":" ","helpUsImprove":" BaseTab.","reasons":{"notUseful":" ","slowBrowser":" ","tooComplex":" ","missingFeatures":" ","betterAlternative":" ","temporary":" ","other":""},"tellUsMore":" ()...","submitFeedback":" ","thankYou":" ","thankYouDesc":" BaseTab. .","backToBasetab":" basetab.ai","feedbackHelps":" ."},"dashboard":{"installExtension":" !","getExtensionFor":" {{browser}}","browserExtension":" {{browser}}","getExtensionChrome":" Chrome","howToSetup":" ()","failedToLoad":" "},"languages":{"en":"English","tr":"Trke","ar":"","de":"Deutsch","fr":"Franais","it":"Italiano","es":"Espaol","pt":"Portugus","ja":"","zh":"","hi":""},"popup":{"setAsDefaultNewTab":" ","howToSetAsNewTab":" ","useWebApp":" ","signInToSync":" "}}'))},363250,e%3D> Non signalé
<iframe src%3D\\"...\\">","invalidCode":" URL ","embeddedContent":""},"searchEngine":{"name":"","description":"","browserDefault":"","customUrl":" URL","myWiki":" Wiki","urlPlaceholder":"https://example.com/search?q%3D"},"calendar":{"name":"","description":"","eventDetails":"","eventTitle":"","allDay":"","start":"","end":"","addLocation":"","addDescription":"...","color":"","newEvent":"","addEvent":"","weekStartsOn":"","sunday":"","monday":"","eventCount":"","today":"","month":"","week":"","day":"","sun":"","mon":"","tue":"","wed":"","thu":"","fri":"","sat":""},"routine":{"name":"","description":"","routineName":"","unitPlaceholder":"..."},"fitnessProgram":{"name":"","description":""},"whiteboard":{"name":"","description":""},"uploadFile":{"name":"","description":"","justNow":"","minutesAgo":"{{count}}","hoursAgo":"{{count}}","daysAgo":"{{count}}"},"newsReader":{"name":" & RSS","description":" RSS ","addFeedSource":"","all":"","tech":"","dev":"","design":"","world":"","science":"","business":"","customRssFeed":" RSS ","feedUrlPlaceholder":"https://example.com/feed.xml","feedNamePlaceholder":"","now":"","updated":"","refreshFeed":""},"ticker":{"name":"","description":"","refresh":"","settings":"","crypto":"","forex":"","commodities":"","usStocks":"","searchStocks":"...","enterApiKey":"API...","cryptoPlaceholder":"BTC, ETH, SOL, SHIB...","forexPlaceholder":"EUR/USD, GBP/JPY, EUR/TRY..."},"googleCalendar":{"name":"Google Calendar","description":"Google Calendar ","today":"","editEvent":"","deleteEvent":"","eventTitle":"","addTitle":"","addLocation":"","addDescription":"","addGuests":"","saving":"...","allDay":"","newEvent":"","addEvent":"","icalPlaceholder":"https://calendar.google.com/calendar/ical/.../basic.ics","embedPlaceholder":"Google CalendarURLCalendar ID","clientIdPlaceholder":"OAuth 2.0 Client ID","clientSecretPlaceholder":"OAuth 2.0 Client Secret"},"googleGmail":{"name":"Google Gmail","description":"Gmail ","to":"","subject":"","writeMessage":"...","scriptUrlPlaceholder":"Google Apps Script URL","clientIdPlaceholder":"OAuth 2.0 Client ID","clientSecretPlaceholder":"OAuth 2.0 Client Secret"},"googleDocs":{"name":"Google Docs","description":"Google Docs "},"googleSheets":{"name":"Google Sheets","description":"Google Sheets "},"googleSlides":{"name":"Google Slides","description":"Google Slides "},"googleVids":{"name":"Google Vids","description":"Google Vids "},"googleForms":{"name":"Google Forms","description":"Google Forms "},"github":{"name":"GitHub","description":"GitHub ","refresh":"","tokenPlaceholder":"ghp_xxxxxxxxxxxx","usernamePlaceholder":" github.com/...","viewProfile":"GitHub","browseRepos":"GitHub","viewHeatmap":""},"claudeAi":{"name":"Claude","description":"Anthropic Claude ","removeApiKey":"API Key ","shortcut":"","openInNewTab":"Claude ","apiKey":"API Key","apiKeyDesc":"API Key ","aiCreditsMode":"AI Credits","aiCreditsDesc":"BaseTab AI ","noKeyNeeded":""},"openaiChatgpt":{"name":"ChatGPT","description":"OpenAI ChatGPT ","shortcut":"","openInNewTab":"ChatGPT ","apiKey":"API Key","apiKeyDesc":"API Key ","aiCreditsMode":"AI Credits","aiCreditsDesc":"BaseTab AI ","noKeyNeeded":""},"gemini":{"name":"Gemini","description":"Google Gemini ","shortcut":"","openInNewTab":"Gemini ","apiKey":"API Key","apiKeyDesc":"API Key ","aiCreditsMode":"AI Credits","aiCreditsDesc":"BaseTab AI ","noKeyNeeded":""},"falAi":{"name":"fal.ai - ","description":"AI ","searchModels":"...","refreshModels":"","removeFromFavorites":"","addToFavorites":"","preview":"","uploadFile":""},"aiWidget":{"name":"AI ","description":" AI ","placeholder":"..."},"googleWorkspace":{"switchToView":"","switchToEdit":"","refresh":""},"aiChat":{"copied":"","copy":"","emptyConversation":"","deleteConversation":"","loadMore":"","chatHistory":""}},"editor":{"bold":"","italic":"","underline":"","strikethrough":"","paragraph":"","heading1":" 1","heading2":" 2","heading3":" 3","textColor":"","highlight":"","bulletList":"","numberedList":"","taskList":"","decreaseIndent":"","increaseIndent":"","quote":"","codeBlock":"","horizontalRule":"","link":"","undo":"","redo":"","clearFormatting":"","insertLink":"","url":"URL","urlPlaceholder":"https://example.com","removeLink":""},"toasts":{"aiCreditsExhausted":"AI Credits ","aiCreditsExhaustedDesc":" AI ","insufficientCredits":"AI Credits ","insufficientCreditsDesc":" AI "},"invite":{"loadingInvitation":"...","invitationError":"","workspaceInvitation":"","signInToAccept":"","signInToAcceptBtn":"","acceptInvitation":"","acceptingInvitation":"...","welcome":"","accessGranted":""},"errors":{"notFound":"","notFoundDesc":"","goHome":"","somethingWentWrong":"","unexpectedError":"","failedToLoad":"","permissionRequired":" ","failedToCreateWorkspace":"","failedToUpdateWorkspace":"","failedToSubmit":"","failedToAddWidget":"","failedToMoveWidget":"","failedToCloneWidget":"","unknownError":"","failedToGetResponse":"","failedToLoadBookmarks":"","failedToCheckPermissions":"","bookmarkPermissionDenied":"","failedToRequestPermission":"","failedToLoadModels":"","failedToLoadSchema":"","failedToGetResult":"","uploadFailed":"","enterAccessToken":"","userNotFound":"","failedToApplyCoupon":"","failedToSend":"","workspaceLimitReached":"","widgetLimitReached":"","widgetLocked":"","widgetLockedDesc":"","upgradePlan":"","offline":"","serverError":""},"landing":{"hero":{"title":"","subtitle":" ","addToBrowser":"{{browser}} ","getForBrowser":"{{browser}} ","webApp":"Web ","dashboard":"Dashboard","loginWebApp":"Web ","scrollToExplore":"","newTab":""},"widgetShowcase":{"title":"","subtitle":"Google "},"features":{"whyBasetab":" BaseTab","everythingYouNeed":"","customizableWidgets":"","customizableWidgetsDesc":"ToDo AI ","seamlessIntegration":"","seamlessIntegrationDesc":"Google CalendarGmailChatGPT BaseTab ","privacyFirst":"","privacyFirstDesc":"BaseTab "},"pricing":{"title":"","subtitle":""},"faq":{"title":"","subtitle":"","isFree":"BaseTab ","isFreeAnswer":"","browsers":"","browsersAnswer":"BaseTab Chrome Firefox EdgeSafari","customBg":"","customBgAnswer":"","googleIntegrations":"Google ","googleIntegrationsAnswer":"Google BaseTab CalendarGmailDocs Google ","sync":"","syncAnswer":"Pro ","cancelSubscription":"","cancelSubscriptionAnswer":"Pro "},"cta":{"title":"","subtitle":""},"footer":{"tagline":"","product":"","features":"","pricing":"","blog":"","extensions":"","company":"","about":"","support":"","privacy":"","terms":"","contact":"","allRightsReserved":"All rights reserved.","privacyPolicy":"","termsOfService":""},"browser":{"basetabFor":"BaseTab for {{browser}}","basetabForDesc":"{{browser}} ","comingSoonDesc":"BaseTab for {{browser}} ","tryOnChrome":"Chrome ","comingSoonFor":"{{browser}} ","workingOnIt":"","inDevelopment":"BaseTab for {{browser}} Chrome ","availableOnChrome":"Chrome ","exploreOtherBrowsers":" BaseTab ","availableOnMultiple":"BaseTab ChromeEdgeFirefox ","takeWithYou":"BaseTab "},"extensions":{"title":" BaseTab ","subtitle":"","getForBrowser":"{{browser}} BaseTab ","inDevelopment":"BaseTab for {{browser}} ","apps":"","webApp":"Web ","webAppDesc":"BaseTab ","appInDevelopment":"BaseTab for {{app}} "}},"support":{"title":"","subtitle":"BaseTab ","emailSupport":"","emailSupportDesc":"24","quickResponse":"","quickResponseDesc":"24","avgResponseTime":"24","getInTouch":"","getInTouchDesc":"","ourApps":"","ourAppsDesc":"BaseTab","browserExtensions":"","apps":"","comingSoon":"","generatechCredit":"BaseTab AIGeneratech Studio, Inc."},"welcome":{"title":"BaseTab ","subtitle":"","steps":{"keepIt":{"title":"BaseTab ","desc":"BaseTab "},"addWidgets":{"title":"","desc":" + To-DoAI "},"signIn":{"title":"","desc":"Google BaseTab "},"customize":{"title":"","desc":"Alt + B "}},"cta":"","needHelp":"","visitSupport":""},"uninstall":{"sorryToSeeYouGo":"","helpUsImprove":"BaseTab ","reasons":{"notUseful":"","slowBrowser":"","tooComplex":"","missingFeatures":"","betterAlternative":"","temporary":"","other":""},"tellUsMore":"...","submitFeedback":"","thankYou":"","thankYouDesc":" BaseTab ","backToBasetab":"basetab.ai ","feedbackHelps":""},"dashboard":{"installExtension":"","getExtensionFor":"{{browser}} ","browserExtension":"{{browser}} ","getExtensionChrome":"Chrome ","howToSetup":"","failedToLoad":""},"languages":{"en":"English","tr":"Trke","ar":"","de":"Deutsch","fr":"Franais","it":"Italiano","es":"Espaol","pt":"Portugus","ja":"","zh":"","hi":""},"popup":{"setAsDefaultNewTab":"","howToSetAsNewTab":"","useWebApp":"Web","signInToSync":""}}'))},423359,e%3D> Non signalé
<iframe")){let t%3De.match(/src%3D["']([^"']+)["']/)%3Bt?.[1]&&(e%3Dt[1])}t({embedUrl:e,mode:l})},disabled:!i,className:"w-full text-xs",onMouseDown:e%3D>e.stopPropagation(),children:"Save"})]})]})})}function tD(e){let{onSave:t,initialClientId:r,initialClientSecret:i}%3De,[s,l]%3D(0,n.useState)(r||""),[o,f]%3D(0,n.useState)(i||"")%3Breturn(0,a.jsx)("div",{className:"flex h-full flex-col items-center p-6 overflow-y-auto widget-scrollbar-thin",children:(0,a.jsxs)("div",{className:"my-auto flex flex-col items-center gap-4 w-full",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-gray-600",children:[(0,a.jsx)(d.Lock,{className:"h-6 w-6"}),(0,a.jsx)("span",{className:"text-sm font-medium",children:"OAuth App Setup"})]}),(0,a.jsxs)("div",{className:"w-full max-w-sm space-y-3",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(D.Input,{type:"text",placeholder:"Your OAuth 2.0 Client ID",value:s,onChange:e%3D>l(e.target.value),className:"text-xs bg-white/20 border-white/30",onMouseDown:e%3D>e.stopPropagation()}),(0,a.jsx)(D.Input,{type:"password",placeholder:"Your OAuth 2.0 Client Secret",value:o,onChange:e%3D>f(e.target.value),className:"text-xs bg-white/20 border-white/30",onMouseDown:e%3D>e.stopPropagation()})]}),(0,a.jsxs)("a",{href:"https://www.basetab.ai/blog/how-to-set-up-google-calendar-widget",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 rounded-lg bg-blue-500/10 px-3 py-2 text-[11px] font-medium text-blue-500 hover:bg-blue-500/20 transition-colors",onMouseDown:e%3D>e.stopPropagation(),children:[(0,a.jsx)(C.Video,{className:"h-3.5 w-3.5"}),"Watch Setup Video"]}),(0,a.jsxs)("div",{className:"rounded-lg bg-white/10 p-3 text-[10px] text-gray-700 space-y-1 max-h-48 overflow-y-auto widget-scrollbar-dark select-text",onMouseDown:e%3D>e.stopPropagation(),children:[(0,a.jsx)("div",{className:"font-medium text-gray-600",children:"OAuth App Setup:"}),(0,a.jsxs)("ol",{className:"list-decimal list-inside space-y-0.5",children:[(0,a.jsxs)("li",{children:["Go to ",(0,a.jsx)("a",{href:"https://console.cloud.google.com/",target:"_blank",rel:"noopener noreferrer",className:"text-blue-500 hover:underline",children:"Google Cloud Console"}),"."]}),(0,a.jsx)("li",{children:"Make sure the profile shown in the top-right corner is the Google account whose calendar you want to connect."}),(0,a.jsx)("li",{children:'In the top-left, next to the "Google Cloud" title, select an existing project or create a new one.'}),(0,a.jsx)("li",{children:'With your project selected, type "Google Calendar" in the search bar and click "Google Calendar API".'}),(0,a.jsx)("li",{children:'On the API page, click the "Enable" button.'}),(0,a.jsx)("li",{children:'In the left sidebar, click "OAuth consent screen".'}),(0,a.jsx)("li",{children:"Click \"Get Started\". (If you don't see it, you've already completed this step skip to step 9.)"}),(0,a.jsx)("li",{children:'Fill in the App Information step, select "External" for Audience, enter your email, and click Create.'}),(0,a.jsx)("li",{children:'In the left sidebar, click "Audience", then click "Publish App" under Testing. (If it\'s not clickable, first click "Make External" below.)'}),(0,a.jsx)("li",{children:'In the left sidebar, click "Clients", then click "+ Create Client" at the top.'}),(0,a.jsx)("li",{children:'For "Application type", select "Web application".'}),(0,a.jsxs)("li",{children:["Fill in the Name, paste ",(0,a.jsx)("code",{className:"bg-white/20 px-1 rounded select-all",children:"https://nbndkabgmnbghaagehkcnoaabclljdcd.chromiumapp.org"}),' into "Authorized JavaScript origins", and paste ',(0,a.jsx)("code",{className:"bg-white/20 px-1 rounded select-all",children:"https://nbndkabgmnbghaagehkcnoaabclljdcd.chromiumapp.org/"}),' into "Authorized redirect URIs", then click "Create".']}),(0,a.jsx)("li",{children:'Copy the "Client ID" and "Client Secret" from the popup that appears.'}),(0,a.jsx)("li",{children:"Paste them in the fields above and click Continue. Then select the Google profile whose calendar you want to connect."}),(0,a.jsx)("li",{children:"If you have any issues, please reach out to us at support@basetab.ai!"})]})]}),(0,a.jsxs)("div",{className:"rounded-lg bg-blue-500/10 p-2 text-[10px] text-blue-600 flex items-start gap-1.5",children:[(0,a.jsx)(d.Lock,{className:"h-3 w-3 mt-0.5 shrink-0"}),(0,a.jsx)("span",{children:"Your credentials stay on your device. Nothing is sent to our servers."})]}),(0,a.jsx)(S.Button,{onClick:()%3D>t(s,o),disabled:!s||!o,className:"w-full text-xs",onMouseDown:e%3D>e.stopPropagation(),children:"Continue"})]})]})})}function tS(e){let{clientId:t,clientSecret:r,widgetId:s,onAuthenticated:l,onBack:o}%3De,[f,c]%3D(0,n.useState)(!1),[u,d]%3D(0,n.useState)(""),g%3Dasync()%3D>{c(!0),d("")%3Btry{let e%3Dawait e3({type:"GCAL_AUTH",clientId:t,clientSecret:r,widgetId:s})%3Be?.success?l():d(e?.error||"Authentication failed")}catch(e){d(e instanceof Error?e.message:"Failed to connect")}finally{c(!1)}}%3Breturn(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-4 p-6",children:[(0,a.jsx)("div",{className:"h-12 w-12 rounded-full bg-blue-500/10 flex items-center justify-center",children:(0,a.jsx)(i.CalendarDays,{className:"h-6 w-6 text-blue-500"})}),(0,a.jsxs)("div",{className:"text-center space-y-1",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-800",children:"Connect Google Calendar"}),(0,a.jsx)("div",{className:"text-[10px] text-gray-700",children:"Sign in to access your calendar events"})]}),u&&(0,a.jsxs)("div",{className:"flex items-start gap-1.5 text-red-500 text-[10px] max-w-xs",children:[(0,a.jsx)(h.AlertCircle,{className:"h-3 w-3 mt-0.5 shrink-0"}),(0,a.jsx)("span",{children:u})]}),(0,a.jsxs)("div",{className:"space-y-2 w-full max-w-xs",children:[(0,a.jsx)(S.Button,{onClick:g,disabled:f,className:"w-full text-xs",onMouseDown:e%3D>e.stopPropagation(),children:f?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.Loader2,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"})," Connecting..."]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(m.ExternalLink,{className:"h-3.5 w-3.5 mr-1.5"})," Sign in with Google"]})}),(0,a.jsx)("button",{onClick:o,className:"w-full text-[10px] text-gray-700 hover:text-gray-700 transition-colors",onMouseDown:e%3D>e.stopPropagation(),children:"Change Credentials"})]})]})}function tI(e){let{onAdd:t,defaultDate:i,children:s}%3De,{t:l}%3D(0,r.useTranslation)(),[o,f]%3D(0,n.useState)(!1),[c,u]%3D(0,n.useState)(""),[d,m]%3D(0,n.useState)(i||tr(new Date)),[h,p]%3D(0,n.useState)(!1),[g,b]%3D(0,n.useState)("09:00"),[y,N]%3D(0,n.useState)("10:00"),[I,A]%3D(0,n.useState)(""),[E,z]%3D(0,n.useState)(""),[P,O]%3D(0,n.useState)(""),[R,Y]%3D(0,n.useState)([]),[U,_]%3D(0,n.useState)(!1),B%3D()%3D>{u(""),m(i||tr(new Date)),p(!1),b("09:00"),N("10:00"),A(""),z(""),O(""),Y([]),_(!1)},F%3D()%3D>{let e%3DP.trim()%3Be&&e.includes("@")&&!R.includes(e)&&(Y(t%3D>[...t,e]),O(""))},G%3D()%3D>{c&&(t({title:c,date:d,startTime:h?void 0:g,endTime:h?void 0:y,allDay:h,description:I||void 0,location:E||void 0,attendees:R.length>0?R:void 0,addMeet:U}),B(),f(!1))}%3Breturn(0,a.jsxs)(T.Popover,{open:o,onOpenChange:e%3D>{f(e),e||B()},children:[(0,a.jsx)(T.PopoverTrigger,{asChild:!0,children:s}),(0,a.jsxs)(T.PopoverContent,{className:"w-80 p-0 border border-white/40 rounded-2xl shadow-2xl overflow-hidden",style:{background:"linear-gradient(135deg, rgba(255,255,255,0.72) 0%, rgba(230,235,245,0.65) 50%, rgba(255,255,255,0.72) 100%)",backdropFilter:"blur(40px) saturate(1.8)",WebkitBackdropFilter:"blur(40px) saturate(1.8)",boxShadow:"0 8px 32px rgba(0,0,0,0.12), inset 0 0.5px 0 rgba(255,255,255,0.6)"},side:"right",align:"start",sideOffset:8,onClick:e%3D>e.stopPropagation(),onMouseDown:e%3D>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-4 pt-3 pb-1",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-gray-800",children:l("widgets.googleCalendar.newEvent")}),(0,a.jsx)("button",{onClick:()%3D>{B(),f(!1)},className:"rounded-full p-1 text-gray-700 hover:bg-white/40 transition-colors",children:(0,a.jsx)(k.X,{className:"h-3.5 w-3.5"})})]}),(0,a.jsxs)("div",{className:"max-h-[60vh] overflow-y-auto widget-scrollbar-dark px-4 pb-4 pt-1 space-y-2.5",children:[(0,a.jsx)(D.Input,{placeholder:l("widgets.googleCalendar.addTitle"),value:c,onChange:e%3D>u(e.target.value),onKeyDown:e%3D>{"Enter"%3D%3D%3De.key&&G()},className:"text-xs bg-white/30 border-white/40 text-gray-800 placeholder:text-gray-400",onMouseDown:e%3D>e.stopPropagation(),autoFocus:!0}),(0,a.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,a.jsx)(v.Clock,{className:"h-3.5 w-3.5 text-gray-700 mt-2 shrink-0"}),(0,a.jsxs)("div",{className:"flex-1 space-y-1.5",children:[(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("input",{type:"date",value:d,onChange:e%3D>m(e.target.value),className:"flex-1 rounded-md border border-white/40 bg-white/30 px-2 py-1.5 text-xs text-gray-700",onMouseDown:e%3D>e.stopPropagation()}),(0,a.jsxs)("label",{className:"flex items-center gap-1.5 text-[11px] text-gray-600 cursor-pointer shrink-0",children:[(0,a.jsx)("input",{type:"checkbox",checked:h,onChange:e%3D>p(e.target.checked),className:"rounded",onMouseDown:e%3D>e.stopPropagation()}),"All day"]})]}),!h&&(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("input",{type:"time",value:g,onChange:e%3D>b(e.target.value),className:"flex-1 rounded-md border border-white/40 bg-white/30 px-2 py-1.5 text-xs text-gray-700",onMouseDown:e%3D>e.stopPropagation()}),(0,a.jsx)("span",{className:"text-[11px] text-gray-700",children:"to"}),(0,a.jsx)("input",{type:"time",value:y,onChange:e%3D>N(e.target.value),className:"flex-1 rounded-md border border-white/40 bg-white/30 px-2 py-1.5 text-xs text-gray-700",onMouseDown:e%3D>e.stopPropagation()})]})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(C.Video,{className:"h-3.5 w-3.5 text-gray-700 shrink-0"}),(0,a.jsxs)("button",{onClick:()%3D>_(!U),onMouseDown:e%3D>e.stopPropagation(),className:(0,L.cn)("flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs transition-colors",U?"bg-blue-500/15 text-blue-600 border border-blue-300/40":"bg-white/20 text-gray-700 border border-white/30 hover:bg-white/30"),children:[(0,a.jsx)(C.Video,{className:"h-3 w-3"}),U?"Google Meet added":"Add Google Meet"]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,a.jsx)(x.MapPin,{className:"h-3.5 w-3.5 text-gray-700 shrink-0"}),(0,a.jsx)("input",{placeholder:l("widgets.googleCalendar.addLocation"),value:E,onChange:e%3D>z(e.target.value),className:"flex-1 rounded-md border border-white/40 bg-white/30 px-2.5 py-1.5 text-xs text-gray-700 placeholder:text-gray-400 outline-none focus:border-blue-300/60",onMouseDown:e%3D>e.stopPropagation()})]}),(0,a.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,a.jsx)(j.AlignLeft,{className:"h-3.5 w-3.5 text-gray-700 mt-2 shrink-0"}),(0,a.jsx)("textarea",{placeholder:l("widgets.googleCalendar.addDescription"),value:I,onChange:e%3D>A(e.target.value),rows:2,className:"flex-1 rounded-md border border-white/40 bg-white/30 px-2.5 py-1.5 text-xs text-gray-700 placeholder:text-gray-400 outline-none focus:border-blue-300/60 resize-none",onMouseDown:e%3D>e.stopPropagation()})]}),(0,a.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,a.jsx)(M.Users,{className:"h-3.5 w-3.5 text-gray-700 mt-2 shrink-0"}),(0,a.jsxs)("div",{className:"flex-1 space-y-1.5",children:[(0,a.jsxs)("div",{className:"flex gap-1.5",children:[(0,a.jsx)("input",{placeholder:l("widgets.googleCalendar.addGuests"),value:P,onChange:e%3D>O(e.target.value),onKeyDown:e%3D>{"Enter"%3D%3D%3De.key&&(e.preventDefault(),F())},className:"flex-1 rounded-md border border-white/40 bg-white/30 px-2.5 py-1.5 text-xs text-gray-700 placeholder:text-gray-400 outline-none focus:border-blue-300/60",onMouseDown:e%3D>e.stopPropagation()}),(0,a.jsx)("button",{onClick:F,onMouseDown:e%3D>e.stopPropagation(),disabled:!P.trim()||!P.includes("@"),className:"rounded-md px-2 py-1.5 text-xs text-gray-700 hover:bg-white/30 disabled:opacity-30 transition-colors border border-white/30",children:(0,a.jsx)(w.Plus,{className:"h-3 w-3"})})]}),R.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:R.map(e%3D>(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-blue-500/10 border border-blue-200/40 px-2 py-0.5 text-[10px] text-blue-700",children:[e,(0,a.jsx)("button",{onClick:()%3D>Y(t%3D>t.filter(t%3D>t!%3D%3De)),onMouseDown:e%3D>e.stopPropagation(),className:"hover:text-red-500 transition-colors",children:(0,a.jsx)(k.X,{className:"h-2.5 w-2.5"})})]},e))})]})]}),(0,a.jsx)(S.Button,{onClick:G,disabled:!c,className:"w-full text-xs",onMouseDown:e%3D>e.stopPropagation(),children:"Save"})]})]})]})}function tT(e){let{widget:t,onUpdate:r,tabContent:i,onTabContentUpdate:s,settingsAction:l,onSettingsActionHandled:o}%3De,f%3Di??{},c%3Dnull%3D%3Di&&t.settings||{},u%3Df.icsUrl||c.icsUrl,d%3Df.events||[],[m,g]%3D(0,n.useState)(d),[x,b]%3D(0,n.useState)(!1),[y,w]%3D(0,n.useState)(""),[v,k]%3D(0,n.useState)("month"),[j,M]%3D(0,n.useState)(""),C%3D(0,n.useRef)(f)%3BC.current%3Df%3Blet N%3D(0,n.useRef)(t.settings)%3BN.current%3Dt.settings%3Blet L%3D(0,n.useRef)(!1),D%3D(0,n.useRef)(d)%3BD.current%3Dd%3Blet I%3D(0,n.useRef)(s)%3BI.current%3Ds%3Blet T%3D(0,n.useRef)(r)%3BT.current%3Dr%3Blet A%3D(0,n.useCallback)(e%3D>{I.current?I.current({...C.current,...e}):T.current({settings:{...N.current,...e}})},[]),E%3D(0,n.useCallback)(async()%3D> Non signalé