diff --git a/frontend/app/public/assets/blog/ic_footprint/ic_footprint.webp b/frontend/app/public/assets/blog/ic_footprint/ic_footprint.webp new file mode 100644 index 0000000000..ffe54e2d8c Binary files /dev/null and b/frontend/app/public/assets/blog/ic_footprint/ic_footprint.webp differ diff --git a/frontend/app/src/components/home/Home.svelte b/frontend/app/src/components/home/Home.svelte index 9cb44b308a..7766e61577 100644 --- a/frontend/app/src/components/home/Home.svelte +++ b/frontend/app/src/components/home/Home.svelte @@ -949,7 +949,7 @@ inviteUsers: "admin", mentionAllMembers: "member", reactToMessages: "member", - startVideoCall: "admin", + startVideoCall: "member", messagePermissions: { default: "member", p2pSwap: "none", diff --git a/frontend/app/src/components/home/addgroup/NewGroup.svelte b/frontend/app/src/components/home/addgroup/NewGroup.svelte index 5a12c640d4..591157e5b3 100644 --- a/frontend/app/src/components/home/addgroup/NewGroup.svelte +++ b/frontend/app/src/components/home/addgroup/NewGroup.svelte @@ -73,6 +73,12 @@ $: hideInviteUsers = candidateGroup.level === "channel" && candidateGroup.public; $: valid = detailsValid && visibilityValid && rulesValid; + $: { + if (candidateGroup.public) { + candidateGroup.permissions.startVideoCall = "admin"; + } + } + function getSteps( editing: boolean, detailsValid: boolean, @@ -246,11 +252,10 @@ step = 0; } else if (!hideInviteUsers) { onGroupCreated(resp.canisterId); - optionallyInviteUsers(resp.canisterId) - .catch((_err) => { - toastStore.showFailureToast(i18nKey("inviteUsersFailed")); - step = 0; - }); + optionallyInviteUsers(resp.canisterId).catch((_err) => { + toastStore.showFailureToast(i18nKey("inviteUsersFailed")); + step = 0; + }); } else { onGroupCreated(resp.canisterId); } diff --git a/frontend/app/src/components/landingpages/blog/ICFootprint.svelte b/frontend/app/src/components/landingpages/blog/ICFootprint.svelte new file mode 100644 index 0000000000..672e06db93 --- /dev/null +++ b/frontend/app/src/components/landingpages/blog/ICFootprint.svelte @@ -0,0 +1,47 @@ + + +
+

+ Setting a new benchmark of environmental responsibility in the tech industry. OpenChat + becomes the first DAO to integrate IC Footprint 2.0 — a sustainability protocol that + harnesses the power of ICP smart contracts. This real-time system tracks and records key environmental metrics like electricity + consumption and carbon emissions directly onto an immutable on-chain ledger. Raising consumer + awareness about climate issues and increasingly stringent environmental regulations are fuelling + a growing demand for eco-conscious technology especially in crypto. +

+ + IC Footprint Dashboard + +

+ Moreover, OpenChat commits to actively decarbonising by acquiring renewable energy + certificates and carbon credits. Future developments include embedding OpenChat’s + zero-emissions commitment into a custom ESG smart contract, ensuring automatic compliance + with its sustainability goals. This innovation underscores OpenChat’s role as a pioneer in + Web3 and clean crypto. +

+ +

+ OpenChat's dedication to sustainability strengthens its competitive edge. By focusing on + eco-friendly practices, OpenChat attracts more eco-conscious users and stands out from its + Web2 competitors like Discord, WhatsApp, and Slack. +

+ +

+ As OpenChat advances its sustainable practices, it serves as a model for other digital + platforms, showing that technological innovation and environmental responsibility can + coexist. +

+ +

Join OpenChat and our movement toward a sustainable Web3 today.

+
+ + diff --git a/frontend/app/src/components/landingpages/blog/posts.ts b/frontend/app/src/components/landingpages/blog/posts.ts index 7155788e48..79246e7355 100644 --- a/frontend/app/src/components/landingpages/blog/posts.ts +++ b/frontend/app/src/components/landingpages/blog/posts.ts @@ -5,6 +5,7 @@ import Governance from "./Governance.svelte"; import WebsiteReleases from "./WebsiteReleases.svelte"; import Translation from "./Translation.svelte"; import Video from "./VideoCallsReleased.svelte"; +import ICFootprint from "./ICFootprint.svelte"; export type BlogPostInfo = { slug: string; @@ -15,6 +16,13 @@ export type BlogPostInfo = { }; export const postsBySlug: Record = { + ic_footprint: { + slug: "ic_footprint", + title: "OpenChat tracks carbon-emissions in real-time and commits to net-zero operations", + author: "@Steffen", + date: new Date(2024, 3, 22), + component: ICFootprint, + }, video: { slug: "video", title: "Video calls released",