Skip to content

Commit 7d5a716

Browse files
authored
Feat/connections (#7)
* remove party invite from auth page * remove party invite from app * home page fixes * basic search page setup * basic qr code page * connection details * qr timer * add connection commands and events * change connection page * pending and invite lists * connection and invite aggregates and protocols * update proto and fix aggregate logic * bump deps and more qr stuff * finish qr flow and some bulk invite stuff * remove attribute verification for now * completely remove buggy code * add page layout and party banner * improvements * update protos * fix search page * handle connection events * add capture area for qr code scan * small fixes * connection fixes * update viz for main site
1 parent 2876806 commit 7d5a716

File tree

133 files changed

+11955
-6395
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+11955
-6395
lines changed

README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ This repo is a monorepo with NPM workspace support. Here is an outline of its st
1818
- `utils`: This is a library containing common utility functions for web apps and sites.
1919

2020
- `sites/*`: This workspace contains all marketing and analytic sites.
21+
- `landing`: This is the landing page for Resplice.com.
2122
- `stats`: This is the public analytics site for Resplice.
2223

2324
### Setting Up A Development Environment
@@ -28,7 +29,9 @@ This repo is a monorepo with NPM workspace support. Here is an outline of its st
2829

2930
3. Build libraries: `npm run packages:build`
3031

31-
4. Spin up the Vite dev server: `npm run dev:resplice`
32+
4. Spin up the Vite dev server for auth: `npm run reauth:dev`
33+
34+
5. And for the actual application: `npm run resplice:dev`
3235

3336
## Build & Run
3437

apps/overseer/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@
1717
"@resplice/utils": "*"
1818
},
1919
"devDependencies": {
20-
"@sveltejs/vite-plugin-svelte": "^2.0.4",
20+
"@sveltejs/vite-plugin-svelte": "^2.4.6",
2121
"@tsconfig/svelte": "^5.0.2",
2222
"autoprefixer": "^10.4.16",
2323
"eslint-config-custom": "*",
2424
"postcss": "^8.4.31",
25-
"svelte": "^4.2.1",
25+
"svelte": "^4.2.3",
2626
"svelte-check": "^3.5.2",
2727
"tailwindcss": "^3.3.3",
28-
"tslib": "^2.5.3",
29-
"vite": "^4.4.11"
28+
"tslib": "^2.6.2",
29+
"vite": "^4.5.0"
3030
}
3131
}

apps/reauth/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
# Reauth
22

33
Resplice Auth App
4-
5-
-- trigger workflow

apps/reauth/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@
3333
"autoprefixer": "^10.4.16",
3434
"eslint-config-custom": "*",
3535
"postcss": "^8.4.31",
36-
"svelte": "^4.2.1",
36+
"svelte": "^4.2.3",
3737
"svelte-check": "^3.5.2",
3838
"svelte-preprocess": "^5.0.4",
3939
"tailwindcss": "^3.3.3",
40-
"tslib": "^2.5.3",
41-
"vite": "^4.4.11"
40+
"tslib": "^2.6.2",
41+
"vite": "^4.5.0"
4242
}
4343
}

apps/reauth/src/lib/i18n/locales/en.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"continue": "Continue"
44
},
55
"login": "Login",
6-
"welcome": "Welcome to the world's most up-to-date address book.",
6+
"welcome": "Welcome to the world's sharing platform!",
77
"enterPhone": "Enter Phone",
88
"rememberMe": "Remember Me",
99
"verify": "Verify",

apps/reauth/src/routes/+page.svelte

+22-52
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,41 @@
11
<script lang="ts">
2-
import { browser } from '$app/environment'
32
import { onMount } from 'svelte'
3+
import { t } from '$lib/i18n'
4+
import { browser } from '$app/environment'
45
import { goto } from '$app/navigation'
56
import store, { AuthStatus, INITIAL_STORE } from '$lib/store'
6-
import { AttributeItem, PartyBannerIcon } from '@resplice/components'
7+
import { RespliceWideIcon } from '@resplice/components'
78
import LoginForm from './LoginForm.svelte'
8-
import { AttributeType, type Attribute } from '@resplice/utils'
99
1010
onMount(() => store.set(INITIAL_STORE))
1111
12-
const dateTime: Attribute = {
13-
id: 1,
14-
type: AttributeType.DATE_TIME,
15-
name: 'Open House (6 hrs)',
16-
value: {
17-
year: 2023,
18-
month: 11,
19-
day: 16,
20-
hour: 16,
21-
minute: 0,
22-
timezone: 'America/Chicago'
23-
},
24-
sortOrder: 0
25-
}
26-
const location: Attribute = {
27-
id: 2,
28-
type: AttributeType.ADDRESS,
29-
name: 'Location',
30-
value: {
31-
streetAddress1: 'Somewhere fun! (RSVP for details)',
32-
streetAddress2: '',
33-
locality: 'Oakdale',
34-
region: 'MN',
35-
postalCode: '',
36-
country: ''
37-
},
38-
sortOrder: 0
39-
}
40-
const link: Attribute = {
41-
id: 3,
42-
type: AttributeType.LINK,
43-
name: 'Learn more about the party',
44-
value: {
45-
url: 'https://faq.resplice.com'
46-
},
47-
sortOrder: 0
48-
}
49-
5012
$: {
5113
if (browser && $store.status === AuthStatus.PENDING_VERIFY_PHONE) goto('/verify')
5214
}
15+
16+
const day = new Date().getDate() === 15 ? 'tomorrow' : 'today'
17+
const showPartyText = [15, 16].includes(new Date().getDate())
5318
</script>
5419

55-
<main class="w-full min-h-full max-w-lg m-auto overlow-auto bg-white">
56-
<header class="w-full p-2 bg-[#5E6FC5] rounded-b-3xl">
57-
<PartyBannerIcon width="100%" />
58-
</header>
20+
<main class="w-full min-h-full max-w-lg m-auto flex flex-col overlow-auto bg-white">
21+
<div class="flex-none">
22+
<header class="w-full p-4 bg-[#5E6FC5] rounded-b-3xl">
23+
<RespliceWideIcon width="100%" />
24+
</header>
25+
26+
<p class="text-lg mt-4 px-8 py-4">
27+
{$t('auth.welcome')}
28+
</p>
5929

60-
<div class="w-full p-6 space-y-4">
61-
<h2 class="text-2xl font-semibold">Launch Party</h2>
62-
<AttributeItem attribute={dateTime} itemType="user" disableActions />
63-
<AttributeItem attribute={location} itemType="user" />
64-
<AttributeItem attribute={link} itemType="user" />
30+
{#if showPartyText}
31+
<div class="px-8 py-4 text-lg text-center">
32+
<p>Resplice launch party {day}</p>
33+
<p>4PM-10PM</p>
34+
</div>
35+
{/if}
6536
</div>
6637

67-
<div class="w-full px-8 py-4 flex flex-col">
68-
<p class="font-semibold mb-4">RSVP</p>
38+
<div class="w-full flex-1 px-8 py-4 flex">
6939
<LoginForm />
7040
</div>
7141
</main>

apps/resplice/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
# Resplice
22

33
Resplice Progressive Web App
4-
5-
-- trigger workflow

apps/resplice/package.json

+7-4
Original file line numberDiff line numberDiff line change
@@ -19,31 +19,34 @@
1919
"@resplice/components": "*",
2020
"@resplice/proto": "*",
2121
"@resplice/utils": "*",
22+
"@types/js-search": "^1.4.3",
2223
"clsx": "^2.0.0",
2324
"croppie": "^2.6.5",
2425
"date-fns": "^2.30.0",
2526
"date-fns-tz": "^2.0.0",
27+
"js-search": "^2.0.1",
2628
"jsqr": "^1.4.0",
27-
"libphonenumber-js": "^1.10.47",
29+
"libphonenumber-js": "^1.10.49",
2830
"qrcode": "^1.5.3",
2931
"rxjs": "^7.8.1",
30-
"svelte-i18n": "^3.7.4",
32+
"svelte-i18n": "^4.0.0",
3133
"svelte-spa-router": "^3.3.0"
3234
},
3335
"devDependencies": {
3436
"@playwright/test": "^1.38.1",
3537
"@sveltejs/vite-plugin-svelte": "^2.4.6",
3638
"@tsconfig/svelte": "^5.0.2",
3739
"@types/croppie": "^2.6.2",
40+
"@types/qrcode": "^1.5.2",
3841
"@vite-pwa/assets-generator": "^0.0.10",
3942
"autoprefixer": "^10.4.16",
4043
"eslint-config-custom": "*",
4144
"postcss": "^8.4.31",
42-
"svelte": "^4.2.1",
45+
"svelte": "^4.2.3",
4346
"svelte-check": "^3.5.2",
4447
"tailwindcss": "^3.3.3",
4548
"tslib": "^2.6.2",
46-
"vite": "^4.4.11",
49+
"vite": "^4.5.0",
4750
"vite-plugin-pwa": "^0.16.5",
4851
"vitest": "^0.34.6",
4952
"workbox-precaching": "^7.0.0",

apps/resplice/public/favicon.ico

-914 Bytes
Binary file not shown.

apps/resplice/src/Router.svelte

+20-11
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,25 @@
33
// Meta Pages
44
import RootPage from '$common/pages/RootPage.svelte'
55
import HomePage from '$common/pages/HomePage.svelte'
6+
import SearchPage from '$modules/search/pages/SearchPage.svelte'
67
import AppEventPage from '$modules/_context/pages/AppEventPage.svelte'
78
import NotFoundPage from '$common/pages/NotFoundPage.svelte'
9+
import PartyInvitePage from '$common/pages/PartyInvitePage.svelte'
810
// Account Pages
9-
// import ProfilePage from '$modules/account/pages/ProfilePage.svelte'
11+
import ProfilePage from '$modules/account/pages/ProfilePage.svelte'
1012
import SettingsPage from '$modules/account/pages/SettingsPage.svelte'
1113
// Attribute Pages
1214
import SelectAttributeTypePage from '$modules/attribute/pages/SelectAttributeTypePage.svelte'
1315
import AddAttributePage from '$modules/attribute/pages/AddAttributePage.svelte'
1416
import ChangeAttributePage from '$modules/attribute/pages/ChangeAttributePage.svelte'
1517
// Invite Pages
1618
// import BulkInvitePage from '$modules/invite/pages/BulkInvitePage.svelte'
19+
import QrInvitePage from '$modules/invite/pages/QrInvitePage.svelte'
20+
import ScanQrPage from '$modules/invite/pages/ScanQrPage.svelte'
21+
import QrConnectionDetailPage from '$modules/invite/pages/QrConnectionDetailPage.svelte'
22+
// Connection Pages
23+
import ConnectionDetailPage from '$modules/connection/pages/ConnectionDetailPage.svelte'
24+
import ChangeConnectionPage from '$modules/connection/pages/ChangeConnectionPage.svelte'
1725
1826
export let initialUrl = ''
1927
@@ -23,23 +31,24 @@
2331
'/attribute/add': SelectAttributeTypePage,
2432
'/attribute/add/:type': AddAttributePage,
2533
'/attribute/:id/change': ChangeAttributePage,
26-
// '/contact/pending/:id': PendingContactDetailPage,
27-
// '/contact/:id/attributes': ContactAttributesPage,
28-
// '/contact/:id/chat': ContactChatPage,
29-
// '/contact/:id/edit': EditContactPage,
30-
// '/contact/:id/shares': ContactSharesPage,
34+
// '/connection/pending/:id': PendingContactDetailPage,
35+
'/connection/:id/details': ConnectionDetailPage,
36+
// '/connection/:id/chat': ContactChatPage,
37+
'/connection/:id/change': ChangeConnectionPage,
38+
// '/connection/:id/shares': ContactSharesPage,
3139
'/home/*': HomePage,
3240
// '/invite': SelectInviteMethodPage,
3341
// '/invite/bulk': BulkInvitePage,
3442
// '/invite/create/*': CreateInvitePage,
3543
// '/invite/list': InviteListPage,
3644
// '/invite/:id': InviteDetailPage,
37-
// '/invite/qr': QrInvitePage,
38-
// '/invite/qr/scan': ScanQrPage,
39-
// '/invite/qr/:id': UnlockQrPage,
40-
// '/profile': ProfilePage,
41-
// '/search': SearchPage,
45+
'/invite/qr-scan': ScanQrPage,
46+
'/invite/qr': QrInvitePage,
47+
'/invite/qr/:uuid': QrConnectionDetailPage,
48+
'/profile': ProfilePage,
49+
'/search': SearchPage,
4250
'/settings': SettingsPage,
51+
'/party': PartyInvitePage,
4352
'*': NotFoundPage
4453
}
4554

apps/resplice/src/common/components/LaunchPartyInvite.svelte

-58
This file was deleted.

0 commit comments

Comments
 (0)