321 changed files with 22740 additions and 5404 deletions
@ -0,0 +1,6 @@ |
|||||
|
# Admin DID credentials |
||||
|
ADMIN_DID=did:ethr:0x0000694B58C2cC69658993A90D3840C560f2F51F |
||||
|
ADMIN_PRIVATE_KEY=2b6472c026ec2aa2c4235c994a63868fc9212d18b58f6cbfe861b52e71330f5b |
||||
|
|
||||
|
# API Configuration |
||||
|
ENDORSER_API_URL=https://test-api.endorser.ch/api/v2/claim |
@ -0,0 +1,5 @@ |
|||||
|
source "https://rubygems.org" |
||||
|
|
||||
|
gem "fastlane" |
||||
|
gem "cocoapods" |
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,2 @@ |
|||||
|
#Tue Mar 11 10:01:05 UTC 2025 |
||||
|
gradle.version=8.10.2 |
Binary file not shown.
@ -0,0 +1,3 @@ |
|||||
|
source "https://rubygems.org" |
||||
|
|
||||
|
gem "fastlane" |
@ -0,0 +1,398 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<issues format="6" by="lint 8.1.0" type="baseline" client="gradle" dependencies="true" name="AGP (8.1.0)" variant="all" version="8.1.0"> |
||||
|
|
||||
|
<issue |
||||
|
id="UnknownIssueId" |
||||
|
message="Unknown issue id "UnsanitizedFilenameFromContentProvider"" |
||||
|
errorLine1=" disable 'UnsanitizedFilenameFromContentProvider'" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="26" |
||||
|
column="18"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="UnknownIssueId" |
||||
|
message="Unknown issue id "UnsanitizedFilenameFromContentProvider"" |
||||
|
errorLine1=" disable 'UnsanitizedFilenameFromContentProvider'" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="26" |
||||
|
column="18"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="UnknownIssueId" |
||||
|
message="Unknown issue id "LintBaselineFixed"" |
||||
|
errorLine1=" ignore 'LintBaselineFixed'" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="34" |
||||
|
column="17"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="UnknownIssueId" |
||||
|
message="Unknown issue id "LintBaselineFixed"" |
||||
|
errorLine1=" ignore 'LintBaselineFixed'" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="34" |
||||
|
column="17"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="DefaultLocale" |
||||
|
message="Implicitly using the default locale is a common source of bugs: Use `String.format(Locale, ...)` instead" |
||||
|
errorLine1=" String msg = String.format(" |
||||
|
errorLine2=" ^"> |
||||
|
<location |
||||
|
file="src/main/java/com/getcapacitor/BridgeWebChromeClient.java" |
||||
|
line="467" |
||||
|
column="26"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="DefaultLocale" |
||||
|
message="Implicitly using the default locale is a common source of bugs: Use `toUpperCase(Locale)` instead. For strings meant to be internal use `Locale.ROOT`, otherwise `Locale.getDefault()`." |
||||
|
errorLine1=" return mask.toUpperCase().equals(string.toUpperCase());" |
||||
|
errorLine2=" ~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="src/main/java/com/getcapacitor/util/HostMask.java" |
||||
|
line="110" |
||||
|
column="29"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="DefaultLocale" |
||||
|
message="Implicitly using the default locale is a common source of bugs: Use `toUpperCase(Locale)` instead. For strings meant to be internal use `Locale.ROOT`, otherwise `Locale.getDefault()`." |
||||
|
errorLine1=" return mask.toUpperCase().equals(string.toUpperCase());" |
||||
|
errorLine2=" ~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="src/main/java/com/getcapacitor/util/HostMask.java" |
||||
|
line="110" |
||||
|
column="57"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="DefaultLocale" |
||||
|
message="Implicitly using the default locale is a common source of bugs: Use `toLowerCase(Locale)` instead. For strings meant to be internal use `Locale.ROOT`, otherwise `Locale.getDefault()`." |
||||
|
errorLine1=" if (header.getKey().equalsIgnoreCase("Accept") && header.getValue().toLowerCase().contains("text/html")) {" |
||||
|
errorLine2=" ~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="src/main/java/com/getcapacitor/WebViewLocalServer.java" |
||||
|
line="474" |
||||
|
column="93"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="SimpleDateFormat" |
||||
|
message="To get local formatting use `getDateInstance()`, `getDateTimeInstance()`, or `getTimeInstance()`, or use `new SimpleDateFormat(String template, Locale locale)` with for example `Locale.US` for ASCII dates." |
||||
|
errorLine1=" String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="src/main/java/com/getcapacitor/BridgeWebChromeClient.java" |
||||
|
line="504" |
||||
|
column="28"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="SimpleDateFormat" |
||||
|
message="To get local formatting use `getDateInstance()`, `getDateTimeInstance()`, or `getTimeInstance()`, or use `new SimpleDateFormat(String template, Locale locale)` with for example `Locale.US` for ASCII dates." |
||||
|
errorLine1=" DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'");" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="src/main/java/com/getcapacitor/PluginResult.java" |
||||
|
line="44" |
||||
|
column="25"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="UnusedAttribute" |
||||
|
message="Attribute `usesCleartextTraffic` is only used in API level 23 and higher (current min is 22)" |
||||
|
errorLine1="<application android:usesCleartextTraffic="true">" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="src/main/AndroidManifest.xml" |
||||
|
line="4" |
||||
|
column="15"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="UnusedAttribute" |
||||
|
message="Attribute `autoVerify` is only used in API level 23 and higher (current min is 22)" |
||||
|
errorLine1=" <intent-filter android:autoVerify="true">" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="src/main/AndroidManifest.xml" |
||||
|
line="25" |
||||
|
column="28"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="ManifestOrder" |
||||
|
message="`<uses-permission>` tag appears after `<application>` tag" |
||||
|
errorLine1=" <uses-permission android:name="android.permission.INTERNET" />" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="src/main/AndroidManifest.xml" |
||||
|
line="47" |
||||
|
column="6"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="AndroidGradlePluginVersion" |
||||
|
message="A newer version of com.android.tools.build:gradle than 8.2.1 is available: 8.9.0. (There is also a newer version of 8.2.𝑥 available, if upgrading to 8.9.0 is difficult: 8.2.2)" |
||||
|
errorLine1=" classpath 'com.android.tools.build:gradle:8.2.1'" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="12" |
||||
|
column="9"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="AndroidGradlePluginVersion" |
||||
|
message="A newer version of com.android.tools.build:gradle than 8.2.1 is available: 8.9.0. (There is also a newer version of 8.2.𝑥 available, if upgrading to 8.9.0 is difficult: 8.2.2)" |
||||
|
errorLine1=" classpath 'com.android.tools.build:gradle:8.2.1'" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="18" |
||||
|
column="9"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="GradleDependency" |
||||
|
message="A newer version of androidx.appcompat:appcompat than 1.6.1 is available: 1.7.0" |
||||
|
errorLine1=" implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="46" |
||||
|
column="20"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="GradleDependency" |
||||
|
message="A newer version of androidx.appcompat:appcompat than 1.6.1 is available: 1.7.0" |
||||
|
errorLine1=" implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="46" |
||||
|
column="20"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="GradleDependency" |
||||
|
message="A newer version of androidx.coordinatorlayout:coordinatorlayout than 1.2.0 is available: 1.3.0" |
||||
|
errorLine1=" implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion"" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="47" |
||||
|
column="20"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="GradleDependency" |
||||
|
message="A newer version of androidx.test.ext:junit than 1.1.5 is available: 1.2.1" |
||||
|
errorLine1=" androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="51" |
||||
|
column="31"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="GradleDependency" |
||||
|
message="A newer version of androidx.test.espresso:espresso-core than 3.5.1 is available: 3.6.1" |
||||
|
errorLine1=" androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="52" |
||||
|
column="31"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="GradleDependency" |
||||
|
message="A newer version of androidx.appcompat:appcompat than 1.6.1 is available: 1.7.0" |
||||
|
errorLine1=" implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="75" |
||||
|
column="20"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="GradleDependency" |
||||
|
message="A newer version of androidx.test.ext:junit than 1.1.5 is available: 1.2.1" |
||||
|
errorLine1=" androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="77" |
||||
|
column="31"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="GradleDependency" |
||||
|
message="A newer version of androidx.test.espresso:espresso-core than 3.5.1 is available: 3.6.1" |
||||
|
errorLine1=" androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="build.gradle" |
||||
|
line="78" |
||||
|
column="31"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="Recycle" |
||||
|
message="This `TypedArray` should be recycled after use with `#recycle()`" |
||||
|
errorLine1=" TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.bridge_fragment);" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="src/main/java/com/getcapacitor/BridgeFragment.java" |
||||
|
line="99" |
||||
|
column="32"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="Overdraw" |
||||
|
message="Possible overdraw: Root element paints background `#F0FF1414` with a theme that also paints a background (inferred theme is `@android:style/Theme.Holo`)" |
||||
|
errorLine1=" android:background="#F0FF1414"" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="src/main/res/layout/fragment_bridge.xml" |
||||
|
line="5" |
||||
|
column="5"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="UnusedResources" |
||||
|
message="The resource `R.layout.activity_main` appears to be unused" |
||||
|
errorLine1="<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"" |
||||
|
errorLine2="^"> |
||||
|
<location |
||||
|
file="src/main/res/layout/activity_main.xml" |
||||
|
line="2" |
||||
|
column="1"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="UnusedResources" |
||||
|
message="The resource `R.xml.config` appears to be unused" |
||||
|
errorLine1="<widget version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">" |
||||
|
errorLine2="^"> |
||||
|
<location |
||||
|
file="src/main/res/xml/config.xml" |
||||
|
line="2" |
||||
|
column="1"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="UnusedResources" |
||||
|
message="The resource `R.drawable.ic_launcher_background` appears to be unused" |
||||
|
errorLine1="<vector xmlns:android="http://schemas.android.com/apk/res/android"" |
||||
|
errorLine2="^"> |
||||
|
<location |
||||
|
file="src/main/res/drawable/ic_launcher_background.xml" |
||||
|
line="2" |
||||
|
column="1"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="UnusedResources" |
||||
|
message="The resource `R.drawable.ic_launcher_foreground` appears to be unused" |
||||
|
errorLine1="<vector xmlns:android="http://schemas.android.com/apk/res/android"" |
||||
|
errorLine2="^"> |
||||
|
<location |
||||
|
file="src/main/res/drawable-v24/ic_launcher_foreground.xml" |
||||
|
line="1" |
||||
|
column="1"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="UnusedResources" |
||||
|
message="The resource `R.string.package_name` appears to be unused" |
||||
|
errorLine1=" <string name="package_name">app.timesafari.app</string>" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="src/main/res/values/strings.xml" |
||||
|
line="5" |
||||
|
column="13"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="UnusedResources" |
||||
|
message="The resource `R.string.custom_url_scheme` appears to be unused" |
||||
|
errorLine1=" <string name="custom_url_scheme">app.timesafari.app</string>" |
||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> |
||||
|
<location |
||||
|
file="src/main/res/values/strings.xml" |
||||
|
line="6" |
||||
|
column="13"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="MonochromeLauncherIcon" |
||||
|
message="The application adaptive icon is missing a monochrome tag" |
||||
|
errorLine1="<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">" |
||||
|
errorLine2="^"> |
||||
|
<location |
||||
|
file="src/main/res/mipmap-anydpi-v26/ic_launcher.xml" |
||||
|
line="2" |
||||
|
column="1"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="MonochromeLauncherIcon" |
||||
|
message="The application adaptive roundIcon is missing a monochrome tag" |
||||
|
errorLine1="<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">" |
||||
|
errorLine2="^"> |
||||
|
<location |
||||
|
file="src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml" |
||||
|
line="2" |
||||
|
column="1"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="IconDipSize" |
||||
|
message="The image `splash.png` varies significantly in its density-independent (dip) size across the various density versions: drawable-land-hdpi/splash.png: 533x320 dp (800x480 px), drawable-land-mdpi/splash.png: 480x320 dp (480x320 px), drawable-land-xhdpi/splash.png: 640x360 dp (1280x720 px), drawable-land-xxhdpi/splash.png: 533x320 dp (1600x960 px), drawable-land-xxxhdpi/splash.png: 480x320 dp (1920x1280 px)"> |
||||
|
<location |
||||
|
file="src/main/res/drawable-land-mdpi/splash.png"/> |
||||
|
<location |
||||
|
file="src/main/res/drawable-land-xxxhdpi/splash.png"/> |
||||
|
<location |
||||
|
file="src/main/res/drawable-land-hdpi/splash.png"/> |
||||
|
<location |
||||
|
file="src/main/res/drawable-land-xxhdpi/splash.png"/> |
||||
|
<location |
||||
|
file="src/main/res/drawable-land-xhdpi/splash.png"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="IconDuplicatesConfig" |
||||
|
message="The `splash.png` icon has identical contents in the following configuration folders: drawable-land-mdpi, drawable"> |
||||
|
<location |
||||
|
file="src/main/res/drawable/splash.png"/> |
||||
|
<location |
||||
|
file="src/main/res/drawable-land-mdpi/splash.png"/> |
||||
|
</issue> |
||||
|
|
||||
|
<issue |
||||
|
id="IconLocation" |
||||
|
message="Found bitmap drawable `res/drawable/splash.png` in densityless folder"> |
||||
|
<location |
||||
|
file="src/main/res/drawable/splash.png"/> |
||||
|
</issue> |
||||
|
|
||||
|
</issues> |
@ -0,0 +1,21 @@ |
|||||
|
{ |
||||
|
"appId": "app.timesafari.app", |
||||
|
"appName": "TimeSafari", |
||||
|
"webDir": "dist", |
||||
|
"bundledWebRuntime": false, |
||||
|
"server": { |
||||
|
"cleartext": true |
||||
|
}, |
||||
|
"plugins": { |
||||
|
"App": { |
||||
|
"appUrlOpen": { |
||||
|
"handlers": [ |
||||
|
{ |
||||
|
"url": "timesafari://*", |
||||
|
"autoVerify": true |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,6 @@ |
|||||
|
[ |
||||
|
{ |
||||
|
"pkg": "@capacitor/app", |
||||
|
"classpath": "com.capacitorjs.plugins.app.AppPlugin" |
||||
|
} |
||||
|
] |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
var h=Object.defineProperty;var f=(a,e,t)=>e in a?h(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var o=(a,e,t)=>f(a,typeof e!="symbol"?e+"":e,t);import{V as g,f as w,a as v,l as C,C as x,_ as y,j as S,k as u,m as l,o as b,p as _,x as $,F as D,B as d,E as N}from"./main.common-CyN0wKDJ.js";import{Q as V}from"./QuickNav-knx6iT2l.js";import{j as k,g as E,x as F,e as J,v as A}from"./index-BuQXBPSi.js";import"./index-DVAb2BqV.js";import"./index-B6aF1R1z.js";import"./_isString-BCVd99Zj.js";var I=Object.getOwnPropertyDescriptor,O=(a,e,t,i)=>{for(var s=i>1?void 0:i?I(e,t):e,r=a.length-1,n;r>=0;r--)(n=a[r])&&(s=n(s)||s);return s};let m=class extends g{constructor(){super(...arguments);o(this,"$notify");o(this,"$route");o(this,"$router");o(this,"axios");o(this,"accountIdentityStr","null");o(this,"activeDid","");o(this,"apiServer","");o(this,"claimStr","")}async mounted(){await this.initializeSettings(),await this.loadClaimData()}async initializeSettings(){const t=await w();this.activeDid=t.activeDid||"",this.apiServer=t.apiServer||""}async loadClaimData(){await this.loadClaimFromQueryParam()||await this.loadClaimFromJwtId()}async loadClaimFromQueryParam(){if(this.claimStr=this.$route.query.claim||"",!this.claimStr)return!1;try{const t=JSON.parse(this.claimStr);return this.claimStr=JSON.stringify(t,null,2),!0}catch{return!1}}async loadClaimFromJwtId(){const t=this.$route.query.claimJwtId||"";if(!t)return;const i=k(t)?"/api/claim/byHandle/":"/api/claim/",s=this.apiServer+i+encodeURIComponent(t);try{const r=await this.fetchClaimData(s);this.formatClaimResponse(r,t)}catch(r){this.handleClaimError(r)}}async fetchClaimData(t){const i=await E(this.activeDid);return await this.axios.get(t,{headers:i})}formatClaimResponse(t,i){var s;if(t.status===200){const r=(s=t.data)==null?void 0:s.claim;r.lastClaimId=F(i),this.claimStr=JSON.stringify(r,null,2)}else throw{message:"Got an error loading that claim.",response:{status:t.status,statusText:t.statusText}}}handleClaimError(t){v("Error retrieving claim: "+J(t),!0),this.$notify({group:"alert",type:"danger",title:"Error",text:"Got an error retrieving claim data."},3e3)}async submitClaim(){const t=JSON.parse(this.claimStr),i=await A(t,this.activeDid,this.apiServer,this.axios);i.type==="success"?this.$notify({group:"alert",type:"success",title:"Success",text:"Claim submitted."},5e3):(C.error("Got error submitting the claim:",i),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem submitting the claim."},5e3))}};m=O([x({components:{QuickNav:V}})],m);const R={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},P={id:"ViewBreadcrumb",class:"mb-8"},Q={class:"text-lg text-center font-light relative px-7"},B={class:"flex"};function T(a,e,t,i,s,r){const n=d("QuickNav"),p=d("font-awesome");return N(),S(D,null,[u(n),l("section",R,[l("div",P,[l("h1",Q,[l("button",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=c=>a.$router.back())},[u(p,{icon:"chevron-left",class:"fa-fw"})]),e[3]||(e[3]=b(" Raw Claim "))])]),l("div",B,[_(l("textarea",{"onUpdate:modelValue":e[1]||(e[1]=c=>a.claimStr=c),rows:"20",class:"border-2 w-full"},null,512),[[$,a.claimStr]])]),l("button",{class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md",onClick:e[2]||(e[2]=c=>a.submitClaim())}," Sign & Send ")])],64)}const K=y(m,[["render",T]]);export{K as default}; |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
.tooltip{position:relative;display:inline-block;border-bottom:1px dotted black}.tooltip .tooltiptext{visibility:hidden;width:200px;background-color:#000;color:#fff;text-align:center;padding:5px 0;border-radius:6px;position:absolute;z-index:1}.tooltip:hover .tooltiptext,.tooltip:hover .tooltiptext-left{visibility:visible} |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
import{V as m,C as x,_ as u,j as _,m as c,K as f,k as d,o as b,w as v,B as i,E as w}from"./main.common-CyN0wKDJ.js";import"./index-DVAb2BqV.js";var g=Object.getOwnPropertyDescriptor,C=(o,t,r,a)=>{for(var e=a>1?void 0:a?g(t,r):t,s=o.length-1,n;s>=0;s--)(n=o[s])&&(e=n(e)||e);return e};let l=class extends m{};l=C([x({components:{}})],l);const h={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},k={id:"ViewBreadcrumb",class:"mb-8"},V={class:"text-lg text-center font-light relative px-7"};function y(o,t,r,a,e,s){const n=i("font-awesome"),p=i("router-link");return w(),_("section",h,[c("div",k,[c("h1",V,[d(p,{to:{name:"account"},class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},{default:v(()=>[d(n,{icon:"chevron-left",class:"fa-fw"})]),_:1}),t[0]||(t[0]=b(" Confirm Contact "))])]),t[1]||(t[1]=f('<p class="text-center text-xl mb-4 font-light"> Would you like to add <i>Firstname</i> to your network? </p><div class="bg-slate-100 rounded-md overflow-hidden px-4 py-3 mb-4"><h2 class="text-xl font-semibold mb-2">Firstname Lastname</h2><div class="text-slate-500 text-sm font-bold">ID</div><div class="text-sm text-slate-500 mb-1"><span><code>did:peer:kl45kj41lk451kl3</code></span></div></div><div class="mt-8"><div class="grid grid-cols-1 sm:grid-cols-2 gap-2"><input type="submit" class="block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md" value="Add Contact"><button type="button" class="block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md"> Cancel </button></div></div>',3))])}const j=u(l,[["render",y]]);export{j as default}; |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
var y=Object.defineProperty;var v=(o,t,e)=>t in o?y(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var n=(o,t,e)=>v(o,typeof t!="symbol"?t+"":t,e);import{V as C,f as k,e as D,l as $,C as G,_ as j,j as u,k as a,m as s,o as _,w as V,F as g,G as E,B as p,E as f,t as I}from"./main.common-CyN0wKDJ.js";import{G as N}from"./GiftedDialog-Pytrg6u7.js";import{Q as B}from"./QuickNav-knx6iT2l.js";import{E as S}from"./EntityIcon-BCaUw-N4.js";import{_ as Q}from"./blank-square-D9dGgMJw.js";import"./index-DVAb2BqV.js";import"./index-BuQXBPSi.js";import"./index-B6aF1R1z.js";import"./_isString-BCVd99Zj.js";var A=Object.getOwnPropertyDescriptor,F=(o,t,e,r)=>{for(var i=r>1?void 0:r?A(t,e):t,c=o.length-1,d;c>=0;c--)(d=o[c])&&(i=d(i)||i);return i};let b=class extends C{constructor(){super(...arguments);n(this,"$notify");n(this,"$route");n(this,"$router");n(this,"activeDid","");n(this,"allContacts",[]);n(this,"apiServer","");n(this,"description","");n(this,"projectId","");n(this,"prompt","")}async created(){try{const e=await k();this.apiServer=e.apiServer||"",this.activeDid=e.activeDid||"";const r=await D.contacts.toArray();this.allContacts=r.sort((i,c)=>(i.name||"").localeCompare(c.name||"")),this.projectId=this.$route.query.projectId||"",this.prompt=this.$route.query.prompt??this.prompt}catch(e){$.error("Error retrieving settings & contacts:",e),this.$notify({group:"alert",type:"danger",title:"Error",text:e.message||"There was an error retrieving your settings or contacts."},5e3)}}openDialog(e){const r=this.projectId?void 0:{did:this.activeDid,name:"you"};this.$refs.customDialog.open(e,r,void 0,"Given by "+((e==null?void 0:e.name)||"someone not named"),this.prompt)}};b=F([G({components:{GiftedDialog:N,QuickNav:B,EntityIcon:S}})],b);const O={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},q={id:"ViewBreadcrumb",class:"mb-8"},P={class:"text-lg text-center font-light relative px-7"},T={class:"border-t border-slate-300"},U={class:"border-b border-slate-300 py-3"},z={class:"text-base flex gap-4 items-center"},H={class:"text-right"},L={class:"text-base flex gap-4 items-center"},J={class:"grow font-semibold"},K={class:"text-right"},M=["onClick"];function R(o,t,e,r,i,c){const d=p("QuickNav"),m=p("font-awesome"),h=p("router-link"),x=p("EntityIcon"),w=p("GiftedDialog");return f(),u(g,null,[a(d,{selected:"Home"}),s("section",O,[s("div",q,[s("h1",P,[a(h,{to:{name:"home"},class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},{default:V(()=>[a(m,{icon:"chevron-left",class:"fa-fw"})]),_:1}),t[1]||(t[1]=_(" Given by... "))])]),s("ul",T,[s("li",U,[s("h2",z,[t[2]||(t[2]=s("span",{class:"grow"},[s("img",{src:Q,width:"32",class:"inline-block align-middle border border-slate-300 rounded-md mr-1"}),_(" Unnamed/Unknown ")],-1)),s("span",H,[s("button",{type:"button",class:"block w-full text-center text-sm uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-3 py-1.5 rounded-md",onClick:t[0]||(t[0]=l=>o.openDialog())},[a(m,{icon:"gift",class:"fa-fw"})])])])]),(f(!0),u(g,null,E(o.allContacts,l=>(f(),u("li",{key:l.did,class:"border-b border-slate-300 py-3"},[s("h2",L,[s("span",J,[a(x,{contact:l,"icon-size":32,class:"inline-block align-middle border border-slate-300 rounded-md mr-1"},null,8,["contact"]),_(" "+I(l.name||"(no name)"),1)]),s("span",K,[s("button",{type:"button",class:"block w-full text-center text-sm uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-3 py-1.5 rounded-md",onClick:W=>o.openDialog(l)},[a(m,{icon:"gift",class:"fa-fw"})],8,M)])])]))),128))]),a(w,{ref:"customDialog","to-project-id":o.projectId},null,8,["to-project-id"])])],64)}const ct=j(b,[["render",R]]);export{ct as default}; |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
var b=Object.defineProperty;var p=(t,e,s)=>e in t?b(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var o=(t,e,s)=>p(t,typeof e!="symbol"?e+"":e,s);import{C as h,V as C,_ as m,j as v,n as g,E as u,m as i,o as k,p as x,t as d,x as f}from"./main.common-CyN0wKDJ.js";var _=Object.getOwnPropertyDescriptor,w=(t,e,s,c)=>{for(var l=c>1?void 0:c?_(e,s):e,n=t.length-1,a;n>=0;n--)(a=t[n])&&(l=a(l)||l);return l};let r=class extends C{constructor(){super(...arguments);o(this,"cancelCallback",()=>{});o(this,"saveCallback",()=>{});o(this,"message","");o(this,"newText","");o(this,"title","Contact Name");o(this,"visible",!1)}async open(s,c,l,n,a){this.cancelCallback=n||this.cancelCallback,this.saveCallback=l||this.saveCallback,this.message=c??this.message,this.newText=a??"",this.title=s??this.title,this.visible=!0}async onClickSaveChanges(){this.visible=!1,this.saveCallback&&this.saveCallback(this.newText)}onClickCancel(){this.visible=!1,this.cancelCallback&&this.cancelCallback()}};r=w([h],r);const y={key:0,class:"dialog-overlay"},N={class:"dialog"},D={class:"text-xl font-bold text-center mb-4"},T={class:"mt-8"},$={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function V(t,e,s,c,l,n){return t.visible?(u(),v("div",y,[i("div",N,[i("h1",D,d(t.title),1),k(" "+d(t.message)+" Note that their name is only stored on this device. ",1),x(i("input",{"onUpdate:modelValue":e[0]||(e[0]=a=>t.newText=a),type:"text",placeholder:"Name",class:"block w-full rounded border border-slate-400 mb-4 px-3 py-2"},null,512),[[f,t.newText]]),i("div",T,[i("div",$,[i("button",{type:"button",class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:e[1]||(e[1]=a=>t.onClickSaveChanges())}," Save "),i("button",{type:"button",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:e[2]||(e[2]=a=>t.onClickCancel())}," Cancel ")])])])])):g("",!0)}const j=m(r,[["render",V]]);export{j as C}; |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
import{V as p,C as u,_ as m,j as h,m as c,K as w,k as n,o as v,w as x,B as i,E as f}from"./main.common-CyN0wKDJ.js";import"./index-DVAb2BqV.js";var _=Object.getOwnPropertyDescriptor,g=(o,t,d,r)=>{for(var e=r>1?void 0:r?_(t,d):t,s=o.length-1,a;s>=0;s--)(a=o[s])&&(e=a(e)||e);return e};let l=class extends p{};l=g([u({components:{}})],l);const k={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},C={id:"ViewBreadcrumb",class:"mb-8"},y={class:"text-lg text-center font-light relative px-7"};function V(o,t,d,r,e,s){const a=i("font-awesome"),b=i("router-link");return f(),h("section",k,[c("div",C,[c("h1",y,[n(b,{to:{name:"account"},class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1"},{default:x(()=>[n(a,{icon:"chevron-left",class:"fa-fw"})]),_:1}),t[0]||(t[0]=v(" Scan Contact "))])]),t[1]||(t[1]=w('<h3 class="text-sm uppercase font-semibold mb-2">Scan a QR Code…</h3><div class="bg-black rounded overflow-hidden relative mb-4"><img src="https://picsum.photos/400/400?random=1" class="w-full"><div class="absolute top-0 left-0 right-0 bg-black/50 h-1/4"></div><div class="absolute top-1/4 bottom-1/4 left-0 bg-black/50 w-1/4"></div><div class="absolute top-1/4 bottom-1/4 right-0 bg-black/50 w-1/4"></div><div class="absolute bottom-0 left-0 right-0 bg-black/50 h-1/4"></div><div class="absolute top-1/4 left-1/4 h-6 w-6 border-white border-t-4 border-l-4 drop-shadow"></div><div class="absolute top-1/4 right-1/4 h-6 w-6 border-white border-t-4 border-r-4 drop-shadow"></div><div class="absolute bottom-1/4 left-1/4 h-6 w-6 border-white border-b-4 border-l-4 drop-shadow"></div><div class="absolute bottom-1/4 right-1/4 h-6 w-6 border-white border-b-4 border-r-4 drop-shadow"></div></div><h3 class="text-sm uppercase font-semibold mb-2">…or Enter Contact Data</h3><input type="text" placeholder="Name (optional)" class="block w-full rounded border border-slate-400 mb-2 px-3 py-2"><input type="text" placeholder="ID" class="block w-full rounded border border-slate-400 mb-2 px-3 py-2"><input type="text" placeholder="Public Key (optional)" class="block w-full rounded border border-slate-400 mb-4 px-3 py-2"><div class="mt-8"><div class="grid grid-cols-1 sm:grid-cols-2 gap-2"><input type="submit" class="block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md" value="Look Up Contact"><button type="button" class="block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md"> Cancel </button></div></div>',7))])}const $=m(l,[["render",V]]);export{$ as default}; |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
.dialog-overlay{z-index:50;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;padding:1.5rem}.dialog{background-color:#fff;padding:1rem;border-radius:.5rem;width:100%;max-width:500px} |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
.numbered-marker{display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;font-weight:700;color:#fff;background:#00f;width:24px;height:24px;border-radius:50%;border:2px solid white} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
import{V as y,C as d,_ as v,j as w,k as a,m as e,o as r,w as g,F as h,B as p,E as x}from"./main.common-CyN0wKDJ.js";import{Q as b}from"./QuickNav-knx6iT2l.js";import"./index-DVAb2BqV.js";var N=Object.getOwnPropertyDescriptor,k=(o,t,f,l)=>{for(var i=l>1?void 0:l?N(t,f):t,n=o.length-1,s;n>=0;n--)(s=o[n])&&(i=s(i)||i);return i};let u=class extends y{};u=k([d({components:{QuickNav:b}})],u);const T={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},V={class:"mb-8"},C={class:"text-lg text-center font-light relative px-7"};function $(o,t,f,l,i,n){const s=p("QuickNav"),c=p("font-awesome"),m=p("router-link");return x(),w(h,null,[a(s),e("section",T,[e("div",V,[e("div",C,[e("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:t[0]||(t[0]=_=>o.$router.back())},[a(c,{icon:"chevron-left",class:"fa-fw"})])]),t[1]||(t[1]=e("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Notification Types ",-1))]),e("div",null,[t[6]||(t[6]=e("p",null,"There are two types of notifications:",-1)),t[7]||(t[7]=e("h2",{class:"text-xl font-semibold mt-4"},"Reminder Notifications",-1)),t[8]||(t[8]=e("div",null,[e("p",null," The Reminder Notification will be sent to you daily with a specific message, at whatever time you choose. Use it to remind yourself to act, for example: pause and consider who has given you something, so you can record thanks in here. "),e("p",null," This is a reliable message, but it doesn't contain any details about activity that might be especially interesting to you. ")],-1)),t[9]||(t[9]=e("h2",{class:"text-xl font-semibold mt-4"},"New Activity Notifications",-1)),e("div",null,[t[5]||(t[5]=e("p",null," The New Activity Notification will be sent to you when there is new, relevant activity for you. It will only trigger if something involves you or a project of interest; it will not bug you for other, general activity. ",-1)),e("p",null,[t[3]||(t[3]=r(" This type is not as reliable as a Reminder Notification because mobile devices often suppress such notifications to save battery. (If you want to quickly check for relevant activity daily, use the Reminder Notification and open the app and look for a large green button that points out new activity that is personal to you. We are working on other ways to notify you more reliably. ")),a(m,{class:"text-blue-500",to:"/help"},{default:g(()=>[t[2]||(t[2]=r(" go here to follow us or contact us ")),a(c,{icon:"chevron-right",class:"fa-fw"})]),_:1}),t[4]||(t[4]=r(".) "))])])])])],64)}const j=v(u,[["render",$]]);export{j as default}; |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
import{V as f,C as h,_ as g,j as x,m as e,o,k as i,w as y,B as u,E as v}from"./main.common-CyN0wKDJ.js";import{Q as b}from"./QuickNav-knx6iT2l.js";import"./index-DVAb2BqV.js";var w=Object.getOwnPropertyDescriptor,k=(l,t,p,a)=>{for(var s=a>1?void 0:a?w(t,p):t,r=l.length-1,n;r>=0;r--)(n=l[r])&&(s=n(s)||s);return s};let d=class extends f{};d=k([h({components:{QuickNav:b}})],d);const T={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},C={class:"ml-4"},c={class:"ml-4"};function S(l,t,p,a,s,r){const n=u("font-awesome"),m=u("router-link");return v(),x("section",T,[t[21]||(t[21]=e("div",{class:"mb-8"},[e("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Time Safari Onboarding Instructions ")],-1)),e("p",null,[t[0]||(t[0]=o(" To invite someone the easiest way, send them a link that you generate from this page: ")),i(m,{to:{name:"invite-one"},class:"bg-gradient-to-b from-green-400 to-green-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md"},{default:y(()=>[i(n,{icon:"envelope-open-text",class:"fa-fw text-xl"})]),_:1})]),t[22]||(t[22]=e("p",null,"Then watch that page to see when they accept their invite.",-1)),e("p",null,[t[1]||(t[1]=o(" (That page is also reachable from the Contacts ")),i(n,{icon:"users"}),t[2]||(t[2]=o(" page though the invitation ")),i(n,{icon:"envelope-open-text"}),t[3]||(t[3]=o(" icon.) "))]),t[23]||(t[23]=e("h1",{class:"mt-4 font-bold text-xl"},"Next Steps",-1)),t[24]||(t[24]=o(" Although not totally necessary, backups are important to understand. ")),e("div",C,[t[6]||(t[6]=e("h1",{class:"font-bold text-xl"},"Without a backup, you can lose data.",-1)),e("div",null,[e("p",null,[t[4]||(t[4]=o(" Exporting backups (from the Account ")),i(n,{icon:"circle-user"}),t[5]||(t[5]=o(" screen) is important for the case where they lose their device. This is especially true for the Identifier Seed: that is theirs and and theirs alone, and currently nobody else can recover it if they lose it. The good thing is that anyone can create a new account and simply inform their network of their new ID. "))])])]),t[25]||(t[25]=e("h1",{class:"mt-4 font-bold text-xl"},"Advanced",-1)),t[26]||(t[26]=o(" The following are optional steps for even more functionality. ")),e("div",c,[t[15]||(t[15]=e("h1",{class:"font-bold text-xl"},"Add Contact & Register",-1)),e("p",null,[t[7]||(t[7]=o(" You share even more information such as your picture and name when you share with your QR code at these links: ")),i(n,{icon:"qrcode"})]),t[16]||(t[16]=e("p",null," Scanning those with your cameras will automatically register people and add them to each other's contact lists. ",-1)),t[17]||(t[17]=e("p",null," The following are more detailed manual steps: ",-1)),e("div",null,[t[12]||(t[12]=e("p",null," 1) Have them follow their yellow prompts. ",-1)),e("p",null,[t[8]||(t[8]=o(" 2) Scan their QR, or have them tap on it to copy their info and send it to you. Then you can add them to your Contacts ")),i(n,{icon:"users"})]),e("p",null,[t[9]||(t[9]=o(" 3) You can register them at their info page ")),i(n,{icon:"circle-info"}),t[10]||(t[10]=o(" and click on the register button ")),i(n,{icon:"person-circle-question"})]),e("p",null,[t[11]||(t[11]=o(" 4) Add yourself to their Contacts ")),i(n,{icon:"users"})])]),t[18]||(t[18]=e("h1",{class:"font-bold text-xl"},"Install",-1)),t[19]||(t[19]=e("div",null,[e("p",null,' Have them visit TimeSafari.app in a browser, preferably Chrome or Safari, and then look for the "Install" selection which adds this app to their desktop. This enables other things, like the ability to "share" a photo from their device directly to Time Safari, and it makes notifications more reliable. ')],-1)),t[20]||(t[20]=e("h1",{class:"font-bold text-xl"},"Enable Notifications",-1)),e("div",null,[e("p",null,[t[13]||(t[13]=o(" Enable notifications from the Account page ")),i(n,{icon:"circle-user"}),t[14]||(t[14]=o(". Those notifications might show up on the device depending on your settings. For the most reliable habits, set an alarm or do some other ritual to record gratitude every day. "))])])])])}const E=g(d,[["render",S]]);export{E as default}; |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
.dialog-overlay{z-index:50;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;padding:1.5rem}#dialogFeedFilters.dialog-overlay{z-index:100;overflow:scroll}.dialog{background-color:#fff;padding:1rem;border-radius:.5rem;width:100%;max-width:500px}.fade-enter-active[data-v-9670bbe2],.fade-leave-active[data-v-9670bbe2]{transition:opacity .2s ease}.fade-enter-from[data-v-9670bbe2],.fade-leave-to[data-v-9670bbe2]{opacity:0} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
var v=Object.defineProperty;var y=(t,e,o)=>e in t?v(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var r=(t,e,o)=>y(t,typeof e!="symbol"?e+"":e,o);import{g as w,C as _,V as x,a7 as k,_ as C,B as h,j as u,E as d,n as D,k as g,m as a,o as U,p as $,x as P,z as f,F as B}from"./main.common-CyN0wKDJ.js";import{P as I}from"./PhotoDialog-YJiUta46.js";var T=Object.getOwnPropertyDescriptor,V=(t,e,o,s)=>{for(var l=s>1?void 0:s?T(e,o):e,p=t.length-1,i;p>=0;p--)(i=t[p])&&(l=i(l)||l);return l};const b=w();let m=class extends x{constructor(){super(...arguments);r(this,"$notify");r(this,"claimType");r(this,"crop",!1);r(this,"imageCallback",()=>{});r(this,"imageUrl");r(this,"visible",!1)}open(o,s,l){this.claimType=s,this.crop=!!l,this.imageCallback=o,this.visible=!0}openPhotoDialog(o,s){this.visible=!1,this.$refs.photoDialog.open(this.imageCallback,this.claimType,this.crop,o,s)}async uploadImageFile(o){this.visible=!1,b.value=o.target.files[0];const s=b.value;if(s!=null){const l=new FileReader;l.onload=async p=>{var c;const i=(c=p.target)==null?void 0:c.result;if(i){const n=new Blob([new Uint8Array(i)],{type:s.type});this.openPhotoDialog(n,s.name)}},l.readAsArrayBuffer(s)}}async acceptUrl(){if(this.visible=!1,this.crop)try{const o=await k.get(this.imageUrl,{responseType:"blob"}),l=new URL(this.imageUrl).pathname.split("/").pop();this.$refs.photoDialog.open(this.imageCallback,this.claimType,this.crop,o.data,l)}catch{this.$notify({group:"alert",type:"danger",title:"Error",text:"There was an error retrieving that image."},5e3)}else this.imageCallback(this.imageUrl)}close(){this.visible=!1}};m=V([_({components:{PhotoDialog:I}})],m);const F={key:0,class:"dialog-overlay z-[60]"},N={class:"dialog relative"},R={class:"text-lg text-center font-light relative z-50"},A={class:"text-center mt-8"},M={class:"mt-4"},z={class:"mt-4"},E={class:"mt-2"},O={class:"ml-2"};function j(t,e,o,s,l,p){const i=h("font-awesome"),c=h("PhotoDialog");return d(),u(B,null,[t.visible?(d(),u("div",F,[a("div",N,[a("div",R,[e[4]||(e[4]=a("div",{id:"ViewHeading",class:"text-center font-bold absolute top-0 left-0 right-0 px-4 py-0.5 bg-black/50 text-white leading-none"}," Add Photo ",-1)),a("div",{class:"text-lg text-center px-2 py-0.5 leading-none absolute right-0 top-0 text-white",onClick:e[0]||(e[0]=n=>t.close())},[g(i,{icon:"xmark",class:"w-[1em]"})])]),a("div",null,[a("div",A,[a("div",null,[g(i,{icon:"camera",class:"bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-2 rounded-md",onClick:e[1]||(e[1]=n=>t.openPhotoDialog())})]),a("div",M,[a("input",{type:"file",onChange:e[2]||(e[2]=(...n)=>t.uploadImageFile&&t.uploadImageFile(...n))},null,32)]),a("div",z,[a("span",E,[e[5]||(e[5]=U(" ... or paste a URL: ")),$(a("input",{"onUpdate:modelValue":e[3]||(e[3]=n=>t.imageUrl=n),type:"text",class:"border-2"},null,512),[[P,t.imageUrl]])]),a("span",O,[t.imageUrl?(d(),f(i,{key:0,icon:"check",class:"bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-2 rounded-md cursor-pointer",onClick:t.acceptUrl},null,8,["onClick"])):(d(),f(i,{key:1,icon:"check",class:"text-white bg-white px-2 py-2"}))])])])])])])):D("",!0),g(c,{ref:"photoDialog"},null,512)],64)}const J=C(m,[["render",j]]);export{J as I}; |
@ -0,0 +1 @@ |
|||||
|
.dialog-overlay{z-index:50;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;padding:1.5rem}.dialog{background-color:#fff;padding:1rem;border-radius:.5rem;width:100%;max-width:700px} |
@ -0,0 +1 @@ |
|||||
|
var w=Object.defineProperty;var y=(t,e,r)=>e in t?w(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var s=(t,e,r)=>y(t,typeof e!="symbol"?e+"":e,r);import{V as x,A as g,f as E,a6 as A,e as h,M as k,l as C,C as P,_ as S,j as u,m as o,p as m,n as c,o as v,k as I,x as f,s as T,B as $,E as p}from"./main.common-CyN0wKDJ.js";import{a9 as V,E as N,aa as O,ab as R}from"./index-BuQXBPSi.js";import"./index-DVAb2BqV.js";import"./index-B6aF1R1z.js";import"./_isString-BCVd99Zj.js";var _=Object.getOwnPropertyDescriptor,D=(t,e,r,n)=>{for(var a=n>1?void 0:n?_(e,r):e,d=t.length-1,l;d>=0;d--)(l=t[d])&&(a=l(a)||a);return a};let b=class extends x{constructor(){super(...arguments);s(this,"TEST_USER_0_MNEMONIC","rigid shrug mobile smart veteran half all pond toilet brave review universe ship congress found yard skate elite apology jar uniform subway slender luggage");s(this,"UPORT_DERIVATION_PATH","m/7696500'/0'/0'/0'");s(this,"AppString",g);s(this,"$notify");s(this,"$router");s(this,"apiServer","");s(this,"address","");s(this,"derivationPath",V);s(this,"mnemonic","");s(this,"numAccounts",0);s(this,"privateHex","");s(this,"publicHex","");s(this,"showAdvanced",!1);s(this,"shouldErase",!1)}async created(){this.numAccounts=await N();const r=await E();this.apiServer=r.apiServer||""}onCancelClick(){this.$router.back()}isNotProdServer(){return this.apiServer!==g.PROD_ENDORSER_API_SERVER}async fromMnemonic(){const r=this.mnemonic.trim().toLowerCase();try{[this.address,this.privateHex,this.publicHex]=O(r,this.derivationPath);const n=R(this.address,this.publicHex,this.privateHex,this.derivationPath),a=await A;this.shouldErase&&await a.accounts.clear(),await a.accounts.add({dateCreated:new Date().toISOString(),derivationPath:this.derivationPath,did:n.did,identity:JSON.stringify(n),mnemonic:r,publicKeyHex:n.keys[0].publicKeyHex}),await h.open(),await h.settings.update(k,{activeDid:n.did}),this.$router.push({name:"account"})}catch(n){C.error("Error saving mnemonic & updating settings:",n),n=="Error: invalid mnemonic"?this.$notify({group:"alert",type:"danger",title:"Invalid Mnemonic",text:"Please check your mnemonic and try again."},5e3):this.$notify({group:"alert",type:"danger",title:"Error",text:"Got an error creating that identifier."},5e3)}}};b=D([P({components:{}})],b);const H={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},M={id:"ViewBreadcrumb",class:"mb-8"},U={class:"text-lg text-center font-light relative px-7"},B={key:0},j={class:"ml-4"},F={key:0,class:"mt-4"},K={key:1,class:"mt-4 text-blue-500"},G={class:"mt-8"},L={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function J(t,e,r,n,a,d){const l=$("font-awesome");return p(),u("section",H,[o("div",M,[o("h1",U,[o("button",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=i=>t.$router.go(-1))},[I(l,{icon:"chevron-left"})]),e[9]||(e[9]=v(" Import Existing Identifier "))])]),e[13]||(e[13]=o("p",{class:"text-center text-xl mb-4 font-light"}," Enter your seed phrase below to import your identifier on this device. ",-1)),m(o("textarea",{id:"seed-input","onUpdate:modelValue":e[1]||(e[1]=i=>t.mnemonic=i),type:"text",placeholder:"Seed Phrase",class:"block w-full rounded border border-slate-400 mb-4 px-3 py-2"},null,512),[[f,t.mnemonic]]),o("h3",{class:"text-sm uppercase font-semibold mb-3",onClick:e[2]||(e[2]=i=>t.showAdvanced=!t.showAdvanced)}," Advanced "),t.showAdvanced?(p(),u("div",B,[e[12]||(e[12]=v(" Enter a custom derivation path ")),m(o("input",{"onUpdate:modelValue":e[3]||(e[3]=i=>t.derivationPath=i),type:"text",class:"block w-full rounded border border-slate-400 mb-2 px-3 py-2"},null,512),[[f,t.derivationPath]]),o("span",j,[e[10]||(e[10]=v(" For previous uPort or Endorser users, ")),o("a",{class:"text-blue-500",onClick:e[4]||(e[4]=i=>t.derivationPath=t.UPORT_DERIVATION_PATH)}," click here to use that value. ")]),t.numAccounts==1?(p(),u("div",F,[m(o("input",{"onUpdate:modelValue":e[5]||(e[5]=i=>t.shouldErase=i),type:"checkbox",class:"mr-2"},null,512),[[T,t.shouldErase]]),e[11]||(e[11]=o("label",null,"Erase the previous identifier.",-1))])):c("",!0),t.isNotProdServer()?(p(),u("div",K,[o("button",{onClick:e[6]||(e[6]=i=>t.mnemonic=t.TEST_USER_0_MNEMONIC)}," Use mnemonic for Test User #0 ")])):c("",!0)])):c("",!0),o("div",G,[o("div",L,[o("button",{class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md",onClick:e[7]||(e[7]=i=>t.fromMnemonic())}," Import "),o("button",{type:"button",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md",onClick:e[8]||(e[8]=i=>t.onCancelClick())}," Cancel ")])])])}const ee=S(b,[["render",J]]);export{ee as default}; |
@ -0,0 +1 @@ |
|||||
|
var g=Object.defineProperty;var b=(e,t,s)=>t in e?g(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var l=(e,t,s)=>b(e,typeof t!="symbol"?t+"":t,s);import{V as _,a6 as w,e as x,M as D,l as A,C as k,_ as C,j as u,m as o,o as P,k as $,n as I,F as E,G as O,B as V,E as m,z as y,t as F}from"./main.common-CyN0wKDJ.js";import{a9 as B,ac as T,ad as N,aa as S,ab as H}from"./index-BuQXBPSi.js";import"./index-DVAb2BqV.js";import"./index-B6aF1R1z.js";import"./_isString-BCVd99Zj.js";var j=Object.getOwnPropertyDescriptor,M=(e,t,s,i)=>{for(var n=i>1?void 0:i?j(t,s):t,c=e.length-1,r;c>=0;c--)(r=e[c])&&(n=r(n)||n);return n};let h=class extends _{constructor(){super(...arguments);l(this,"$route");l(this,"$router");l(this,"derivationPath",B);l(this,"didArrays",[]);l(this,"selectedArrayFirstDid","")}async mounted(){const t=await T(),s={};t.forEach(i=>{const n=s[i.mnemonic]||[];s[i.mnemonic]=n.concat([i.did])}),this.didArrays=Object.values(s),this.selectedArrayFirstDid=this.didArrays[0][0]}onCancelClick(){this.$router.back()}switchAccount(t){this.selectedArrayFirstDid=t}async incrementDerivation(){const t=this.didArrays.find(d=>d[0]===this.selectedArrayFirstDid)||[],s=await w,i=await s.accounts.where("did").anyOf(...t).toArray(),n=i[0];i.slice(1).forEach(d=>{d.derivationPath>n.derivationPath&&(n.derivationPath=d.derivationPath)});const c=N(n.derivationPath),r=n.mnemonic,[a,v,f]=S(r,c),p=H(a,f,v,c);try{await s.accounts.add({dateCreated:new Date().toISOString(),derivationPath:c,did:p.did,identity:JSON.stringify(p),mnemonic:r,publicKeyHex:p.keys[0].publicKeyHex}),await x.open(),await x.settings.update(D,{activeDid:p.did}),this.$router.push({name:"account"})}catch(d){A.error("Error saving mnemonic & updating settings:",d)}}};h=M([k({components:{}})],h);const K={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},R={id:"ViewBreadcrumb",class:"mb-8"},G={class:"text-lg text-center font-light relative px-7"},L={key:0},W={class:"mb-4"},z=["onClick"],J={class:"overflow-hidden"},U={class:"text-sm text-slate-500 truncate"},Y={class:"mt-8"},q={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function Q(e,t,s,i,n,c){const r=V("font-awesome");return m(),u("section",K,[o("div",R,[o("h1",G,[o("button",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:t[0]||(t[0]=a=>e.$router.go(-1))},[$(r,{icon:"chevron-left"})]),t[3]||(t[3]=P(" Derive from Existing Identity "))])]),o("div",null,[t[4]||(t[4]=o("p",{class:"text-center text-xl mb-4 font-light"}," Will increment the maximum known derivation path from the existing seed. ",-1)),e.didArrays.length>1?(m(),u("p",L," Choose existing DIDs from same seed phrase to compute derivation. ")):I("",!0),o("ul",W,[(m(!0),u(E,null,O(e.didArrays,a=>(m(),u("li",{key:a[0],class:"block bg-slate-100 rounded-md flex items-center px-4 py-3 mb-2",onClick:v=>e.switchAccount(a[0])},[a[0]==e.selectedArrayFirstDid?(m(),y(r,{key:0,icon:"circle",class:"fa-fw text-blue-500 text-xl mr-3"})):(m(),y(r,{key:1,icon:"circle",class:"fa-fw text-slate-400 text-xl mr-3"})),o("span",J,[o("div",U,[o("code",null,F(a.join(",")),1)])])],8,z))),128))])]),o("div",Y,[o("div",q,[o("button",{class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md",onClick:t[1]||(t[1]=a=>e.incrementDerivation())}," Increment and Import "),o("button",{type:"button",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md",onClick:t[2]||(t[2]=a=>e.onCancelClick())}," Cancel ")])])])}const nt=C(h,[["render",Q]]);export{nt as default}; |
@ -0,0 +1 @@ |
|||||
|
var p=Object.defineProperty;var d=(r,e,t)=>e in r?p(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var a=(r,e,t)=>d(r,typeof e!="symbol"?e+"":e,t);import{a2 as f,ax as h,C as u,V as v,_,j as b,E as I,W as x,m as $}from"./main.common-CyN0wKDJ.js";var m=Object.defineProperty,y=Object.getOwnPropertyDescriptor,l=(r,e,t,n)=>{for(var s=n>1?void 0:n?y(e,t):e,i=r.length-1,c;i>=0;i--)(c=r[i])&&(s=(n?c(e,t,s):c(s))||s);return n&&s&&m(e,t,s),s};let o=class extends v{constructor(){super(...arguments);a(this,"distance");a(this,"observer");a(this,"isInitialRender",!0)}updated(){if(!this.observer){const t={root:null,rootMargin:`0px 0px ${this.distance}px 0px`,threshold:1};this.observer=new IntersectionObserver(this.handleIntersection,t),this.observer.observe(this.$refs.sentinel)}}beforeUnmount(){this.observer&&this.observer.disconnect()}handleIntersection(t){return!!t[0].isIntersecting}};l([f({default:200})],o.prototype,"distance",2);l([h("reached-bottom")],o.prototype,"handleIntersection",1);o=l([u],o);const O={ref:"scrollContainer"},C={ref:"sentinel",style:{height:"1px"}};function P(r,e,t,n,s,i){return I(),b("div",O,[x(r.$slots,"default"),$("div",C,null,512)],512)}const w=_(o,[["render",P]]);export{w as I}; |
@ -0,0 +1 @@ |
|||||
|
var w=Object.defineProperty;var g=(i,t,e)=>t in i?w(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var a=(i,t,e)=>g(i,typeof t!="symbol"?t+"":t,e);import{V as y,e as I,f as k,a as x,J as v,C as $,_ as A,j as p,k as h,m as c,p as J,x as b,F as E,B as u,E as l}from"./main.common-CyN0wKDJ.js";import{Q as D}from"./QuickNav-knx6iT2l.js";import{P as V,I as C,e as S}from"./index-BuQXBPSi.js";import"./index-DVAb2BqV.js";import"./index-B6aF1R1z.js";import"./_isString-BCVd99Zj.js";var P=Object.getOwnPropertyDescriptor,F=(i,t,e,s)=>{for(var n=s>1?void 0:s?P(t,e):t,r=i.length-1,o;r>=0;r--)(o=i[r])&&(n=o(n)||n);return n};let d=class extends y{constructor(){super(...arguments);a(this,"$notify");a(this,"$router");a(this,"$route");a(this,"activeDid","");a(this,"apiServer","");a(this,"checkingInvite",!0);a(this,"inputJwt","")}async mounted(){this.checkingInvite=!0,await I.open();const e=await k();this.activeDid=e.activeDid||"",this.apiServer=e.apiServer||"",this.activeDid||(this.activeDid=await V());const s=this.$route.params.jwt||"";await this.processInvite(s,!1),this.checkingInvite=!1}async processInvite(e,s){this.checkingInvite=!0;try{const n=this.extractJwtFromInput(e);if(!n){this.handleMissingJwt(s);return}await this.validateAndRedirect(n)}catch(n){this.handleError(n,s)}finally{this.checkingInvite=!1}}extractJwtFromInput(e){const s=e??"",n=s.match(/(https?:\/\/[^\s]+)/);if(n!=null&&n[1]){const o=n[1].match(/\/invite-one-accept\/([^?]+)/);if(o!=null&&o[1])return o[1]}const r=s.match(/(ey[\w.-]+)/);return r!=null&&r[1]?r[1]:""}async validateAndRedirect(e){C(e),this.$router.push({name:"contacts",query:{inviteJwt:e}})}handleMissingJwt(e){e&&this.$notify({group:"alert",type:"danger",title:"Missing Invite",text:"There was no invite. Paste the entire text that has the data."},5e3)}handleError(e,s){const n="Error accepting invite: "+S(e);x(n,!0),s&&this.$notify({group:"alert",type:"danger",title:"Error",text:"There was an error processing that invite."},3e3)}async checkInvite(e){(e.endsWith(v)||e.endsWith(v+"/")||e.endsWith("invite-one-accept")||e.endsWith("invite-one-accept/"))&&this.$notify({group:"alert",type:"danger",title:"Error",text:"That is only part of the invite data; it's missing some at the end. Try another way to get the full data."},5e3)}};d=F([$({components:{QuickNav:D}})],d);const O={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},T={key:0,class:"text-lg text-center font-light relative px-7"},N={key:1,class:"text-center mt-4"};function B(i,t,e,s,n,r){const o=u("QuickNav"),m=u("font-awesome");return l(),p(E,null,[h(o,{selected:"Invite"}),c("section",O,[i.checkingInvite?(l(),p("div",T,[h(m,{icon:"spinner",class:"fa-spin-pulse"})])):(l(),p("div",N,[t[3]||(t[3]=c("p",null,"That invitation did not work.",-1)),t[4]||(t[4]=c("p",{class:"mt-2"}," Go back to your invite message and copy the entire text, then paste it here. ",-1)),t[5]||(t[5]=c("p",{class:"mt-2"}," If the data looks correct, try Chrome. (For example, iOS may have cut off the invite data, or it may have shown a preview that stole your invite.) If it still complains, you may need the person who invited you to send a new one. ",-1)),J(c("textarea",{"onUpdate:modelValue":t[0]||(t[0]=f=>i.inputJwt=f),placeholder:"Paste invitation...",class:"mt-4 border-2 border-gray-300 p-2 rounded",cols:"30",onInput:t[1]||(t[1]=()=>i.checkInvite(i.inputJwt))},null,544),[[b,i.inputJwt]]),t[6]||(t[6]=c("br",null,null,-1)),c("button",{class:"ml-2 p-2 bg-blue-500 text-white rounded",onClick:t[2]||(t[2]=()=>i.processInvite(i.inputJwt,!0))}," Accept ")]))])],64)}const M=A(d,[["render",B]]);export{M as default}; |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
var p=Object.defineProperty;var m=(t,e,s)=>e in t?p(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var c=(t,e,s)=>m(t,typeof e!="symbol"?e+"":e,s);import{V as u,f as b,e as g,M as v,C as f,_ as w,j as x,m as o,p as _,o as C,k as N,x as k,B as h,E as $}from"./main.common-CyN0wKDJ.js";import"./index-DVAb2BqV.js";var y=Object.getOwnPropertyDescriptor,V=(t,e,s,i)=>{for(var n=i>1?void 0:i?y(e,s):e,a=t.length-1,r;a>=0;a--)(r=t[a])&&(n=r(n)||n);return n};let d=class extends u{constructor(){super(...arguments);c(this,"$router");c(this,"givenName","")}async created(){const s=await b();this.givenName=(s.firstName||"")+(s.lastName?` ${s.lastName}`:"")}async onClickSaveChanges(){await g.settings.update(v,{firstName:this.givenName,lastName:""}),this.$router.back()}onClickCancel(){this.$router.back()}};d=V([f({components:{}})],d);const E={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},S={id:"ViewBreadcrumb",class:"mb-8"},A={class:"text-lg text-center font-light relative px-7"},B={class:"mt-8"},T={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function D(t,e,s,i,n,a){const r=h("font-awesome");return $(),x("section",E,[o("div",S,[o("h1",A,[o("button",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=l=>t.$router.back())},[N(r,{icon:"chevron-left",class:"fa-fw"})]),e[4]||(e[4]=C(" Edit Identity "))])]),_(o("input",{"onUpdate:modelValue":e[1]||(e[1]=l=>t.givenName=l),type:"text",placeholder:"Name",class:"block w-full rounded border border-slate-400 mb-4 px-3 py-2"},null,512),[[k,t.givenName]]),o("div",B,[o("div",T,[o("button",{type:"button",class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:e[2]||(e[2]=l=>t.onClickSaveChanges())}," Save Changes "),o("button",{type:"button",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:e[3]||(e[3]=l=>t.onClickCancel())}," Cancel ")])])])}const P=w(d,[["render",D]]);export{P as default}; |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
var v=Object.defineProperty;var x=(t,e,s)=>e in t?v(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var d=(t,e,s)=>x(t,typeof e!="symbol"?e+"":e,s);import"./dexie-export-import-C-BBh-BJ.js";import{V as g,C as w,_,j as c,k as r,m as n,F as y,B as u,E as m}from"./main.common-CyN0wKDJ.js";import{P as b}from"./index-BuQXBPSi.js";import{Q as k}from"./QuickNav-knx6iT2l.js";import"./index-DVAb2BqV.js";import"./index-B6aF1R1z.js";import"./_isString-BCVd99Zj.js";var $=Object.getOwnPropertyDescriptor,C=(t,e,s,l)=>{for(var o=l>1?void 0:l?$(e,s):e,i=t.length-1,a;i>=0;i--)(a=t[i])&&(o=a(o)||o);return o};let f=class extends g{constructor(){super(...arguments);d(this,"loading",!0);d(this,"$router")}async mounted(){await b(),this.loading=!1,setTimeout(()=>{this.$router.push({name:"home"})},1e3)}};f=C([w({components:{QuickNav:k}})],f);const N={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},V={class:"mb-8"},h={class:"text-lg text-center font-light relative px-7"},I={class:"flex justify-center py-12"},B={key:0},Q={key:1};function j(t,e,s,l,o,i){const a=u("QuickNav"),p=u("font-awesome");return m(),c(y,null,[r(a),n("section",N,[n("div",V,[n("div",h,[n("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=A=>t.$router.back())},[r(p,{icon:"chevron-left",class:"fa-fw"})])]),e[1]||(e[1]=n("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Your Identity ",-1))]),n("div",I,[e[4]||(e[4]=n("div",null,null,-1)),t.loading?(m(),c("div",B,[e[2]||(e[2]=n("span",{class:"text-xl"},"Creating... ",-1)),r(p,{icon:"spinner",class:"fa-spin fa-spin-pulse",color:"green",size:"128"})])):(m(),c("div",Q,[e[3]||(e[3]=n("span",{class:"text-xl"},"Created!",-1)),r(p,{icon:"burst",class:"fa-beat px-12",color:"green",style:{"--fa-animation-duration":"1s","--fa-animation-direction":"reverse","--fa-animation-iteration-count":"1","--fa-beat-scale":"6"}})])),e[5]||(e[5]=n("div",null,null,-1))])])],64)}const Y=_(f,[["render",j]]);export{Y as default}; |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
var N=Object.defineProperty;var _=(r,t,e)=>t in r?N(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var o=(r,t,e)=>_(r,typeof t!="symbol"?t+"":t,e);import{V as k,f as x,a as h,C as S,_ as $,j as l,k as m,m as c,z as R,t as T,F as I,B as g,E as p}from"./main.common-CyN0wKDJ.js";import{Q as O}from"./QuickNav-knx6iT2l.js";import{T as L}from"./TopMessage-ClRBomc-.js";import{M as E}from"./MembersList-DHiPQX6B.js";import{U as V}from"./UserNameDialog-CHrrQR5T.js";import{P as C,g as u,ap as f,e as b,au as w}from"./index-BuQXBPSi.js";import"./index-DVAb2BqV.js";import"./index-B6aF1R1z.js";import"./_isString-BCVd99Zj.js";var F=Object.getOwnPropertyDescriptor,A=(r,t,e,i)=>{for(var s=i>1?void 0:i?F(t,e):t,n=r.length-1,a;n>=0;n--)(a=r[n])&&(s=a(s)||s);return s};let M=class extends k{constructor(){super(...arguments);o(this,"activeDid","");o(this,"apiServer","");o(this,"errorMessage","");o(this,"firstName","");o(this,"isRegistered",!1);o(this,"isLoading",!0);o(this,"$route");o(this,"$router");o(this,"userNameDialog")}get groupId(){return this.$route.params.groupId||""}get password(){return this.$route.query.password||""}async created(){var i;if(!this.groupId){this.errorMessage="The group info is missing. Go back and try again.";return}if(!this.password){this.errorMessage="The password is missing. Go back and try again.";return}const e=await x();this.activeDid=e.activeDid||"",this.apiServer=e.apiServer||"",this.firstName=e.firstName||"",this.isRegistered=e.isRegistered||!1;try{this.activeDid||(this.activeDid=await C(),this.isRegistered=!1);const s=await u(this.activeDid),a=(i=(await this.axios.get(`${this.apiServer}/api/partner/groupOnboardMember`,{headers:s})).data)==null?void 0:i.data;a?String(a.groupId)!==this.groupId?(this.errorMessage="You are already in a different meeting. Reload or go back and try again.",this.isLoading=!1):this.firstName?await this.updateMemberInMeeting(this.firstName):this.$refs.userNameDialog.open(this.updateMemberInMeeting):this.firstName?await this.addMemberToMeeting(this.firstName):this.$refs.userNameDialog.open(this.addMemberToMeeting)}catch(s){this.errorMessage=f(s)||"There was an error checking for that meeting. Reload or go back and try again.",h("Error checking meeting: "+b(s),!0),this.isLoading=!1}}async addMemberToMeeting(e){e!=null&&(this.firstName=e);const i={name:this.firstName,did:this.activeDid,isRegistered:this.isRegistered},s=JSON.stringify(i),n=await w(s,this.password),a=await u(this.activeDid);try{await this.axios.post(`${this.apiServer}/api/partner/groupOnboardMember`,{groupId:this.groupId,content:n},{headers:a})}catch(d){h("Error adding member to meeting: "+b(d),!0),this.errorMessage=f(d)||"You're not in a meeting and couldn't be added to this one. Reload or go back and try again."}this.isLoading=!1}async updateMemberInMeeting(e){e!=null&&(this.firstName=e);const i={name:this.firstName,did:this.activeDid,isRegistered:this.isRegistered},s=JSON.stringify(i),n=await w(s,this.password),a=await u(this.activeDid);try{await this.axios.put(`${this.apiServer}/api/partner/groupOnboardMember`,{content:n},{headers:a})}catch(d){h("Error updating member in meeting: "+b(d),!0),this.errorMessage=f(d)||"There was an error updating your name. Reload or go back and try again."}this.isLoading=!1}handleError(e){this.errorMessage=e}};M=A([S({components:{QuickNav:O,TopMessage:L,MembersList:E,UserNameDialog:V}})],M);const B={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},U={key:0,class:"mt-16 text-center text-4xl bg-slate-400 text-white w-14 py-2.5 rounded-full mx-auto"},Q={key:1},z={class:"text-center text-red-600 py-8"};function P(r,t,e,i,s,n){const a=g("QuickNav"),d=g("TopMessage"),v=g("font-awesome"),y=g("MembersList"),D=g("UserNameDialog");return p(),l(I,null,[m(a,{selected:"Contacts"}),m(d),c("section",B,[t[1]||(t[1]=c("h1",{id:"ViewHeading",class:"text-4xl text-center font-light mb-8"}," Meeting Members ",-1)),r.isLoading?(p(),l("div",U,[m(v,{icon:"spinner",class:"fa-spin-pulse"})])):r.errorMessage?(p(),l("div",Q,[c("div",z,T(r.errorMessage),1),t[0]||(t[0]=c("div",{class:"text-center"}," For authorization, wait for your meeting organizer to approve you. ",-1))])):(p(),R(y,{key:2,password:r.password,onError:r.handleError},null,8,["password","onError"]))]),m(D,{ref:"userNameDialog","callback-on-cancel":!0,"sharing-explanation":"This is encrypted and shared only with people in this meeting."},null,512)],64)}const te=$(M,[["render",P]]);export{te as default}; |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
.dialog-overlay{z-index:40;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;padding:1.5rem}.dialog{background-color:#fff;padding:1rem;border-radius:.5rem;width:100%;max-width:500px} |
@ -0,0 +1 @@ |
|||||
|
.dialog-overlay{z-index:60;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;padding:1.5rem}.dialog{background-color:#fff;padding:1rem;border-radius:.5rem;width:100%;max-width:700px}.mirror-video{transform:scaleX(-1);-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1)} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
var S=Object.defineProperty;var k=(t,e,s)=>e in t?S(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var p=(t,e,s)=>k(t,typeof e!="symbol"?e+"":e,s);import{V as T,f as $,a7 as x,l as v,C,_ as V,j as m,k as f,m as r,p as h,s as w,o as B,x as D,F as M,B as b,E as g}from"./main.common-CyN0wKDJ.js";import{D as _}from"./datetime-BDQ5ptpc.js";import{Q as A}from"./QuickNav-knx6iT2l.js";import{T as O}from"./TopMessage-ClRBomc-.js";import{a4 as E,a0 as P,az as N,v as Q,aA as j}from"./index-BuQXBPSi.js";import"./index-DVAb2BqV.js";import"./index-B6aF1R1z.js";import"./_isString-BCVd99Zj.js";var U=Object.getOwnPropertyDescriptor,Y=(t,e,s,a)=>{for(var i=a>1?void 0:a?U(e,s):e,l=t.length-1,d;l>=0;l--)(d=t[l])&&(i=d(i)||i);return i};let y=class extends T{constructor(){super(...arguments);p(this,"$notify");p(this,"$router");p(this,"attended",!0);p(this,"gaveTime",!0);p(this,"hoursStr","1");p(this,"todayOrPreviousStartDate","")}async mounted(){let s=_.now().setZone("America/Denver");s.weekday<6&&(s=s.minus({week:1}));const a=s.set({weekday:6}).set({hour:9}).startOf("hour");this.todayOrPreviousStartDate=a.toISO({suppressMilliseconds:!0})||""}async record(){var l,d;const s=await $(),a=s.activeDid||"",i=s.apiServer||"";try{const u=E(this.hoursStr);this.$notify({group:"alert",type:"toast",title:"Sent..."},1e3);let c=!1;if(this.gaveTime&&u>0){const o=await P(x,i,a,a,void 0,void 0,u,"HUR",N);o.type==="success"?c=!0:(v.error("Error sending time:",o),this.$notify({group:"alert",type:"danger",title:"Error",text:((l=o==null?void 0:o.error)==null?void 0:l.userMessage)||"There was an error sending the time."},5e3))}let n=!1;if(this.attended){const o=await Q(j(a,this.todayOrPreviousStartDate),a,i,x);o.type==="success"?n=!0:(v.error("Error sending attendance:",o),this.$notify({group:"alert",type:"danger",title:"Error",text:((d=o==null?void 0:o.error)==null?void 0:d.userMessage)||"There was an error sending the attendance."},5e3))}if(c||n){const o=c&&n?"Your attendance and time have been recorded.":c?"Your time has been recorded.":"Your attendance has been recorded.";this.$notify({group:"alert",type:"success",title:"Success",text:o},3e3),this.$router.push({path:"/quick-action-bvc"})}}catch(u){v.error("Error sending claims.",u),this.$notify({group:"alert",type:"danger",title:"Error",text:u.userMessage||"There was an error sending the claims."},5e3)}}};y=Y([C({components:{QuickNav:A,TopMessage:O}})],y);const H={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},F={class:"text-lg text-center font-light relative px-7"},I={class:"m-2 flex"},z={class:"m-2 flex"},J={key:0},Z={key:1,class:"h-6"},q={key:0,class:"flex justify-center mt-4"},G={key:1,class:"flex justify-center mt-4"};function L(t,e,s,a,i,l){const d=b("QuickNav"),u=b("TopMessage"),c=b("font-awesome");return g(),m(M,null,[f(d),f(u),r("section",H,[r("div",F,[r("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=n=>t.$router.back())},[f(c,{icon:"chevron-left",class:"fa-fw"})])]),e[10]||(e[10]=r("h1",{id:"ViewHeading",class:"text-4xl text-center font-light px-4 mb-4"}," Beginning of BVC Saturday Meeting ",-1)),r("div",null,[e[8]||(e[8]=r("h2",{class:"text-2xl m-2"},"You're Here",-1)),r("div",I,[h(r("input",{"onUpdate:modelValue":e[1]||(e[1]=n=>t.attended=n),type:"checkbox",class:"h-6 w-6"},null,512),[[w,t.attended]]),e[5]||(e[5]=r("span",{class:"pb-2 pl-2 pr-2"},"Attended",-1))]),r("div",z,[h(r("input",{"onUpdate:modelValue":e[2]||(e[2]=n=>t.gaveTime=n),type:"checkbox",class:"h-6 w-6"},null,512),[[w,t.gaveTime]]),e[7]||(e[7]=r("span",{class:"pb-2 pl-2 pr-2"},"Spent Time",-1)),t.gaveTime?(g(),m("span",J,[h(r("input",{"onUpdate:modelValue":e[3]||(e[3]=n=>t.hoursStr=n),type:"text",placeholder:"How much time",size:"1",class:"border border-slate-400 h-6 px-2"},null,512),[[D,t.hoursStr]]),e[6]||(e[6]=B(" hour(s) "))])):(g(),m("span",Z))])]),t.attended||t.gaveTime&&t.hoursStr&&t.hoursStr!="0"?(g(),m("div",q,[r("button",{class:"block text-center text-md font-bold bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md w-56",onClick:e[4]||(e[4]=n=>t.record())}," Sign & Send ")])):(g(),m("div",G,e[9]||(e[9]=[r("button",{class:"block text-center text-md font-bold bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md w-56"}," Select Your Actions ",-1)])))])],64)}const ae=V(y,[["render",L]]);export{ae as default}; |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
var b=Object.defineProperty;var g=(e,t,o)=>t in e?b(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var m=(e,t,o)=>g(e,typeof t!="symbol"?t+"":t,o);import{V as v,C as k,_ as w,j as V,k as s,m as a,w as d,F as B,B as c,E as C,o as x}from"./main.common-CyN0wKDJ.js";import{Q as $}from"./QuickNav-knx6iT2l.js";import{T as Q}from"./TopMessage-ClRBomc-.js";import"./index-DVAb2BqV.js";var h=Object.getOwnPropertyDescriptor,y=(e,t,o,l)=>{for(var n=l>1?void 0:l?h(t,o):t,r=e.length-1,i;r>=0;r--)(i=e[r])&&(n=i(n)||n);return n};let p=class extends v{constructor(){super(...arguments);m(this,"$router")}};p=y([k({components:{QuickNav:$,TopMessage:Q}})],p);const N={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},M={class:"text-lg text-center font-light relative px-7"};function T(e,t,o,l,n,r){const i=c("QuickNav"),_=c("TopMessage"),f=c("font-awesome"),u=c("router-link");return C(),V(B,null,[s(i),s(_),a("section",N,[a("div",M,[a("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:t[0]||(t[0]=A=>e.$router.back())},[s(f,{icon:"chevron-left",class:"fa-fw"})])]),t[3]||(t[3]=a("h1",{id:"ViewHeading",class:"text-4xl text-center font-light px-4 mb-4"}," Bountiful Voluntaryist Community Actions ",-1)),a("div",null,[s(u,{to:{name:"quick-action-bvc-begin"},class:"block text-center text-md font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white mt-2 px-2 py-3 rounded-md"},{default:d(()=>t[1]||(t[1]=[x(" Beginning of Meeting ")])),_:1}),s(u,{to:{name:"quick-action-bvc-end"},class:"block text-center text-md font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white mt-2 px-2 py-3 rounded-md"},{default:d(()=>t[2]||(t[2]=[x(" End of Meeting ")])),_:1})])])],64)}const P=w(p,[["render",T]]);export{P as default}; |
@ -0,0 +1 @@ |
|||||
|
var v=Object.defineProperty;var b=(s,e,o)=>e in s?v(s,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):s[e]=o;var m=(s,e,o)=>b(s,typeof e!="symbol"?e+"":e,o);import{a2 as w,C as _,V as g,_ as h,B as u,j as k,E as y,m as t,y as i,k as l,w as d}from"./main.common-CyN0wKDJ.js";var C=Object.defineProperty,P=Object.getOwnPropertyDescriptor,p=(s,e,o,n)=>{for(var c=n>1?void 0:n?P(e,o):e,f=s.length-1,a;f>=0;f--)(a=s[f])&&(c=(n?a(e,o,c):a(c))||c);return n&&c&&C(e,o,c),c};let x=class extends g{constructor(){super(...arguments);m(this,"selected","")}};p([w],x.prototype,"selected",2);x=p([_],x);const j={id:"QuickNav",class:"fixed bottom-0 left-0 right-0 bg-slate-200 z-50"},N={class:"flex text-2xl p-2 gap-2 max-w-3xl mx-auto"},Q={class:"flex flex-col items-center"},$={class:"flex flex-col items-center"},B={class:"flex flex-col items-center"},D={class:"flex flex-col items-center"},O={class:"flex flex-col items-center"};function V(s,e,o,n,c,f){const a=u("font-awesome"),r=u("router-link");return y(),k("nav",j,[t("ul",N,[t("li",{class:i({"basis-1/5":!0,"rounded-md":!0,"bg-slate-400 text-white":s.selected==="Home","text-slate-500":s.selected!=="Home"})},[l(r,{to:{name:"home"},class:"block text-center py-2 px-1"},{default:d(()=>[t("div",Q,[l(a,{icon:"house-chimney",class:"fa-fw"}),e[0]||(e[0]=t("span",{class:"text-xs mt-1"},"feed",-1))])]),_:1})],2),t("li",{class:i({"basis-1/5":!0,"rounded-md":!0,"bg-slate-400 text-white":s.selected==="Discover","text-slate-500":s.selected!=="Discover"})},[l(r,{to:{name:"discover"},class:"block text-center py-2 px-1"},{default:d(()=>[t("div",$,[l(a,{icon:"magnifying-glass",class:"fa-fw"}),e[1]||(e[1]=t("span",{class:"text-xs mt-1"},"search",-1))])]),_:1})],2),t("li",{class:i({"basis-1/5":!0,"rounded-md":!0,"bg-slate-400 text-white":s.selected==="Projects","text-slate-500":s.selected!=="Projects"})},[l(r,{to:{name:"projects"},class:"block text-center py-2 px-1"},{default:d(()=>[t("div",B,[l(a,{icon:"hand",class:"fa-fw"}),e[2]||(e[2]=t("span",{class:"text-xs mt-1"},"your work",-1))])]),_:1})],2),t("li",{class:i({"basis-1/5":!0,"rounded-md":!0,"bg-slate-400 text-white":s.selected==="Contacts","text-slate-500":s.selected!=="Contacts"})},[l(r,{to:{name:"contacts"},class:"block text-center py-2 px-1"},{default:d(()=>[t("div",D,[l(a,{icon:"users",class:"fa-fw"}),e[3]||(e[3]=t("span",{class:"text-xs mt-1"},"contacts",-1))])]),_:1})],2),t("li",{class:i({"basis-1/5":!0,"rounded-md":!0,"bg-slate-400 text-white":s.selected==="Profile","text-slate-500":s.selected!=="Profile"})},[l(r,{to:{name:"account"},class:"block text-center py-2 px-1"},{default:d(()=>[t("div",O,[l(a,{icon:"circle-user",class:"fa-fw"}),e[4]||(e[4]=t("span",{class:"text-xs mt-1"},"profile",-1))])]),_:1})],2)])])}const q=h(x,[["render",V]]);export{q as Q}; |
@ -0,0 +1 @@ |
|||||
|
var U=Object.defineProperty;var b=(t,e,r)=>e in t?U(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var s=(t,e,r)=>b(t,typeof e!="symbol"?e+"":e,r);import{V as D,f as I,e as k,l as _,C as A,_ as x,j as l,k as n,m as a,n as w,o as i,w as v,F as O,B as h,E as c,G as C,t as f}from"./main.common-CyN0wKDJ.js";import{E}from"./EntityIcon-BCaUw-N4.js";import{G as N}from"./GiftedDialog-Pytrg6u7.js";import{I as S}from"./InfiniteScroll-BPyLyh-5.js";import{Q as V}from"./QuickNav-knx6iT2l.js";import{i as $,z as B,h as M,a6 as P}from"./index-BuQXBPSi.js";import"./index-DVAb2BqV.js";import"./index-B6aF1R1z.js";import"./_isString-BCVd99Zj.js";var R=Object.getOwnPropertyDescriptor,J=(t,e,r,j)=>{for(var d=j>1?void 0:j?R(e,r):e,p=t.length-1,u;p>=0;p--)(u=t[p])&&(d=u(d)||d);return d};let g=class extends D{constructor(){super(...arguments);s(this,"$notify");s(this,"$router");s(this,"activeDid","");s(this,"allContacts",[]);s(this,"allMyDids",[]);s(this,"apiServer","");s(this,"lastAckedOfferToUserProjectsJwtId","");s(this,"newOffersToUserProjects",[]);s(this,"newOffersToUserProjectsAtEnd",!1);s(this,"showOffersDetails",!1);s(this,"showOffersToUserProjectsDetails",!1);s(this,"didInfo",$);s(this,"displayAmount",B)}async created(){try{const e=await I();this.apiServer=e.apiServer||"",this.activeDid=e.activeDid||"",this.lastAckedOfferToUserProjectsJwtId=e.lastAckedOfferToUserProjectsJwtId||"",this.allContacts=await k.contacts.toArray(),this.allMyDids=await M();const r=await P(this.axios,this.apiServer,this.activeDid,void 0,void 0);this.newOffersToUserProjects=r.data,this.newOffersToUserProjectsAtEnd=!r.hitLimit}catch(e){_.error("Error retrieving settings & contacts:",e),this.$notify({group:"alert",type:"danger",title:"Error",text:e.message||"There was an error retrieving your activity."},5e3)}}async loadMoreOffersToUserProjects(){if(this.newOffersToUserProjectsAtEnd)return;const e=await P(this.axios,this.apiServer,this.activeDid,void 0,this.newOffersToUserProjects[this.newOffersToUserProjects.length-1].jwtId);this.newOffersToUserProjects.push(...e.data),this.newOffersToUserProjectsAtEnd=!e.hitLimit}};g=J([A({components:{EntityIcon:E,GiftedDialog:N,InfiniteScroll:S,QuickNav:V}})],g);const Q={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},Y={id:"ViewBreadcrumb",class:"mb-8"},F={class:"text-lg text-center font-light relative px-7"},G={key:0},L={class:"mt-2"},z={class:"mt-2"},H={"data-testId":"listRecentOffersToUserProjects",class:"border-t border-slate-300"},q={key:0,class:"border-b border-slate-300 text-orange-400 pb-2 mb-2 font-bold text-sm"},K={key:1},W={key:2};function X(t,e,r,j,d,p){const u=h("QuickNav"),m=h("font-awesome"),y=h("router-link"),T=h("InfiniteScroll");return c(),l(O,null,[n(u,{selected:"Home"}),a("section",Q,[a("div",Y,[a("h1",F,[n(m,{icon:"chevron-left",class:"fa-fw text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=o=>t.$router.back())}),e[1]||(e[1]=i(" Offers to Your Projects "))])]),t.newOffersToUserProjects.length===0?(c(),l("div",G,[e[6]||(e[6]=a("p",null,"Nobody has given any offers to your projects.",-1)),a("p",L,[e[3]||(e[3]=i(" Maybe there are already some projects you can help on the ")),n(y,{to:"/discover",class:"text-blue-500"},{default:v(()=>[e[2]||(e[2]=i(" Discover page ")),n(m,{icon:"search"})]),_:1})]),a("p",z,[e[5]||(e[5]=i(" You can announce more of your own on ")),n(y,{to:"/contacts",class:"text-blue-500"},{default:v(()=>[e[4]||(e[4]=i(" Your Ideas page ")),n(m,{icon:"hand"})]),_:1})])])):w("",!0),n(T,{onReachedBottom:t.loadMoreOffersToUserProjects},{default:v(()=>[a("ul",H,[(c(!0),l(O,null,C(t.newOffersToUserProjects,o=>(c(),l("li",{key:o.jwtId,class:"mt-4 relative group"},[o.jwtId==t.lastAckedOfferToUserProjectsJwtId?(c(),l("div",q," You've already seen all the following ")):w("",!0),a("span",null,f(t.didInfo(o.offeredByDid,t.activeDid,t.allMyDids,t.allContacts)),1),e[7]||(e[7]=i(" offered ")),o.objectDescription?(c(),l("span",K,f(o.objectDescription),1)):w("",!0),i(f(o.objectDescription&&o.amount?", and ":"")+" ",1),o.amount?(c(),l("span",W,f(t.displayAmount(o.unit,o.amount)),1)):w("",!0),e[8]||(e[8]=i(" to ")),a("span",null,f(o.planName),1),n(y,{to:{path:"/claim/"+encodeURIComponent(o.jwtId)},class:"text-blue-500"},{default:v(()=>[n(m,{icon:"file-lines",class:"pl-2 text-blue-500 cursor-pointer"})]),_:2},1032,["to"])]))),128))])]),_:1},8,["onReachedBottom"])])],64)}const ce=x(g,[["render",X]]);export{ce as default}; |
@ -0,0 +1 @@ |
|||||
|
var D=Object.defineProperty;var k=(t,e,s)=>e in t?D(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var o=(t,e,s)=>k(t,typeof e!="symbol"?e+"":e,s);import{V as I,f as _,e as A,l as x,C,_ as j,j as i,k as n,m as a,n as m,o as f,w as y,F as g,B as w,E as l,G as E,t as h}from"./main.common-CyN0wKDJ.js";import{G as S}from"./GiftedDialog-Pytrg6u7.js";import{E as V}from"./EntityIcon-BCaUw-N4.js";import{I as $}from"./InfiniteScroll-BPyLyh-5.js";import{Q as N}from"./QuickNav-knx6iT2l.js";import{i as B,z as R,h as M,a5 as U}from"./index-BuQXBPSi.js";import"./index-DVAb2BqV.js";import"./index-B6aF1R1z.js";import"./_isString-BCVd99Zj.js";var J=Object.getOwnPropertyDescriptor,Q=(t,e,s,d)=>{for(var c=d>1?void 0:d?J(e,s):e,p=t.length-1,u;p>=0;p--)(u=t[p])&&(c=u(c)||c);return c};let O=class extends I{constructor(){super(...arguments);o(this,"$notify");o(this,"$router");o(this,"activeDid","");o(this,"allContacts",[]);o(this,"allMyDids",[]);o(this,"apiServer","");o(this,"lastAckedOfferToUserJwtId","");o(this,"newOffersToUser",[]);o(this,"newOffersToUserAtEnd",!1);o(this,"showOffersDetails",!1);o(this,"showOffersToUserProjectsDetails",!1);o(this,"didInfo",B);o(this,"displayAmount",R)}async created(){try{const s=await _();this.apiServer=s.apiServer||"",this.activeDid=s.activeDid||"",this.lastAckedOfferToUserJwtId=s.lastAckedOfferToUserJwtId||"",this.allContacts=await A.contacts.toArray(),this.allMyDids=await M();const d=await U(this.axios,this.apiServer,this.activeDid,void 0,void 0);this.newOffersToUser=d.data,this.newOffersToUserAtEnd=!d.hitLimit}catch(s){x.error("Error retrieving settings & contacts:",s),this.$notify({group:"alert",type:"danger",title:"Error",text:s.message||"There was an error retrieving your activity."},5e3)}}async loadMoreOffersToUser(){if(this.newOffersToUserAtEnd)return;const s=await U(this.axios,this.apiServer,this.activeDid,void 0,this.newOffersToUser[this.newOffersToUser.length-1].jwtId);this.newOffersToUser.push(...s.data),this.newOffersToUserAtEnd=!s.hitLimit}};O=Q([C({components:{EntityIcon:V,GiftedDialog:S,InfiniteScroll:$,QuickNav:N}})],O);const F={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},G={id:"ViewBreadcrumb",class:"mb-8"},L={class:"text-lg text-center font-light relative px-7"},P={key:0},Y={class:"mt-2"},H={"data-testId":"listRecentOffersToUser",class:"border-t border-slate-300"},z={key:0,class:"border-b border-slate-300 text-orange-400 pb-2 mb-2 font-bold text-sm"},q={key:1},K={key:2};function W(t,e,s,d,c,p){const u=w("QuickNav"),v=w("font-awesome"),T=w("router-link"),b=w("InfiniteScroll");return l(),i(g,null,[n(u,{selected:"Home"}),a("section",F,[a("div",G,[a("h1",L,[n(v,{icon:"chevron-left",class:"fa-fw text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=r=>t.$router.back())}),e[1]||(e[1]=f(" Offers to You "))])]),t.newOffersToUser.length===0?(l(),i("div",P,[e[5]||(e[5]=a("p",null,"Nobody has given you an offer.",-1)),a("p",Y,[e[3]||(e[3]=f(" You can start the cycle on the ")),n(T,{to:"/contacts",class:"text-blue-500"},{default:y(()=>[e[2]||(e[2]=f(" Contacts page ")),n(v,{icon:"users"})]),_:1}),e[4]||(e[4]=f(` with an "Offer" directly to someone. Hopefully you'll find a common interest! `))])])):m("",!0),n(b,{onReachedBottom:t.loadMoreOffersToUser},{default:y(()=>[a("ul",H,[(l(!0),i(g,null,E(t.newOffersToUser,r=>(l(),i("li",{key:r.jwtId,class:"mt-4 relative group"},[r.jwtId==t.lastAckedOfferToUserJwtId?(l(),i("div",z," You've already seen all the following ")):m("",!0),a("span",null,h(t.didInfo(r.offeredByDid,t.activeDid,t.allMyDids,t.allContacts)),1),e[6]||(e[6]=f(" offered ")),r.objectDescription?(l(),i("span",q,h(r.objectDescription),1)):m("",!0),f(h(r.objectDescription&&r.amount?", and ":"")+" ",1),r.amount?(l(),i("span",K,h(t.displayAmount(r.unit,r.amount)),1)):m("",!0),n(T,{to:{path:"/claim/"+encodeURIComponent(r.jwtId)},class:"text-blue-500"},{default:y(()=>[n(v,{icon:"file-lines",class:"pl-2 text-blue-500 cursor-pointer"})]),_:2},1032,["to"])]))),128))])]),_:1},8,["onReachedBottom"])])],64)}const de=j(O,[["render",W]]);export{de as default}; |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
var C=Object.defineProperty;var k=(t,e,s)=>e in t?C(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var i=(t,e,s)=>k(t,typeof e!="symbol"?e+"":e,s);import{V as x,f as S,l as A,C as D,_ as $,j as a,k as l,m as o,w as V,n as B,o as p,p as m,t as g,v,F as N,B as f,E as r}from"./main.common-CyN0wKDJ.js";import{u as _}from"./index-B6aF1R1z.js";import{Q as P}from"./QuickNav-knx6iT2l.js";import{E,ar as R}from"./index-BuQXBPSi.js";import"./index-DVAb2BqV.js";import"./_isString-BCVd99Zj.js";var T=Object.getOwnPropertyDescriptor,F=(t,e,s,n)=>{for(var d=n>1?void 0:n?T(e,s):e,u=t.length-1,c;u>=0;u--)(c=t[u])&&(d=c(d)||d);return d};let y=class extends x{constructor(){super(...arguments);i(this,"$notify");i(this,"$router");i(this,"activeAccount",null);i(this,"numAccounts",0);i(this,"showCopiedDeri",!1);i(this,"showCopiedSeed",!1);i(this,"showSeed",!1)}async created(){try{const n=(await S()).activeDid||"";this.numAccounts=await E(),this.activeAccount=await R(n)}catch(s){A.error("Got an error loading an identifier:",s),this.$notify({group:"alert",type:"danger",title:"Error Loading Profile",text:"Got an error loading your seed data."},3e3)}}doCopyTwoSecRedo(s,n){n(),_().copy(s).then(()=>setTimeout(n,2e3))}};y=F([D({components:{QuickNav:P}})],y);const O={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},Q={class:"text-lg text-center font-light relative px-7"},j={class:"flex justify-between py-2"},H={key:0},G={key:0},W={class:"bg-slate-100 rounded-md overflow-hidden p-4 mb-4"},Y={key:0,class:"text-center text-slate-700 mt-2"},I={class:"text-sm text-green-500"},L={class:"text-sm text-green-500"},q={key:1};function z(t,e,s,n,d,u){const c=f("QuickNav"),w=f("font-awesome"),b=f("router-link");return r(),a(N,null,[l(c,{selected:"Profile"}),o("section",O,[o("div",Q,[o("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=h=>t.$router.back())},[l(w,{icon:"chevron-left",class:"fa-fw"})])]),e[10]||(e[10]=o("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Seed Backup ",-1)),o("div",j,[e[5]||(e[5]=o("span",null,null,-1)),o("span",null,[l(b,{to:{name:"help"},class:"text-xs uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 rounded-md ml-1"},{default:V(()=>e[4]||(e[4]=[p(" Help ")])),_:1})])]),t.activeAccount?(r(),a("div",H,[e[9]||(e[9]=o("p",{class:"text-center mb-4"},[o("b",{class:"text-red-600"},"BEWARE!"),p(" Anyone who has this seed phrase will be able impersonate you and take over any digital holdings based on it. Reveal it when you are somewhere private, when only you can see your screen, and record it somewhere only you have access. A password manager is a good idea, and so is a piece of paper in a vault. "),o("i",null,"We recommend you do NOT take a screenshot or send it to any online service.")],-1)),t.numAccounts>1?(r(),a("p",G,e[6]||(e[6]=[o("b",{class:"text-orange-600"},"Note:",-1),p(" You have more than one identifier stored in this browser. If they are all based on the same seed as the current identifier, this one backup is sufficient, as long as you also record the derivation path. However, if you have different seeds for other identifiers, you will have to back them up separately. ")]))):B("",!0),o("div",W,[t.showSeed?(r(),a("p",Y,[p(g(t.activeAccount.mnemonic)+" ",1),m(o("button",{onClick:e[1]||(e[1]=h=>t.doCopyTwoSecRedo(t.activeAccount.mnemonic,()=>t.showCopiedSeed=!t.showCopiedSeed))},[l(w,{icon:"copy",class:"text-slate-400 fa-fw"})],512),[[v,!t.showCopiedSeed]]),m(o("span",I," Copied ",512),[[v,t.showCopiedSeed]]),e[7]||(e[7]=o("br",null,null,-1)),e[8]||(e[8]=o("br",null,null,-1)),p(" Derivation Path: "+g(t.activeAccount.derivationPath)+" ",1),m(o("button",{onClick:e[2]||(e[2]=h=>t.doCopyTwoSecRedo(t.activeAccount.derivationPath,()=>t.showCopiedDeri=!t.showCopiedDeri))},[l(w,{icon:"copy",class:"text-slate-400 fa-fw"})],512),[[v,!t.showCopiedDeri]]),m(o("span",L,"Copied",512),[[v,t.showCopiedDeri]])])):(r(),a("button",{key:1,class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md",onClick:e[3]||(e[3]=h=>t.showSeed=!0)}," Reveal my Seed Phrase "))])])):(r(),a("div",q,"You do not have an active identity."))])],64)}const oe=$(y,[["render",z]]);export{oe as default}; |
@ -0,0 +1 @@ |
|||||
|
var h=Object.defineProperty;var v=(e,t,o)=>t in e?h(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var m=(e,t,o)=>v(e,typeof t!="symbol"?t+"":t,o);import{V as x,l as w,J as y,f as C,e as b,C as _,_ as $,j as k,k as p,m as s,o as g,F as S,B as d,E as V}from"./main.common-CyN0wKDJ.js";import{u as N}from"./index-B6aF1R1z.js";import{Q as E}from"./QuickNav-knx6iT2l.js";import{T as M}from"./TopMessage-ClRBomc-.js";import{r as I,M as T}from"./index-BuQXBPSi.js";import"./index-DVAb2BqV.js";import"./_isString-BCVd99Zj.js";var A=Object.getOwnPropertyDescriptor,D=(e,t,o,i)=>{for(var n=i>1?void 0:i?A(t,o):t,a=e.length-1,r;a>=0;a--)(r=e[a])&&(n=r(n)||n);return n};let f=class extends x{constructor(){super(...arguments);m(this,"$notify");m(this,"$router")}mounted(){w.log("APP_SERVER in mounted:",y)}async onClickShare(){const o=await C(),i=o.activeDid||"",n=o.firstName||"",a=!!o.isRegistered,r=o.profileImageUrl||"",c=await I(i),l=await b.contacts.count();if(c){const u=await T(c,a,n,r,!0);N().copy(u).then(()=>{this.$notify({group:"alert",type:"info",title:"Copied",text:"Your contact info was copied to the clipboard. Have them paste it in the box on their 'Contacts' screen."},5e3),l>0&&setTimeout(()=>{this.$notify({group:"alert",type:"success",title:"Share Other Contacts",text:"You may want to share some of your contacts with them. Select them below to copy and send."},1e4)},3e3)}),this.$router.push({name:"contacts"})}else this.$notify({group:"alert",type:"error",title:"Error",text:"No account was found for the active DID."},5e3)}};f=D([_({components:{QuickNav:E,TopMessage:M}})],f);const P={id:"Content",class:"p-2 pb-24 max-w-3xl mx-auto"},R={class:"text-lg text-center font-light relative px-7"},B={class:"flex justify-center mt-8"},F={class:"ml-12"};function O(e,t,o,i,n,a){const r=d("QuickNav"),c=d("TopMessage"),l=d("font-awesome");return V(),k(S,null,[p(r),p(c),s("section",P,[s("div",null,[s("div",R,[s("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:t[0]||(t[0]=u=>e.$router.back())},[p(l,{icon:"chevron-left",class:"fa-fw"})])]),t[2]||(t[2]=s("h1",{id:"ViewHeading",class:"text-4xl text-center font-light"}," Share Your Contact Info ",-1))]),s("div",B,[s("button",{class:"block w-fit text-center text-lg font-bold bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md",onClick:t[1]||(t[1]=u=>e.onClickShare())}," Copy to Clipboard ")]),s("div",F,[t[5]||(t[5]=s("div",{class:"mt-8"},"Click to copy your info, then send it to them.",-1)),s("div",null,[t[3]||(t[3]=g(" They will paste it in the input box on the Contacts ")),p(l,{icon:"users"}),t[4]||(t[4]=g(" screen. "))])])])],64)}const K=$(f,[["render",O]]);export{K as default}; |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
var f=Object.defineProperty;var x=(t,e,o)=>e in t?f(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var i=(t,e,o)=>x(t,typeof e!="symbol"?e+"":e,o);import{V as b,a4 as v,f as h,A as k,C as y,_,j as d,m as s,k as m,n as g,o as p,B as A,E as u}from"./main.common-CyN0wKDJ.js";import{E as N,aG as S}from"./index-BuQXBPSi.js";import"./index-DVAb2BqV.js";import"./index-B6aF1R1z.js";import"./_isString-BCVd99Zj.js";var C=Object.getOwnPropertyDescriptor,E=(t,e,o,c)=>{for(var r=c>1?void 0:c?C(e,o):e,a=t.length-1,n;a>=0;a--)(n=t[a])&&(r=n(r)||r);return r};let w=class extends b{constructor(){super(...arguments);i(this,"$router");i(this,"PASSKEYS_ENABLED",v);i(this,"givenName","");i(this,"numAccounts",0)}async mounted(){const o=await h();this.givenName=o.firstName||"",this.numAccounts=await N()}onClickNewSeed(){this.$router.push({name:"new-identifier"})}async onClickNewPasskey(){const o=k.APP_NAME+(this.givenName?" - "+this.givenName:"");await S(o),this.$router.push({name:"account"})}onClickNo(){this.$router.push({name:"import-account"})}onClickDerive(){this.$router.push({name:"import-derive"})}};w=E([y({components:{}})],w);const $={id:"Content",class:"p-6 pb-24 min-h-screen flex flex-col justify-center"},P={class:"text-lg text-center font-light relative px-7"},V={id:"start-question",class:"mt-8"},D={class:"max-w-3xl mx-auto"},B={key:0,class:"text-center font-light mt-6"},Y={href:"https://www.perplexity.ai/search/what-are-passkeys-v2SHV3yLQlyA2CYH6.Nvhg",target:"_blank"},K={class:"text-center font-light mt-4"},L={href:"https://www.perplexity.ai/search/what-is-a-seed-phrase-OqiP9foVRXidr_2le5OFKA",target:"_blank"},O={class:"grid grid-cols-1 sm:grid-cols-2 gap-2 mt-4"},G={class:"grid grid-cols-1 sm:grid-cols-2 gap-2 mt-2"};function H(t,e,o,c,r,a){const n=A("font-awesome");return u(),d("section",$,[s("div",null,[s("div",P,[s("h1",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:e[0]||(e[0]=l=>t.$router.back())},[m(n,{icon:"chevron-left",class:"fa-fw"})])]),e[5]||(e[5]=s("h1",{id:"ViewHeading",class:"text-4xl text-center font-light pt-4 mb-8"}," Generate an Identity ",-1))]),s("div",V,[s("div",D,[e[12]||(e[12]=s("p",{class:"text-center text-xl font-light"}," How do you want to create this identifier? ",-1)),t.PASSKEYS_ENABLED?(u(),d("p",B,[e[6]||(e[6]=p(" A ")),e[7]||(e[7]=s("strong",null,"passkey",-1)),e[8]||(e[8]=p(" is easy to manage, though it is less interoperable with other systems for advanced uses. ")),s("a",Y,[m(n,{icon:"info-circle",class:"fa-fw text-blue-500"})])])):g("",!0),s("p",K,[e[9]||(e[9]=p(" A ")),e[10]||(e[10]=s("strong",null,"new seed",-1)),e[11]||(e[11]=p(" allows you full control over the keys, though you are responsible for backups. ")),s("a",L,[m(n,{icon:"info-circle",class:"fa-fw text-blue-500"})])]),s("div",O,[t.PASSKEYS_ENABLED?(u(),d("a",{key:0,class:"block w-full text-center text-lg uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2 cursor-pointer",onClick:e[1]||(e[1]=l=>t.onClickNewPasskey())}," Generate one with a passkey ")):g("",!0),s("a",{class:"block w-full text-center text-lg uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2 cursor-pointer","data-testId":"newSeed",onClick:e[2]||(e[2]=l=>t.onClickNewSeed())}," Generate one with a new seed ")]),e[13]||(e[13]=s("p",{class:"text-center font-light mt-4"}," You can also import an existing seed or derive a new address from an existing seed. ",-1)),s("div",G,[s("a",{class:"block w-full text-center text-md uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md cursor-pointer",onClick:e[3]||(e[3]=l=>t.onClickNo())}," You have a seed "),t.numAccounts>0?(u(),d("a",{key:0,class:"block w-full text-center text-md uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-md cursor-pointer",onClick:e[4]||(e[4]=l=>t.onClickDerive())}," Derive new address from existing seed ")):g("",!0)])])])])}const T=_(w,[["render",H]]);export{T as default}; |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@ |
|||||
|
var _=Object.defineProperty;var u=(r,t,s)=>t in r?_(r,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[t]=s;var i=(r,t,s)=>u(r,typeof t!="symbol"?t+"":t,s);import{a2 as f,C as g,V as v,f as m,A as p,_ as x,B as h,j as S,E,m as l,t as P,k as D,w as R,o as w}from"./main.common-CyN0wKDJ.js";var y=Object.defineProperty,O=Object.getOwnPropertyDescriptor,d=(r,t,s,o)=>{for(var e=o>1?void 0:o?O(t,s):t,a=r.length-1,n;a>=0;a--)(n=r[a])&&(e=(o?n(t,s,e):n(e))||e);return o&&e&&y(t,s,e),e};let c=class extends v{constructor(){super(...arguments);i(this,"$notify");i(this,"selected","");i(this,"message","")}async mounted(){var s,o;try{const e=await m();if(e.warnIfTestServer&&e.apiServer!==p.PROD_ENDORSER_API_SERVER){const a=(s=e.activeDid)==null?void 0:s.slice(11,15);this.message="You're linked to a non-prod server, user "+a}else if(e.warnIfProdServer&&e.apiServer===p.PROD_ENDORSER_API_SERVER){const a=(o=e.activeDid)==null?void 0:o.slice(11,15);this.message="You're linked to the production server, user "+a}}catch(e){this.$notify({group:"alert",type:"danger",title:"Error Detecting Server",text:JSON.stringify(e)},-1)}}};d([f],c.prototype,"selected",2);c=d([g],c);const b={class:"absolute right-5 top-3"},V={class:"align-center text-red-500 mr-2"},$={class:"ml-2"};function A(r,t,s,o,e,a){const n=h("router-link");return E(),S("div",b,[l("span",V,P(r.message),1),l("span",$,[D(n,{to:{name:"help"},class:"text-xs uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-1 rounded-md ml-1"},{default:R(()=>t[0]||(t[0]=[w(" Help ")])),_:1})])])}const B=x(c,[["render",A]]);export{B as T}; |
@ -0,0 +1 @@ |
|||||
|
var b=Object.defineProperty;var m=(t,e,s)=>e in t?b(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var n=(t,e,s)=>m(t,typeof e!="symbol"?e+"":e,s);import{a2 as p,C as v,V as g,f as u,e as f,M as h,_ as x,j as _,n as C,E as N,m as i,o as y,p as k,t as w,x as S}from"./main.common-CyN0wKDJ.js";var E=Object.defineProperty,$=Object.getOwnPropertyDescriptor,d=(t,e,s,l)=>{for(var a=l>1?void 0:l?$(e,s):e,c=t.length-1,o;c>=0;c--)(o=t[c])&&(a=(l?o(e,s,a):o(a))||a);return l&&a&&E(e,s,a),a};let r=class extends g{constructor(){super(...arguments);n(this,"$notify");n(this,"sharingExplanation");n(this,"callbackOnCancel");n(this,"callback",()=>{});n(this,"givenName","");n(this,"visible",!1)}async open(s){this.callback=s||this.callback;const l=await u();this.givenName=l.firstName||"",this.visible=!0}async onClickSaveChanges(){await f.settings.update(h,{firstName:this.givenName}),this.visible=!1,this.callback(this.givenName)}onClickCancel(){this.visible=!1,this.callbackOnCancel&&this.callback()}};d([p({default:"This is not sent to servers. It is only shared with people when you send it to them."})],r.prototype,"sharingExplanation",2);d([p({default:!1})],r.prototype,"callbackOnCancel",2);r=d([v],r);const D={key:0,class:"dialog-overlay"},O={class:"dialog"},T={class:"mt-8"},V={class:"grid grid-cols-1 sm:grid-cols-2 gap-2"};function U(t,e,s,l,a,c){return t.visible?(N(),_("div",D,[i("div",O,[e[3]||(e[3]=i("h1",{class:"text-xl font-bold text-center mb-4"},"Set Your Name",-1)),y(" "+w(t.sharingExplanation)+" ",1),k(i("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>t.givenName=o),type:"text",placeholder:"Name",class:"block w-full rounded border border-slate-400 mb-4 px-3 py-2"},null,512),[[S,t.givenName]]),i("div",T,[i("div",V,[i("button",{type:"button",class:"block w-full text-center text-lg font-bold uppercase bg-gradient-to-b from-blue-400 to-blue-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:e[1]||(e[1]=o=>t.onClickSaveChanges())}," Save "),i("button",{type:"button",class:"block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-2 py-3 rounded-md mb-2",onClick:e[2]||(e[2]=o=>t.onClickCancel())}," Cancel ")])])])])):C("",!0)}const B=x(r,[["render",U]]);export{B as U}; |
@ -0,0 +1 @@ |
|||||
|
var V=Object.defineProperty;var A=(e,t,o)=>t in e?V(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var r=(e,t,o)=>A(e,typeof t!="symbol"?t+"":t,o);/* empty css */import{V as E,c as S,e as $,l as T,C as I,_ as N,j as n,k as s,m as a,o as u,n as h,t as v,w as f,F as B,B as p,E as d}from"./main.common-CyN0wKDJ.js";import{v as O,y as R,u as U,i as z}from"./vue-leaflet.es-SCy-wj_O.js";import{Q as F}from"./QuickNav-knx6iT2l.js";import{T as Q}from"./TopMessage-ClRBomc-.js";import{i as j,h as H,g as G}from"./index-BuQXBPSi.js";import"./index-DVAb2BqV.js";import"./index-B6aF1R1z.js";import"./_isString-BCVd99Zj.js";var q=Object.getOwnPropertyDescriptor,J=(e,t,o,i)=>{for(var l=i>1?void 0:i?q(t,o):t,c=e.length-1,m;c>=0;c--)(m=e[c])&&(l=m(l)||l);return l};let y=class extends E{constructor(){super(...arguments);r(this,"$notify");r(this,"$router");r(this,"$route");r(this,"activeDid","");r(this,"allContacts",[]);r(this,"allMyDids",[]);r(this,"isLoading",!0);r(this,"partnerApiServer",S);r(this,"profile",null);r(this,"didInfo",j)}async mounted(){var i,l;const o=await $.settings.toArray();this.activeDid=((i=o[0])==null?void 0:i.activeDid)||"",this.partnerApiServer=((l=o[0])==null?void 0:l.partnerApiServer)||this.partnerApiServer,this.allContacts=await $.contacts.toArray(),this.allMyDids=await H(),await this.loadProfile()}async loadProfile(){const o=this.$route.params.id;if(!o){this.isLoading=!1;return}try{const i=await fetch(`${this.partnerApiServer}/api/partner/userProfile/${encodeURIComponent(o)}`,{method:"GET",headers:await G(this.activeDid)});if(i.status===200){const l=await i.json();this.profile=l.data}else throw new Error("Failed to load profile")}catch(i){T.error("Error loading profile:",i),this.$notify({group:"alert",type:"danger",title:"Error",text:"There was a problem loading the profile."},5e3)}finally{this.isLoading=!1}}};y=J([I({components:{LMap:z,LMarker:U,LPopup:R,LTileLayer:O,QuickNav:F,TopMessage:Q}})],y);const K={id:"Content",class:"p-6 pb-24 max-w-3xl mx-auto"},W={id:"ViewBreadcrumb",class:"mb-8"},X={id:"ViewHeading",class:"text-lg text-center font-light relative px-7"},Y={key:0,class:"fixed left-6 mt-16 text-center text-4xl leading-none bg-slate-400 text-white w-14 py-2.5 rounded-full"},Z={key:1},x={class:"mt-8"},ee={class:"text-sm"},te={key:0,class:"mt-4 text-slate-600"},oe={key:0,class:"mt-4"},se={class:"h-96 mt-2 w-full"},ie={key:1,class:"mt-4"},re={class:"h-96 mt-2 w-full"},ae={key:2,class:"text-center mt-8"};function le(e,t,o,i,l,c){var k,b,C,M;const m=p("QuickNav"),P=p("TopMessage"),g=p("font-awesome"),w=p("l-tile-layer"),L=p("l-popup"),_=p("l-marker"),D=p("l-map");return d(),n(B,null,[s(m,{selected:"Discover"}),s(P),a("section",K,[a("div",W,[a("h1",X,[a("button",{class:"text-lg text-center px-2 py-1 absolute -left-2 -top-1",onClick:t[0]||(t[0]=ne=>e.$router.back())},[s(g,{icon:"chevron-left",class:"fa-fw"})]),t[1]||(t[1]=u(" Individual Profile "))])]),e.isLoading?(d(),n("div",Y,[s(g,{icon:"spinner",class:"fa-spin-pulse"})])):e.profile?(d(),n("div",Z,[a("div",x,[a("div",ee,[s(g,{icon:"user",class:"fa-fw text-slate-400"}),u(" "+v(e.didInfo(e.profile.issuerDid,e.activeDid,e.allMyDids,e.allContacts)),1)]),e.profile.description?(d(),n("p",te,v(e.profile.description),1)):h("",!0)]),(k=e.profile)!=null&&k.locLat&&((b=e.profile)!=null&&b.locLon)?(d(),n("div",oe,[t[2]||(t[2]=a("h2",{class:"text-lg font-semibold"},"Location",-1)),a("div",se,[s(D,{ref:"profileMap",center:[e.profile.locLat,e.profile.locLon],zoom:12},{default:f(()=>[s(w,{url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png","layer-type":"base",name:"OpenStreetMap"}),s(_,{"lat-lng":[e.profile.locLat,e.profile.locLon]},{default:f(()=>[s(L,null,{default:f(()=>[u(v(e.didInfo(e.profile.issuerDid,e.activeDid,e.allMyDids,e.allContacts)),1)]),_:1})]),_:1},8,["lat-lng"])]),_:1},8,["center"])])])):h("",!0),(C=e.profile)!=null&&C.locLat2&&((M=e.profile)!=null&&M.locLon2)?(d(),n("div",ie,[t[3]||(t[3]=a("h2",{class:"text-lg font-semibold"},"Second Location",-1)),a("div",re,[s(D,{ref:"profileMap",center:[e.profile.locLat2,e.profile.locLon2],zoom:12},{default:f(()=>[s(w,{url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png","layer-type":"base",name:"OpenStreetMap"}),s(_,{"lat-lng":[e.profile.locLat2,e.profile.locLon2]},{default:f(()=>[s(L,null,{default:f(()=>[u(v(e.didInfo(e.profile.issuerDid,e.activeDid,e.allMyDids,e.allContacts)),1)]),_:1})]),_:1},8,["lat-lng"])]),_:1},8,["center"])])])):h("",!0)])):(d(),n("div",ae,t[4]||(t[4]=[a("p",{class:"text-lg text-slate-500"},"Profile not found.",-1)])))])],64)}const Le=N(y,[["render",le]]);export{Le as default}; |
File diff suppressed because one or more lines are too long
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue