Skip to content

Commit dcdd7d4

Browse files
committed
fix: merge conflict.
2 parents f8720aa + 4168572 commit dcdd7d4

File tree

69 files changed

+4091
-3530
lines changed

Some content is hidden

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

69 files changed

+4091
-3530
lines changed

infrastructure/eid-wallet/src-tauri/gen/apple/eid-wallet.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@
377377
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
378378
CODE_SIGN_ENTITLEMENTS = "eid-wallet_iOS/eid-wallet_iOS.entitlements";
379379
CODE_SIGN_IDENTITY = "iPhone Developer";
380-
DEVELOPMENT_TEAM = 7F2T2WK6DR;
380+
DEVELOPMENT_TEAM = 3FS4B734X5;
381381
ENABLE_BITCODE = NO;
382382
"EXCLUDED_ARCHS[sdk=iphoneos*]" = "arm64-sim x86_64";
383383
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
@@ -430,7 +430,7 @@
430430
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
431431
CODE_SIGN_ENTITLEMENTS = "eid-wallet_iOS/eid-wallet_iOS.entitlements";
432432
CODE_SIGN_IDENTITY = "iPhone Developer";
433-
DEVELOPMENT_TEAM = 7F2T2WK6DR;
433+
DEVELOPMENT_TEAM = 3FS4B734X5;
434434
ENABLE_BITCODE = NO;
435435
"EXCLUDED_ARCHS[sdk=iphoneos*]" = "arm64-sim x86_64";
436436
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;

infrastructure/eid-wallet/src/routes/(auth)/e-passport/+page.svelte

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,33 @@ const handleFinish = async () => {
99
};
1010
</script>
1111

12-
13-
<main class="h-[max-content] pt-[5.2svh] px-[5vw] pb-[4.5svh] flex flex-col justify-between">
12+
<main
13+
class="h-[max-content] pt-[5.2svh] px-[5vw] pb-[4.5svh] flex flex-col justify-between"
14+
>
1415
<section>
1516
<Hero
16-
title="Your ePassport and eVault are ready"
17-
subtitle="Log into any W3DS platform without passwords. It’s tied to this phone; if lost, you’ll need to revoke and reissue it on a new device."
18-
class="mb-2"
17+
title="Your ePassport and eVault are ready"
18+
subtitle="Log into any W3DS platform without passwords. It’s tied to this phone; if lost, you’ll need to revoke and reissue it on a new device."
19+
class="mb-2"
20+
/>
21+
<IdentityCard
22+
variant="ePassport"
23+
userData={{
24+
Name: "Ananya",
25+
Dob: "29 Nov 2003",
26+
Nationality: "Indian",
27+
Passport: "234dfvgsdfg",
28+
}}
1929
/>
20-
<IdentityCard variant= "ePassport"
21-
userData= {{
22-
Name: "Ananya",
23-
Dob: "29 Nov 2003",
24-
Nationality: "Indian",
25-
Passport: "234dfvgsdfg",
26-
}}/>
2730
</section>
2831
<section class="mt-[4svh] mb-[9svh]">
2932
<h4>Your eVault</h4>
30-
<p class="text-black-700 mb-[1svh]">We’ve also created your eVault—secure cloud storage for your personal data. W3DS platforms access it directly, keeping you in control.</p>
31-
<IdentityCard variant= "eVault"
32-
usedStorage= {15}
33-
totalStorage= {80}/>
33+
<p class="text-black-700 mb-[1svh]">
34+
We’ve also created your eVault—secure cloud storage for your
35+
personal data. W3DS platforms access it directly, keeping you in
36+
control.
37+
</p>
38+
<IdentityCard variant="eVault" usedStorage={15} totalStorage={80} />
3439
</section>
3540
<ButtonAction class="w-full" callback={handleFinish}>Finish</ButtonAction>
36-
</main>
41+
</main>

infrastructure/eid-wallet/src/routes/+layout.svelte

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,17 @@ onMount(async () => {
5353
showSplashScreen = false;
5454
});
5555
56+
const safeAreaTop = $derived.by(
57+
() =>
58+
Number.parseFloat(
59+
getComputedStyle(document.documentElement).getPropertyValue(
60+
"--safe-top",
61+
),
62+
) || 0,
63+
);
64+
65+
$effect(() => console.log("top", safeAreaTop));
66+
5667
onNavigate((navigation) => {
5768
if (!document.startViewTransition) return;
5869
@@ -88,10 +99,31 @@ onNavigate((navigation) => {
8899
});
89100
</script>
90101

91-
{#if showSplashScreen}
92-
<SplashScreen />
93-
{:else}
94-
<div class="bg-white h-[100dvh] overflow-scroll">
95-
{@render children?.()}
96-
</div>
97-
{/if}
102+
<main class={`h-[calc(100dvh-${safeAreaTop}px)] overflow-hidden`}>
103+
{#if showSplashScreen}
104+
<SplashScreen />
105+
{:else}
106+
<div class={`bg-white h-[calc(100dvh-${safeAreaTop}px)] overflow-auto`}>
107+
{@render children?.()}
108+
</div>
109+
{/if}
110+
</main>
111+
112+
<style>
113+
:root {
114+
--safe-bottom: env(safe-area-inset-bottom);
115+
--safe-top: env(safe-area-inset-top);
116+
}
117+
118+
:global(body), * {
119+
-webkit-overflow-scrolling: touch; /* keeps momentum scrolling on iOS */
120+
scrollbar-width: none; /* Firefox */
121+
-ms-overflow-style: none; /* IE 10+ */
122+
}
123+
124+
/* Hide scrollbar for WebKit (Chrome, Safari) */
125+
:global(body::-webkit-scrollbar),
126+
*::-webkit-scrollbar {
127+
display: none;
128+
}
129+
</style>

infrastructure/evault-core/src/evault.ts

Lines changed: 84 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import { LogService } from "./w3id/log-service";
33
import { GraphQLServer } from "./protocol/graphql-server";
44
import { registerHttpRoutes } from "./http/server";
55
import fastify, {
6-
FastifyInstance,
7-
FastifyRequest,
8-
FastifyReply,
6+
FastifyInstance,
7+
FastifyRequest,
8+
FastifyReply,
99
} from "fastify";
1010
import { renderVoyagerPage } from "graphql-voyager/middleware";
1111
import { createYoga } from "graphql-yoga";
@@ -17,80 +17,89 @@ import { W3ID } from "./w3id/w3id";
1717
dotenv.config({ path: path.resolve(__dirname, "../../../.env") });
1818

1919
class EVault {
20-
server: FastifyInstance;
21-
graphqlServer: GraphQLServer;
22-
logService: LogService;
23-
driver: Driver;
24-
25-
constructor() {
26-
const uri = process.env.NEO4J_URI || "bolt://localhost:7687";
27-
const user = process.env.NEO4J_USER || "neo4j";
28-
const password = process.env.NEO4J_PASSWORD || "neo4j";
29-
30-
if (
31-
!process.env.NEO4J_URI ||
32-
!process.env.NEO4J_USER ||
33-
!process.env.NEO4J_PASSWORD
34-
) {
35-
console.warn(
36-
"Using default Neo4j connection parameters. Set NEO4J_URI, NEO4J_USER, and NEO4J_PASSWORD environment variables for custom configuration."
37-
);
20+
server: FastifyInstance;
21+
graphqlServer: GraphQLServer;
22+
logService: LogService;
23+
driver: Driver;
24+
25+
constructor() {
26+
const uri = process.env.NEO4J_URI || "bolt://localhost:7687";
27+
const user = process.env.NEO4J_USER || "neo4j";
28+
const password = process.env.NEO4J_PASSWORD || "neo4j";
29+
30+
if (
31+
!process.env.NEO4J_URI ||
32+
!process.env.NEO4J_USER ||
33+
!process.env.NEO4J_PASSWORD
34+
) {
35+
console.warn(
36+
"Using default Neo4j connection parameters. Set NEO4J_URI, NEO4J_USER, and NEO4J_PASSWORD environment variables for custom configuration.",
37+
);
38+
}
39+
40+
this.driver = neo4j.driver(uri, neo4j.auth.basic(user, password));
41+
42+
const dbService = new DbService(this.driver);
43+
this.logService = new LogService(this.driver);
44+
this.graphqlServer = new GraphQLServer(dbService);
45+
46+
this.server = fastify({
47+
logger: true,
48+
});
3849
}
3950

40-
this.driver = neo4j.driver(uri, neo4j.auth.basic(user, password));
41-
42-
const dbService = new DbService(this.driver);
43-
this.logService = new LogService(this.driver);
44-
this.graphqlServer = new GraphQLServer(dbService);
45-
46-
this.server = fastify({
47-
logger: true,
48-
});
49-
}
50-
51-
async initialize() {
52-
await registerHttpRoutes(this.server);
53-
54-
const w3id = await W3ID.get({
55-
id: process.env.W3ID as string,
56-
driver: this.driver,
57-
password: process.env.ENCRYPTION_PASSWORD,
58-
});
59-
60-
const yoga = this.graphqlServer.init();
61-
62-
this.server.route({
63-
// Bind to the Yoga's endpoint to avoid rendering on any path
64-
url: yoga.graphqlEndpoint,
65-
method: ["GET", "POST", "OPTIONS"],
66-
handler: (req, reply) =>
67-
yoga.handleNodeRequestAndResponse(req, reply, {
68-
req,
69-
reply,
70-
}),
71-
});
72-
73-
// Mount Voyager endpoint
74-
this.server.get("/voyager", (req: FastifyRequest, reply: FastifyReply) => {
75-
reply.type("text/html").send(
76-
renderVoyagerPage({
77-
endpointUrl: "/graphql",
78-
})
79-
);
80-
});
81-
}
82-
83-
async start() {
84-
await this.initialize();
85-
86-
const port = process.env.NOMAD_PORT_http || process.env.PORT || 4000;
87-
88-
await this.server.listen({ port: Number(port), host: "0.0.0.0" });
89-
console.log(`Server started on http://0.0.0.0:${port}`);
90-
console.log(`GraphQL endpoint available at http://0.0.0.0:${port}/graphql`);
91-
console.log(`GraphQL Voyager available at http://0.0.0.0:${port}/voyager`);
92-
console.log(`API Documentation available at http://0.0.0.0:${port}/docs`);
93-
}
51+
async initialize() {
52+
await registerHttpRoutes(this.server);
53+
54+
const w3id = await W3ID.get({
55+
id: process.env.W3ID as string,
56+
driver: this.driver,
57+
password: process.env.ENCRYPTION_PASSWORD,
58+
});
59+
60+
const yoga = this.graphqlServer.init();
61+
62+
this.server.route({
63+
// Bind to the Yoga's endpoint to avoid rendering on any path
64+
url: yoga.graphqlEndpoint,
65+
method: ["GET", "POST", "OPTIONS"],
66+
handler: (req, reply) =>
67+
yoga.handleNodeRequestAndResponse(req, reply, {
68+
req,
69+
reply,
70+
}),
71+
});
72+
73+
// Mount Voyager endpoint
74+
this.server.get(
75+
"/voyager",
76+
(req: FastifyRequest, reply: FastifyReply) => {
77+
reply.type("text/html").send(
78+
renderVoyagerPage({
79+
endpointUrl: "/graphql",
80+
}),
81+
);
82+
},
83+
);
84+
}
85+
86+
async start() {
87+
await this.initialize();
88+
89+
const port = process.env.NOMAD_PORT_http || process.env.PORT || 4000;
90+
91+
await this.server.listen({ port: Number(port), host: "0.0.0.0" });
92+
console.log(`Server started on http://0.0.0.0:${port}`);
93+
console.log(
94+
`GraphQL endpoint available at http://0.0.0.0:${port}/graphql`,
95+
);
96+
console.log(
97+
`GraphQL Voyager available at http://0.0.0.0:${port}/voyager`,
98+
);
99+
console.log(
100+
`API Documentation available at http://0.0.0.0:${port}/docs`,
101+
);
102+
}
94103
}
95104

96105
const evault = new EVault();

0 commit comments

Comments
 (0)