├── ios
├── Config.xcconfig
├── snapshotapp
│ ├── Images.xcassets
│ │ ├── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ ├── Icon20.png
│ │ │ ├── Icon29.png
│ │ │ ├── Icon40.png
│ │ │ ├── Icon58.png
│ │ │ ├── Icon60.png
│ │ │ ├── Icon76.png
│ │ │ ├── Icon80.png
│ │ │ ├── Icon87.png
│ │ │ ├── Icon1024.png
│ │ │ ├── Icon120.png
│ │ │ ├── Icon152.png
│ │ │ ├── Icon167.png
│ │ │ ├── Icon180.png
│ │ │ ├── Icon29-1.png
│ │ │ ├── Icon40-1.png
│ │ │ ├── Icon40-2.png
│ │ │ ├── Icon58-1.png
│ │ │ ├── Icon80-1.png
│ │ │ └── Icon120-1.png
│ │ ├── SplashScreenBackground.imageset
│ │ │ ├── image.png
│ │ │ └── Contents.json
│ │ └── SplashScreen.imageset
│ │ │ ├── splashscreen_image.png
│ │ │ ├── splashscreen_image-1.png
│ │ │ ├── splashscreen_image-2.png
│ │ │ └── Contents.json
│ ├── noop-file.swift
│ ├── snapshotapp-Bridging-Header.h
│ ├── main.m
│ ├── snapshot.entitlements
│ ├── AppDelegate.h
│ └── Supporting
│ │ └── Expo.plist
├── AppCenter-Config.plist
├── snapshotapp.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── Podfile
├── src
├── hooks
│ └── package.json
├── styles
│ ├── package.json
│ ├── values.ts
│ ├── iconfont.ttf
│ ├── fonts.ts
│ ├── toast.ts
│ └── settings.ts
├── context
│ └── package.json
├── helpers
│ ├── package.json
│ ├── numUtils.ts
│ ├── snapshotClient.ts
│ ├── voting
│ │ ├── index.ts
│ │ ├── walletTypes.ts
│ │ ├── spaceUtils.ts
│ │ ├── approval.ts
│ │ ├── singleChoice.ts
│ │ ├── weighted.ts
│ │ └── quadratic.ts
│ ├── password.ts
│ ├── apolloClient.ts
│ ├── phoneUtils.ts
│ ├── devApolloClient.ts
│ ├── validators.ts
│ ├── address.ts
│ ├── searchUtils.ts
│ ├── EIP712.ts
│ ├── engineService.ts
│ ├── walletConnectUtils.ts
│ ├── storage.ts
│ ├── snapshot.ts
│ └── device.ts
├── screens
│ ├── package.json
│ ├── VoteScreen.tsx
│ ├── VoteConfirmScreen.tsx
│ ├── HomeScreen.tsx
│ ├── AboutScreen.tsx
│ ├── LandingScreen.tsx
│ ├── StrategyScreen.tsx
│ ├── AdvancedSettingsScreen.tsx
│ └── NetworkScreen.tsx
├── components
│ ├── package.json
│ ├── ActivityIndicator.tsx
│ ├── CustomTouchableNativeFeedback.tsx
│ ├── LoginButton.tsx
│ ├── IPhoneTopSafeAreaViewBackground.tsx
│ ├── IconFont.tsx
│ ├── SpaceAvatarButton.tsx
│ ├── IphoneBottomSafeAreaViewBackground.tsx
│ ├── proposal
│ │ ├── ProposalMenu.tsx
│ │ ├── VotesList.tsx
│ │ ├── BlockResults.tsx
│ │ ├── UserVotingPower.tsx
│ │ ├── VotingSingleChoice.tsx
│ │ ├── Category.tsx
│ │ ├── ProposalFiltersBottomSheet.tsx
│ │ ├── ProposalVoteBottomSheet.tsx
│ │ ├── VotingApproval.tsx
│ │ ├── ProposalResultOption.tsx
│ │ ├── ProposalState.tsx
│ │ ├── ProposalFilters.tsx
│ │ ├── ProposalVoterRow.tsx
│ │ ├── preview
│ │ │ └── ProposalPreviewWinningChoiceText.tsx
│ │ └── ProposalInfoRow.tsx
│ ├── wallet
│ │ ├── Confetti.tsx
│ │ ├── TermsAndConditions.tsx
│ │ ├── TransactionHeader.tsx
│ │ ├── OnboardingProgress.tsx
│ │ └── SeedPhraseModal.tsx
│ ├── explore
│ │ ├── Skin.tsx
│ │ └── ExploreHeader.tsx
│ ├── IconButton.tsx
│ ├── FlatListFooterLoader.tsx
│ ├── UserAvatar.tsx
│ ├── user
│ │ ├── UserAbout.tsx
│ │ └── VotedOnProposalPreview.tsx
│ ├── tabBar
│ │ ├── TabView.tsx
│ │ ├── AnimatedNavBar.tsx
│ │ ├── PlatformPressable.tsx
│ │ ├── AnimatedTabBar.tsx
│ │ ├── AnimatedHeader.tsx
│ │ └── Scene.tsx
│ ├── TextInput.tsx
│ ├── createProposal
│ │ ├── CreateProposalPreviewResultsBlock.tsx
│ │ ├── ChoicesBlock.tsx
│ │ ├── Warning.tsx
│ │ ├── CreateProposalFooter.tsx
│ │ ├── RecapRow.tsx
│ │ └── TimePicker.tsx
│ ├── dashboard
│ │ └── DashboardHeader.tsx
│ ├── settings
│ │ └── SettingsOption.tsx
│ ├── CoreBadge.tsx
│ ├── Input.tsx
│ ├── SpaceAvatar.tsx
│ ├── StateBadge.tsx
│ ├── BottomSheetTextInput.tsx
│ ├── CategoriesScrollView.tsx
│ ├── SearchInput.tsx
│ └── SecondaryButton.tsx
├── constants
│ ├── package.json
│ ├── sample-env.ts
│ ├── currencySymbols.json
│ ├── networks.ts
│ ├── onboarding.ts
│ ├── wallets.ts
│ ├── toast.tsx
│ ├── app.ts
│ ├── iconfont.json
│ ├── proposal.ts
│ ├── colors.ts
│ ├── verifiedSpaces.json
│ └── navigation.ts
├── images
│ ├── Icon167.png
│ └── walletConnectLogo.png
├── types
│ ├── context.ts
│ ├── proposal.ts
│ └── explore.ts
└── i18n
│ └── index.ts
├── appcenter-pre-build.sh
├── assets
├── icon.png
├── favicon.png
├── splash.png
├── adaptive-icon.png
└── font
│ ├── Calibre-Medium.ttf
│ └── Calibre-Semibold.ttf
├── android
├── app
│ ├── src
│ │ ├── main
│ │ │ ├── assets
│ │ │ │ ├── appcenter-config.json
│ │ │ │ └── fonts
│ │ │ │ │ ├── Entypo.ttf
│ │ │ │ │ ├── Feather.ttf
│ │ │ │ │ ├── Fontisto.ttf
│ │ │ │ │ ├── Ionicons.ttf
│ │ │ │ │ ├── Octicons.ttf
│ │ │ │ │ ├── Zocial.ttf
│ │ │ │ │ ├── AntDesign.ttf
│ │ │ │ │ ├── EvilIcons.ttf
│ │ │ │ │ ├── Foundation.ttf
│ │ │ │ │ ├── FontAwesome.ttf
│ │ │ │ │ ├── MaterialIcons.ttf
│ │ │ │ │ ├── SimpleLineIcons.ttf
│ │ │ │ │ ├── FontAwesome5_Solid.ttf
│ │ │ │ │ ├── FontAwesome5_Brands.ttf
│ │ │ │ │ ├── FontAwesome5_Regular.ttf
│ │ │ │ │ └── MaterialCommunityIcons.ttf
│ │ │ ├── res
│ │ │ │ ├── values-night
│ │ │ │ │ └── colors.xml
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ ├── ic_launcher_round.png
│ │ │ │ │ └── ic_launcher_foreground.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ ├── ic_launcher_round.png
│ │ │ │ │ └── ic_launcher_foreground.png
│ │ │ │ ├── drawable-hdpi
│ │ │ │ │ └── splashscreen_image.png
│ │ │ │ ├── drawable-mdpi
│ │ │ │ │ └── splashscreen_image.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ ├── ic_launcher_round.png
│ │ │ │ │ └── ic_launcher_foreground.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ ├── ic_launcher_round.png
│ │ │ │ │ └── ic_launcher_foreground.png
│ │ │ │ ├── drawable-xhdpi
│ │ │ │ │ └── splashscreen_image.png
│ │ │ │ ├── drawable-xxhdpi
│ │ │ │ │ └── splashscreen_image.png
│ │ │ │ ├── drawable-xxxhdpi
│ │ │ │ │ └── splashscreen_image.png
│ │ │ │ ├── drawable
│ │ │ │ │ └── splashscreen.xml
│ │ │ │ └── values
│ │ │ │ │ ├── colors.xml
│ │ │ │ │ ├── strings.xml
│ │ │ │ │ └── styles.xml
│ │ │ └── java
│ │ │ │ └── org
│ │ │ │ └── snapshot
│ │ │ │ └── generated
│ │ │ │ └── BasePackageList.java
│ │ └── debug
│ │ │ └── AndroidManifest.xml
│ ├── debug.keystore
│ ├── proguard-rules.pro
│ ├── build_defs.bzl
│ ├── BUCK
│ └── eas-build.gradle
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── build.gradle
├── gradle.properties
└── settings.gradle
├── appcenter-post-clone.sh
├── .env-example
├── .expo-shared
└── assets.json
├── metro.config.js
├── babel.config.js
├── .gitmodules
├── react-native.config.js
├── eas.json
├── README.md
├── index.js
├── tsconfig.json
├── app.json
├── shim.js
├── .gitignore
└── App.tsx
/ios/Config.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "tmp.xcconfig"
2 |
--------------------------------------------------------------------------------
/src/hooks/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hooks"
3 | }
4 |
--------------------------------------------------------------------------------
/src/styles/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "styles"
3 | }
4 |
--------------------------------------------------------------------------------
/src/context/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "context"
3 | }
4 |
--------------------------------------------------------------------------------
/src/helpers/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "helpers"
3 | }
4 |
--------------------------------------------------------------------------------
/src/screens/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "screens"
3 | }
4 |
--------------------------------------------------------------------------------
/src/styles/values.ts:
--------------------------------------------------------------------------------
1 | export const OPTION_BORDER_RADIUS = 9;
2 |
--------------------------------------------------------------------------------
/appcenter-pre-build.sh:
--------------------------------------------------------------------------------
1 | npm install jetifier@1.6.6
2 | npx jetify
3 |
--------------------------------------------------------------------------------
/src/components/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "components"
3 | }
4 |
--------------------------------------------------------------------------------
/src/constants/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "constants"
3 | }
4 |
--------------------------------------------------------------------------------
/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/assets/icon.png
--------------------------------------------------------------------------------
/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/assets/favicon.png
--------------------------------------------------------------------------------
/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/assets/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/assets/appcenter-config.json:
--------------------------------------------------------------------------------
1 | {
2 | "app_secret": "@string/APP_CENTER_ANDROID_SECRET"
3 | }
4 |
--------------------------------------------------------------------------------
/appcenter-post-clone.sh:
--------------------------------------------------------------------------------
1 | yarn install --network-concurrency 1 --network-timeout=600000 && yarn list --depth=0
2 |
3 |
--------------------------------------------------------------------------------
/src/images/Icon167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/src/images/Icon167.png
--------------------------------------------------------------------------------
/src/styles/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/src/styles/iconfont.ttf
--------------------------------------------------------------------------------
/android/app/debug.keystore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/debug.keystore
--------------------------------------------------------------------------------
/android/app/src/main/res/values-night/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/assets/font/Calibre-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/assets/font/Calibre-Medium.ttf
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "expo"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/assets/font/Calibre-Semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/assets/font/Calibre-Semibold.ttf
--------------------------------------------------------------------------------
/src/images/walletConnectLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/src/images/walletConnectLogo.png
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Entypo.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/Entypo.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Feather.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/Feather.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Fontisto.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/Fontisto.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/Ionicons.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Octicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/Octicons.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Zocial.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/Zocial.ttf
--------------------------------------------------------------------------------
/ios/snapshotapp/noop-file.swift:
--------------------------------------------------------------------------------
1 | //
2 | // @generated
3 | // A blank Swift file must be created for native modules with Swift files to work correctly.
4 | //
5 |
--------------------------------------------------------------------------------
/ios/snapshotapp/snapshotapp-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // Use this file to import your target's public headers that you would like to expose to Swift.
3 | //
4 |
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/AntDesign.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/AntDesign.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/EvilIcons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/EvilIcons.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/Foundation.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/Foundation.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/FontAwesome.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/FontAwesome.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/MaterialIcons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/MaterialIcons.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/SimpleLineIcons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/SimpleLineIcons.ttf
--------------------------------------------------------------------------------
/src/constants/sample-env.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | WALLET_CONNECT_API_KEY: "",
3 | SECURE_KEYCHAIN_SALT: "",
4 | INFURA_PROJECT_ID: "",
5 | PUSHER_APP_ID: "",
6 | };
7 |
--------------------------------------------------------------------------------
/src/types/context.ts:
--------------------------------------------------------------------------------
1 | export type ContextAction = {
2 | type: string;
3 | payload?: any;
4 | };
5 |
6 | export type ContextDispatch = (action: ContextAction) => void;
7 |
--------------------------------------------------------------------------------
/.env-example:
--------------------------------------------------------------------------------
1 | WALLET_CONNECT_API_KEY=
2 | SECURE_KEYCHAIN_SALT=
3 | INFURA_PROJECT_ID=
4 | PUSHER_APP_ID=
5 | PUSHER_KEY=
6 | APP_CENTER_ANDROID_SECRET=
7 | APP_CENTER_IOS_SECRET=
8 |
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/FontAwesome5_Brands.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/FontAwesome5_Brands.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/FontAwesome5_Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/FontAwesome5_Regular.ttf
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-hdpi/splashscreen_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/drawable-hdpi/splashscreen_image.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/splashscreen_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/drawable-mdpi/splashscreen_image.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon20.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon29.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon40.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon58.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon60.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon76.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon80.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon87.png
--------------------------------------------------------------------------------
/.expo-shared/assets.json:
--------------------------------------------------------------------------------
1 | {
2 | "12bb71342c6255bbf50437ec8f4441c083f47cdb74bd89160c15e4f43e52a1cb": true,
3 | "40b842e832070c58deac6aa9e08fa459302ee3f9da492c7e77d93d2fbf4a56fd": true
4 | }
5 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xhdpi/splashscreen_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/drawable-xhdpi/splashscreen_image.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxhdpi/splashscreen_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/drawable-xxhdpi/splashscreen_image.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon1024.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon120.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon152.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon167.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon180.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon29-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon29-1.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon40-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon40-1.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon40-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon40-2.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon58-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon58-1.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon80-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon80-1.png
--------------------------------------------------------------------------------
/metro.config.js:
--------------------------------------------------------------------------------
1 | // Learn more https://docs.expo.io/guides/customizing-metro
2 | const { getDefaultConfig } = require('expo/metro-config');
3 |
4 | module.exports = getDefaultConfig(__dirname);
5 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/splashscreen_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/drawable-xxxhdpi/splashscreen_image.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function (api) {
2 | api.cache(true);
3 | return {
4 | presets: ["babel-preset-expo"],
5 | plugins: ["react-native-reanimated/plugin"],
6 | };
7 | };
8 |
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon120-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/AppIcon.appiconset/Icon120-1.png
--------------------------------------------------------------------------------
/src/helpers/numUtils.ts:
--------------------------------------------------------------------------------
1 | export function getNumberWithOrdinal(n: number) {
2 | const s = ["th", "st", "nd", "rd"],
3 | v = n % 100;
4 | return n + (s[(v - 20) % 10] || s[v] || s[0]);
5 | }
6 |
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/SplashScreenBackground.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/SplashScreenBackground.imageset/image.png
--------------------------------------------------------------------------------
/src/constants/currencySymbols.json:
--------------------------------------------------------------------------------
1 | {
2 | "eur": "\u20AC",
3 | "hkd": "\u0024",
4 | "jpy": "\u00A5",
5 | "php": "\u20B1",
6 | "rub": "\u20BD",
7 | "sgd": "\u0024",
8 | "usd": "\u0024"
9 | }
10 |
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/SplashScreen.imageset/splashscreen_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/SplashScreen.imageset/splashscreen_image.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/SplashScreen.imageset/splashscreen_image-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/SplashScreen.imageset/splashscreen_image-1.png
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/SplashScreen.imageset/splashscreen_image-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snapshot-labs-archived/snapshot-app/HEAD/ios/snapshotapp/Images.xcassets/SplashScreen.imageset/splashscreen_image-2.png
--------------------------------------------------------------------------------
/src/helpers/snapshotClient.ts:
--------------------------------------------------------------------------------
1 | import Client from "@snapshot-labs/snapshot.js/src/client";
2 |
3 | export const hubUrl: string = "https://hub.snapshot.org";
4 | const client = new Client(hubUrl);
5 |
6 | export default client;
7 |
--------------------------------------------------------------------------------
/src/styles/fonts.ts:
--------------------------------------------------------------------------------
1 | export const fontStyles = {
2 | normal: {
3 | fontFamily: "Calibre-Medium",
4 | },
5 | bold: {
6 | fontFamily: "Calibre-Semibold",
7 | },
8 | };
9 |
10 | export default fontStyles;
11 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "snapshot-plugins"]
2 | path = snapshot-plugins
3 | url = https://github.com/snapshot-labs/snapshot-plugins
4 | [submodule "snapshot-spaces"]
5 | path = snapshot-spaces
6 | url = https://github.com/snapshot-labs/snapshot-spaces
7 |
--------------------------------------------------------------------------------
/react-native.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | dependencies: {
3 | "react-native-pusher-push-notifications": {
4 | platforms: {
5 | android: null, // this skips autolink for android
6 | },
7 | },
8 | },
9 | };
10 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/splashscreen.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ios/snapshotapp/main.m:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #import "AppDelegate.h"
4 |
5 | int main(int argc, char * argv[]) {
6 | @autoreleasepool {
7 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
8 | }
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/src/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import * as Localization from 'expo-localization';
2 | import i18n from 'i18n-js';
3 | import en from './en';
4 |
5 | i18n.translations = {
6 | en,
7 | };
8 |
9 | i18n.defaultLocale = 'en';
10 | i18n.locale = Localization.locale;
11 | i18n.fallbacks = true;
12 |
--------------------------------------------------------------------------------
/src/constants/networks.ts:
--------------------------------------------------------------------------------
1 | export const MAINNET = "mainnet";
2 | export const ROPSTEN = "ropsten";
3 | export const KOVAN = "kovan";
4 | export const RINKEBY = "rinkeby";
5 | export const GOERLI = "goerli";
6 | export const RPC = "rpc";
7 | export const NO_RPC_BLOCK_EXPLORER = "NO_BLOCK_EXPLORER";
8 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sat Dec 18 11:03:14 EST 2021
2 | distributionBase=GRADLE_USER_HOME
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/ios/AppCenter-Config.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AppSecret
6 | $(APP_CENTER_IOS_SECRET)
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/constants/onboarding.ts:
--------------------------------------------------------------------------------
1 | import i18n from "i18n-js";
2 |
3 | export const createChoosePasswordSteps = () => [
4 | i18n.t("choosePasswordTitle"),
5 | i18n.t("choosePasswordSecure"),
6 | i18n.t("choosePasswordConfirm"),
7 | ];
8 |
9 | export const WRONG_PASSWORD_ERROR = "Error: Decrypt failed";
10 |
--------------------------------------------------------------------------------
/ios/snapshotapp/snapshot.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | aps-environment
6 | development
7 |
8 |
--------------------------------------------------------------------------------
/ios/snapshotapp.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/snapshotapp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #ffffff
4 | #FFFFFF
5 | #023c69
6 | #ffffff
7 |
--------------------------------------------------------------------------------
/eas.json:
--------------------------------------------------------------------------------
1 | {
2 | "build": {
3 | "release": {},
4 | "development": {
5 | "distribution": "internal",
6 | "android": {
7 | "gradleCommand": ":app:assembleDebug"
8 | },
9 | "ios": {
10 | "buildConfiguration": "Debug"
11 | }
12 | }
13 | },
14 | "submit": {
15 | "release": {}
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/ios/snapshotapp/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import
4 | #import
5 |
6 | #import
7 |
8 | @interface AppDelegate : UMAppDelegateWrapper
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # snapshot-app
2 |
3 | ### Install dependencies
4 |
5 | ```
6 | yarn
7 | ```
8 |
9 | - Also copy .env-example and rename to .env with your own environment variables
10 |
11 | ### Extra step to install for iOS
12 |
13 | ```
14 | cd ios
15 | pod install
16 | ```
17 |
18 | ### Run project
19 |
20 | ```
21 | yarn ios
22 | yarn android
23 | ```
24 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | import "react-native-gesture-handler";
2 | import { registerRootComponent } from "expo";
3 | import "./shim";
4 | import App from "./App";
5 |
6 | // registerRootComponent calls AppRegistry.registerComponent('main', () => App);
7 | // It also ensures that whether you load the app in Expo Go or in a native build,
8 | // the environment is set up appropriately
9 | registerRootComponent(App);
10 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Snapshot
4 | DO_NOT_ASK_JAVASCRIPT
5 | ALWAYS_SEND
6 |
7 |
--------------------------------------------------------------------------------
/src/helpers/voting/index.ts:
--------------------------------------------------------------------------------
1 | import singleChoice from "./singleChoice";
2 | import approval from "./approval";
3 | import quadratic from "./quadratic";
4 | import rankedChoice from "./rankedChoice";
5 | import weighted from "./weighted";
6 |
7 | export default {
8 | "single-choice": singleChoice,
9 | approval,
10 | quadratic,
11 | "ranked-choice": rankedChoice,
12 | weighted,
13 | basic: singleChoice,
14 | };
15 |
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/SplashScreenBackground.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "universal",
5 | "filename": "image.png",
6 | "scale": "1x"
7 | },
8 | {
9 | "idiom": "universal",
10 | "scale": "2x"
11 | },
12 | {
13 | "idiom": "universal",
14 | "scale": "3x"
15 | }
16 | ],
17 | "info": {
18 | "version": 1,
19 | "author": "expo"
20 | }
21 | }
--------------------------------------------------------------------------------
/src/types/proposal.ts:
--------------------------------------------------------------------------------
1 | import { Space } from "types/explore";
2 |
3 | export type Proposal = {
4 | author: string;
5 | body: string;
6 | created: number;
7 | end: number;
8 | id: string;
9 | space: Space;
10 | start: number;
11 | state: string;
12 | title: string;
13 | snapshot: string;
14 | type: string;
15 | strategies: any;
16 | choices: string[];
17 | votes: number;
18 | scores_state: string;
19 | scores_total: number;
20 | scores: number[];
21 | };
22 |
--------------------------------------------------------------------------------
/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
--------------------------------------------------------------------------------
/src/helpers/password.ts:
--------------------------------------------------------------------------------
1 | export const MIN_PASSWORD_LENGTH = 8;
2 |
3 | export const getPasswordStrengthWord = (strength: number) => {
4 | switch (strength) {
5 | case 0:
6 | return "Weak";
7 | case 1:
8 | return "Weak";
9 | case 2:
10 | return "Weak";
11 | case 3:
12 | return "Good";
13 | case 4:
14 | return "Strong";
15 | }
16 | };
17 |
18 | export const passwordRequirementsMet = (password: string) =>
19 | password.length >= MIN_PASSWORD_LENGTH;
20 |
--------------------------------------------------------------------------------
/src/helpers/apolloClient.ts:
--------------------------------------------------------------------------------
1 | import {
2 | ApolloClient,
3 | createHttpLink,
4 | InMemoryCache,
5 | } from "@apollo/client/core";
6 |
7 | // HTTP connection to the API
8 | const httpLink = createHttpLink({
9 | uri: `https://hub.snapshot.org/graphql`,
10 | });
11 |
12 | const apolloClient = new ApolloClient({
13 | link: httpLink,
14 | cache: new InMemoryCache({
15 | addTypename: false,
16 | }),
17 | defaultOptions: {
18 | query: {
19 | fetchPolicy: "no-cache",
20 | },
21 | },
22 | });
23 |
24 | export default apolloClient;
25 |
--------------------------------------------------------------------------------
/src/helpers/phoneUtils.ts:
--------------------------------------------------------------------------------
1 | import { Platform } from "react-native";
2 | import DeviceInfo from "react-native-device-info";
3 | import includes from "lodash/includes";
4 |
5 | export function isOldIphone() {
6 | if (Platform.OS === "android") return false;
7 | const deviceId = DeviceInfo.getDeviceId();
8 | const deviceIdLowered = deviceId?.toLowerCase() || "";
9 | if (
10 | includes(deviceIdLowered, "iphone7") ||
11 | includes(deviceIdLowered, "iphone8") ||
12 | includes(deviceIdLowered, "iphone9")
13 | ) {
14 | return true;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/ios/snapshotapp/Images.xcassets/SplashScreen.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "splashscreen_image.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "filename" : "splashscreen_image-1.png",
10 | "idiom" : "universal",
11 | "scale" : "2x"
12 | },
13 | {
14 | "filename" : "splashscreen_image-2.png",
15 | "idiom" : "universal",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "author" : "xcode",
21 | "version" : 1
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/helpers/devApolloClient.ts:
--------------------------------------------------------------------------------
1 | import {
2 | ApolloClient,
3 | createHttpLink,
4 | InMemoryCache,
5 | } from "@apollo/client/core";
6 |
7 | // HTTP connection to the API
8 | const httpLink = createHttpLink({
9 | uri: `https://snap-hack-hub.herokuapp.com/graphql`,
10 | });
11 |
12 | const devApolloClient = new ApolloClient({
13 | link: httpLink,
14 | cache: new InMemoryCache({
15 | addTypename: false,
16 | }),
17 | defaultOptions: {
18 | query: {
19 | fetchPolicy: "no-cache",
20 | },
21 | },
22 | });
23 |
24 | export default devApolloClient;
25 |
--------------------------------------------------------------------------------
/src/helpers/voting/walletTypes.ts:
--------------------------------------------------------------------------------
1 | export interface WalletFollow {
2 | from?: string;
3 | wallet: string;
4 | timestamp?: number;
5 | }
6 |
7 | export interface WalletUnfollow {
8 | from?: string;
9 | wallet: string;
10 | timestamp?: number;
11 | }
12 |
13 | export const walletFollowTypes = {
14 | WalletFollow: [
15 | { name: "from", type: "address" },
16 | { name: "wallet", type: "string" },
17 | ],
18 | };
19 |
20 | export const walletUnfollowTypes = {
21 | WalletUnfollow: [
22 | { name: "from", type: "address" },
23 | { name: "wallet", type: "string" },
24 | ],
25 | };
26 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "expo/tsconfig.base",
3 | "compilerOptions": {
4 | "jsx": "react",
5 | "strict": true,
6 | "baseUrl": "./src",
7 | "paths": {
8 | "api/*": ["./api/*"],
9 | "components/*": ["./components/*"],
10 | "context/*": ["./context/*"],
11 | "constants/*": ["./constants/*"],
12 | "images/*": ["./images/*"],
13 | "screens/*": ["./screens/*"],
14 | "styles/*": ["./styles/*"],
15 | "types/*": ["./types/*"],
16 | "i18n/*": ["./i18n/*"],
17 | "helpers/*": ["./helpers/*"]
18 | },
19 | "typeRoots": ["./src/types"]
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/ios/snapshotapp/Supporting/Expo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | EXUpdatesCheckOnLaunch
6 | ALWAYS
7 | EXUpdatesEnabled
8 |
9 | EXUpdatesLaunchWaitMs
10 | 0
11 | EXUpdatesReleaseChannel
12 | default
13 | EXUpdatesSDKVersion
14 | 42.0.0
15 | EXUpdatesURL
16 | https://exp.host/@jmmyers36/snapshot-app
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/helpers/voting/spaceUtils.ts:
--------------------------------------------------------------------------------
1 | import { ContextDispatch } from "types/context";
2 | import { SPACES_QUERY } from "helpers/queries";
3 | import apolloClient from "helpers/apolloClient";
4 | import { EXPLORE_ACTIONS } from "context/exploreContext";
5 |
6 | export async function setSpaceDetails(
7 | spaceId: string,
8 | exploreDispatch: ContextDispatch
9 | ) {
10 | const query = {
11 | query: SPACES_QUERY,
12 | variables: {
13 | id_in: [spaceId],
14 | },
15 | };
16 | const result: any = await apolloClient.query(query);
17 | exploreDispatch({
18 | type: EXPLORE_ACTIONS.UPDATE_SPACES,
19 | payload: result.data.spaces,
20 | });
21 | }
22 |
--------------------------------------------------------------------------------
/android/app/build_defs.bzl:
--------------------------------------------------------------------------------
1 | """Helper definitions to glob .aar and .jar targets"""
2 |
3 | def create_aar_targets(aarfiles):
4 | for aarfile in aarfiles:
5 | name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
6 | lib_deps.append(":" + name)
7 | android_prebuilt_aar(
8 | name = name,
9 | aar = aarfile,
10 | )
11 |
12 | def create_jar_targets(jarfiles):
13 | for jarfile in jarfiles:
14 | name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
15 | lib_deps.append(":" + name)
16 | prebuilt_jar(
17 | name = name,
18 | binary_jar = jarfile,
19 | )
20 |
--------------------------------------------------------------------------------
/src/components/ActivityIndicator.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { ActivityIndicator } from "react-native-paper";
3 | import { ViewProps } from "react-native";
4 | import Device from "helpers/device";
5 |
6 | interface ActivityIndicatorProps {
7 | animating?: boolean;
8 | color: string;
9 | size?: "small" | "large" | number;
10 | hidesWhenStopped?: boolean;
11 | style?: ViewProps;
12 | }
13 |
14 | function ActivityIndicatorComponent(props: ActivityIndicatorProps) {
15 | let size = props.size;
16 | if (size === "small" && Device.isAndroid()) {
17 | size = 30;
18 | }
19 | return ;
20 | }
21 |
22 | export default ActivityIndicatorComponent;
23 |
--------------------------------------------------------------------------------
/src/components/CustomTouchableNativeFeedback.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { TouchableNativeFeedback } from "react-native-gesture-handler";
3 |
4 | interface CustomTouchableNativeFeedbackProps {
5 | children: React.FC;
6 | style: any;
7 | }
8 |
9 | function CustomTouchableNativeFeedback({
10 | children,
11 | style,
12 | ...props
13 | }: CustomTouchableNativeFeedbackProps) {
14 | return (
15 |
20 | {children}
21 |
22 | );
23 | }
24 |
25 | export default CustomTouchableNativeFeedback;
26 |
--------------------------------------------------------------------------------
/src/components/LoginButton.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { useNavigation } from "@react-navigation/native";
3 | import i18n from "i18n-js";
4 | import { WALLET_CONNECT_SCREEN } from "constants/navigation";
5 | import Button from "./Button";
6 | import { StackNavigationProp } from "@react-navigation/stack";
7 | import { RootStackParamsList } from "types/navigationTypes";
8 |
9 | function LoginButton() {
10 | const navigation = useNavigation>();
11 | return (
12 |