diff --git a/js/apps/docs/components/Footer.vue b/js/apps/docs/components/Footer.vue index 71c96bf6..90637c22 100644 --- a/js/apps/docs/components/Footer.vue +++ b/js/apps/docs/components/Footer.vue @@ -16,7 +16,11 @@ onMounted(() => { diff --git a/js/apps/docs/contents/docs/cloud/features/feedback.md b/js/apps/docs/contents/docs/cloud/features/feedback.md index a5169f1d..2f936891 100644 --- a/js/apps/docs/contents/docs/cloud/features/feedback.md +++ b/js/apps/docs/contents/docs/cloud/features/feedback.md @@ -26,8 +26,8 @@ onMounted(() => {
diff --git a/js/apps/docs/contents/docs/cloud/integrations/docusaurus.md b/js/apps/docs/contents/docs/cloud/integrations/docusaurus.md index a5fc6aff..d59d9b50 100644 --- a/js/apps/docs/contents/docs/cloud/integrations/docusaurus.md +++ b/js/apps/docs/contents/docs/cloud/integrations/docusaurus.md @@ -23,7 +23,7 @@ After ejecting, you can edit generated files in `src/theme/SearchBar`. ```html-vue // [!code --] - // [!code ++] + // [!code ++] // [!code ++] // [!code --] diff --git a/js/apps/docs/contents/docs/cloud/integrations/starlight.md b/js/apps/docs/contents/docs/cloud/integrations/starlight.md index ec25b542..40b1d4b2 100644 --- a/js/apps/docs/contents/docs/cloud/integrations/starlight.md +++ b/js/apps/docs/contents/docs/cloud/integrations/starlight.md @@ -31,7 +31,7 @@ export default defineConfig({ ... // [!code --] - // [!code ++] + // [!code ++] // [!code ++] // [!code --] diff --git a/js/apps/docs/contents/docs/cloud/integrations/vitepress.md b/js/apps/docs/contents/docs/cloud/integrations/vitepress.md index 9c74f7c9..59c22d18 100644 --- a/js/apps/docs/contents/docs/cloud/integrations/vitepress.md +++ b/js/apps/docs/contents/docs/cloud/integrations/vitepress.md @@ -17,7 +17,7 @@ Take a look at our [CloudSearch.vue](https://github.com/fastrepl/canary/blob/mai ```html-vue // [!code --] - // [!code ++] + // [!code ++] // [!code ++] // [!code --] diff --git a/js/apps/docs/contents/docs/common/why.md b/js/apps/docs/contents/docs/common/why.md index f1fa5e98..4905f551 100644 --- a/js/apps/docs/contents/docs/common/why.md +++ b/js/apps/docs/contents/docs/common/why.md @@ -50,7 +50,7 @@ If you decide to use `Canary Cloud` for more features, you can easily migrate. ```html-vue // [!code --] - // [!code ++] + // [!code ++] // [!code ++] // [!code --] diff --git a/js/apps/docs/contents/docs/local/intro.md b/js/apps/docs/contents/docs/local/intro.md index 5aaa33a2..c1b931de 100644 --- a/js/apps/docs/contents/docs/local/intro.md +++ b/js/apps/docs/contents/docs/local/intro.md @@ -27,7 +27,7 @@ If you need more features, you can easily migrate. ```html-vue // [!code --] - // [!code ++] + // [!code ++] // [!code ++] // [!code --] diff --git a/js/apps/docs/contents/index.examples.md b/js/apps/docs/contents/index.examples.md index 49a0c633..8ca6251b 100644 --- a/js/apps/docs/contents/index.examples.md +++ b/js/apps/docs/contents/index.examples.md @@ -50,7 +50,7 @@ ```js-vue [Using Canary cloud] // [!code --] - // [!code ++] + // [!code ++] {/* Rest of the code */} // [!code ++] // [!code --] diff --git a/js/apps/docs/package.json b/js/apps/docs/package.json index 8eb682bc..06860f17 100644 --- a/js/apps/docs/package.json +++ b/js/apps/docs/package.json @@ -17,7 +17,7 @@ "vue": "^3.4.35" }, "dependencies": { - "@getcanary/web": "^0.0.83", + "@getcanary/web": "^0.0.84", "@vercel/analytics": "^1.3.1", "chart.js": "^4.4.3", "vue-chartjs": "^5.3.1" diff --git a/js/package-lock.json b/js/package-lock.json index d76bca66..babdd868 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -16,7 +16,7 @@ "apps/docs": { "name": "@getcanary/docs", "dependencies": { - "@getcanary/web": "^0.0.83", + "@getcanary/web": "^0.0.84", "@vercel/analytics": "^1.3.1", "chart.js": "^4.4.3", "vue-chartjs": "^5.3.1" @@ -31363,7 +31363,7 @@ }, "packages/web": { "name": "@getcanary/web", - "version": "0.0.83", + "version": "0.0.84", "dependencies": { "@floating-ui/dom": "^1.6.8", "@lit-labs/observers": "^2.0.2", diff --git a/js/packages/web/package.json b/js/packages/web/package.json index 75438906..c290fc66 100644 --- a/js/packages/web/package.json +++ b/js/packages/web/package.json @@ -1,6 +1,6 @@ { "name": "@getcanary/web", - "version": "0.0.83", + "version": "0.0.84", "type": "module", "main": "dist/components/index.js", "files": [ diff --git a/js/packages/web/src/components/canary-content.stories.ts b/js/packages/web/src/components/canary-content.stories.ts index cc6f9ded..6b259d56 100644 --- a/js/packages/web/src/components/canary-content.stories.ts +++ b/js/packages/web/src/components/canary-content.stories.ts @@ -79,7 +79,7 @@ export default { parameters: { sourceLink: "components/canary-content.stories.ts" }, render: ({ kind }: { kind: Kind }) => { const wrapper = (child: any) => html` - + ${child} `; diff --git a/js/packages/web/src/components/canary-feedback-page.ts b/js/packages/web/src/components/canary-feedback-page.ts index b52951ad..a4662ec4 100644 --- a/js/packages/web/src/components/canary-feedback-page.ts +++ b/js/packages/web/src/components/canary-feedback-page.ts @@ -16,26 +16,18 @@ export class CanaryFeedbackPage extends LitElement { @property({ type: String, attribute: "text-complete" }) completeText = "Got it, Thank you!"; - @property({ type: String }) - endpoint = "https://cloud.getcanary.dev"; + @property({ type: String, attribute: "api-base" }) + apiBase = "https://cloud.getcanary.dev"; - @property({ type: String }) - key = ""; - - connectedCallback(): void { - super.connectedCallback(); - - if (this.key === "") { - throw new Error("key is required"); - } - } + @property({ type: String, attribute: "api-key" }) + apiKey = ""; private _task = new Task(this, { - task: async ([url, score]: [string, number], { signal }) => { - const response = await fetch(`${this.endpoint}/api/v1/feedback/page`, { + task: async ([endpoint, key, url, score]: [string, string, string, number], { signal }) => { + const response = await fetch(`${endpoint}/api/v1/feedback/page`, { method: "POST", headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ key: this.key, url, score }), + body: JSON.stringify({ key, url, score }), signal: withTimeout(signal, 2500), }); @@ -78,8 +70,8 @@ export class CanaryFeedbackPage extends LitElement { `; } - private _handleClick(value: number) { - this._task.run([document.location.href, value]); + private _handleClick(score: number) { + this._task.run([this.apiBase, this.apiKey, document.location.href, score]); } static styles = [ diff --git a/js/packages/web/src/components/canary-feedback.stories.ts b/js/packages/web/src/components/canary-feedback.stories.ts index 987a8338..6c0d71ef 100644 --- a/js/packages/web/src/components/canary-feedback.stories.ts +++ b/js/packages/web/src/components/canary-feedback.stories.ts @@ -14,7 +14,7 @@ export default { parameters: { sourceLink: "components/canary-feedback.stories.ts" }, render: ({ type }: any) => { if (type === "page") { - return html` `; + return html` `; } if (type === "modal") { diff --git a/js/packages/web/src/components/canary-modal.stories.ts b/js/packages/web/src/components/canary-modal.stories.ts index 98db4698..16486899 100644 --- a/js/packages/web/src/components/canary-modal.stories.ts +++ b/js/packages/web/src/components/canary-modal.stories.ts @@ -17,7 +17,7 @@ export default { parameters: { sourceLink: "components/canary-modal.stories.ts" }, render: () => { return html` - + diff --git a/js/packages/web/src/components/canary-provider-cloud.ts b/js/packages/web/src/components/canary-provider-cloud.ts index 0e729d23..23a2b2f7 100644 --- a/js/packages/web/src/components/canary-provider-cloud.ts +++ b/js/packages/web/src/components/canary-provider-cloud.ts @@ -11,13 +11,16 @@ const NAME = "canary-provider-cloud"; @customElement(NAME) export class CanaryProviderCloud extends LitElement { - @property() endpoint = ""; - @property() key = ""; + @property({ type: String, attribute: "api-base" }) + apiBase = ""; + + @property({ type: String, attribute: "api-key" }) + apiKey = ""; connectedCallback() { super.connectedCallback(); - if (!this.endpoint || !this.key) { + if (!this.apiBase || !this.apiKey) { throw new Error("Endpoint and key are required"); } @@ -42,11 +45,11 @@ export class CanaryProviderCloud extends LitElement { const params = { method: "POST", headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ key: this.key, query }), + body: JSON.stringify({ key: this.apiKey, query }), signal, }; - const res = await fetch(`${this.endpoint}/api/v1/search`, params); + const res = await fetch(`${this.apiBase}/api/v1/search`, params); if (!res.ok) { throw new Error(res.statusText); } @@ -55,11 +58,11 @@ export class CanaryProviderCloud extends LitElement { }; ask: AskFunction = async (id, query, handleDelta, signal) => { - const url = `${this.endpoint}/api/v1/ask`; + const url = `${this.apiBase}/api/v1/ask`; const params = { method: "POST", headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ id, key: this.key, query }), + body: JSON.stringify({ id, key: this.apiKey, query }), signal, };