diff --git a/.vscode/settings.json b/.vscode/settings.json index cdcecd51..8a8b46a8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -20,5 +20,8 @@ ], "[typescript]": { "editor.defaultFormatter": "vscode.typescript-language-features" - } + }, + "python-envs.defaultEnvManager": "ms-python.python:conda", + "python-envs.defaultPackageManager": "ms-python.python:conda", + "python-envs.pythonProjects": [] } diff --git a/src/components/aidaos/RootDAOPage.tsx b/src/components/aidaos/RootDAOPage.tsx index ab7eb3f4..22aca008 100644 --- a/src/components/aidaos/RootDAOPage.tsx +++ b/src/components/aidaos/RootDAOPage.tsx @@ -527,21 +527,23 @@ export function RootDAOPage({ children, daoName }: RootDAOPageProps) { diff --git a/src/components/proposals/ProposalSubmission.tsx b/src/components/proposals/ProposalSubmission.tsx index f0791827..a6379202 100644 --- a/src/components/proposals/ProposalSubmission.tsx +++ b/src/components/proposals/ProposalSubmission.tsx @@ -264,6 +264,9 @@ export function ProposalSubmission({ const [xUsernameError, setXUsernameError] = useState(null); const [xProfile, setXProfile] = useState(null); + // Consent checkbox state + const [consentChecked, setConsentChecked] = useState(false); + const { accessToken, isLoading: isSessionLoading, userId } = useAuth(); const { needsXLink, @@ -811,6 +814,7 @@ export function ProposalSubmission({ if (isSuccess) { setTxStatusView("confirmed-success"); setTwitterUrl(""); + setConsentChecked(false); // setSelectedAirdropTxHash(null); // Commented out - airdrop feature disabled } else if (isFailed) setTxStatusView("confirmed-failure"); @@ -1690,6 +1694,28 @@ export function ProposalSubmission({ + {/* Consent Checkbox - Outside overlays */} + {hasAccessToken && ( +
+ setConsentChecked(e.target.checked)} + disabled={isSubmitting || isLoadingExtensions || isLoadingAgents} + className="mt-1 h-4 w-4 rounded border-white/10 bg-background text-primary cursor-pointer" + /> + +
+ )} + {/* Footer CTA */}
{!hasAccessToken ? ( @@ -1701,6 +1727,7 @@ export function ProposalSubmission({ disabled={ !twitterUrl.trim() || !isValidTwitterUrl || + !consentChecked || isSubmitting || isValidatingXUsername || !hasAgentAccount || diff --git a/src/components/terms-and-condition/TermsOfService.tsx b/src/components/terms-and-condition/TermsOfService.tsx index 97d5591f..0c893540 100644 --- a/src/components/terms-and-condition/TermsOfService.tsx +++ b/src/components/terms-and-condition/TermsOfService.tsx @@ -58,7 +58,34 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 1. AIBTC Does Not Control Funds or DAOs + 1. User-Submitted Content +

+

+ By submitting any photo, video, audio, or other content, you + confirm you obtained consent from all identifiable individuals and + hold the rights to share it, and you grant AIBTC a worldwide, + perpetual license to use, repost, and distribute it and accept + responsibility for any related claims. +

+
+ +
+

+ 2. Promotion and Rewards +

+

+ AIBTC may offer BTC rewards for qualifying submissions. + Eligibility, judging criteria, timing, and any geographic or age + limits will be stated in the submission instructions. Not all + submissions will receive rewards, and all payouts are + discretionary, subject to verification, and void where prohibited. + No purchase is necessary. +

+
+ +
+

+ 3. AIBTC Does Not Control Funds or DAOs

AIBTC provides software to assist users more easily interact with @@ -69,7 +96,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 2. Users Control All Token and DAO Activities + 4. Users Control All Token and DAO Activities

Users initiate and execute all tokens, purchase seats, and launch @@ -79,7 +106,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 3. User Responsibility for Funds and DAO Treasuries + 5. User Responsibility for Funds and DAO Treasuries

Users are responsible for their own secret keys and control of @@ -90,7 +117,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 4. Use of Personal Funds + 6. Use of Personal Funds

By using the App, you represent that any funds deployed or tokens @@ -100,7 +127,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 5. AI Agent Responsibility + 7. AI Agent Responsibility

Users are responsible for all of the action taken by user driven @@ -111,7 +138,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 6. Legal Setup and Compliance + 8. Legal Setup and Compliance

AIBTC does not make any sort of representation towards the legal @@ -125,7 +152,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 7. Professional Advisors + 9. Professional Advisors

Any documents, examples, or demos provided by AIBTC only serve @@ -137,7 +164,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 8. Compliance with Applicable Laws + 10. Compliance with Applicable Laws

By using the App, users agree to comply with all applicable laws @@ -150,7 +177,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 9. Sanctions and Restricted Territories + 11. Sanctions and Restricted Territories

By using this App, you represent and warrant that: @@ -186,7 +213,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 10. VPN and Circumvention Restrictions + 12. VPN and Circumvention Restrictions

You do not, and will not, use VPN software or any other privacy or @@ -197,7 +224,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 11. Prohibited Activities + 13. Prohibited Activities

The use of the App to launder funds, violate third party rights, @@ -210,7 +237,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 12. Blockchain Technology Risks + 14. Blockchain Technology Risks

You understand the inherent risks associated with cryptographic @@ -247,7 +274,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 13. Transaction Finality and Risk Acceptance + 15. Transaction Finality and Risk Acceptance

By using this App, you acknowledge and accept that: @@ -277,7 +304,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 14. Private Key Responsibility + 16. Private Key Responsibility

You alone are responsible for securing any of your private key(s) @@ -299,7 +326,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 15. Market Volatility and Token Risks + 17. Market Volatility and Token Risks

Crypto markets tend to experience heavy price volatility and the @@ -321,7 +348,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 16. AI Compute Services + 18. AI Compute Services

AIBTC may, at its sole discretion, provide AI compute services @@ -337,7 +364,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 17. Third-Party Bridging Services + 19. Third-Party Bridging Services

All bridging activities accessible via the App is carried out by a @@ -352,7 +379,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 18. Limitation of Liability + 20. Limitation of Liability

Under no circumstances shall AIBTC be liable for indirect, @@ -363,7 +390,7 @@ export function TermsOfService({ onScrollComplete }: TermsOfServiceProps) {

- 19. Agreement Acknowledgment + 21. Agreement Acknowledgment

By continuing to use AIBTC, you confirm that you have read, diff --git a/src/config/features.ts b/src/config/features.ts index b554e211..f55113d2 100644 --- a/src/config/features.ts +++ b/src/config/features.ts @@ -1,7 +1,7 @@ // when enabled will show only a single DAO throughout the app export const enableSingleDaoMode = true; // only required when single DAO mode is enabled -export const singleDaoName = "AIBTC-NS1"; +export const singleDaoName = "AIBTC-LAX"; // Reward configuration // Reward amount in USD for each passed proposal