Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions public/config/experiences.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/**
* list of allowed ids.
*/
export const ALLOWED_IDS = ["demoModelViewer", "iceCore", "glacierInTime"];
Comment on lines +1 to +4
28 changes: 28 additions & 0 deletions src/app/demoModelViewer/modelViewer.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
.mainContainer {
padding: 2rem;
}

.instructionText {
margin-bottom: 1rem;
}

.buttonWrapper {
margin-top: 20px;
margin-bottom: 20px;
}

.backButton {
display: inline-block;
padding: 12px 24px;
background-color: #0070f3;
color: white;
text-decoration: none;
border-radius: 8px;
font-size: 16px;
font-weight: bold;
pointer-events: auto;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
transition:
background-color 0.2s ease,
transform 0.1s ease;
}
30 changes: 11 additions & 19 deletions src/app/demoModelViewer/page.tsx
Original file line number Diff line number Diff line change
@@ -1,28 +1,20 @@
import Link from "next/link";
import { Manrope } from "next/font/google";
import ModelViewer from "../../components/ModelViewer";
import styles from "./modelViewer.module.css";

const manrope = Manrope({ subsets: ["latin"] });

export default function Home() {
return (
<main style={{ padding: "2rem", fontFamily: "sans-serif" }}>
<p>Interact with the object to rotate it</p>
<main className={`${styles.mainContainer} ${manrope.className}`}>
<p className={styles.instructionText}>
Interagisici con l`oggetto per ruotarlo
</p>

<div style={{ marginBottom: "20px", marginTop: "20px" }}>
<Link
href="/"
style={{
display: "inline-block",
padding: "12px 24px",
backgroundColor: "#0070f3",
color: "white",
textDecoration: "none",
borderRadius: "8px",
fontSize: "16px",
fontWeight: "bold",
pointerEvents: "auto",
boxShadow: "0 4px 6px rgba(0,0,0,0.3)",
}}
>
← Back to the scanner
<div className={styles.buttonWrapper}>
<Link href="/" className={styles.backButton}>
← Torna allo scanner
</Link>
</div>

Expand Down
Binary file modified src/app/favicon.ico
Binary file not shown.
130 changes: 130 additions & 0 deletions src/app/glacierInTime/glacierInTime.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
.container {
position: relative;
width: 100vw;
height: 100dvh;
overflow: hidden;
background-color: #000;
}

/* Invisible overlay to catch click*/
.clickOverlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 8;
cursor: pointer;
}

/* Marker image */
.markerImage {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
max-width: 80vw;
max-height: 80vh;
width: auto;
height: auto;
transition: opacity 0.6s ease-in-out;
pointer-events: none;
z-index: 5;
}

/* UI */
.uiContainer {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
padding: 40px 20px;
z-index: 10;
pointer-events: none;
text-align: center;
box-sizing: border-box;
}

/* Higher text group*/
.textGroup {
display: flex;
flex-direction: column;
gap: 10px;
}

.instructionText {
font-size: 1.2rem;
color: #fff;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
margin: 0;
}

.pulseText {
font-size: 1.5rem;
color: #fff;
font-weight: bold;
animation: pulse 2s infinite;
text-transform: uppercase;
letter-spacing: 1px;
text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.9);
pointer-events: none;
}

/* Lower button group*/
.bottomGroup {
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
margin-bottom: 20px;
}

.backButton {
pointer-events: auto;
display: inline-block;
padding: 12px 24px;
background-color: #0070f3;
color: white;
text-decoration: none;
border-radius: 8px;
font-size: 16px;
font-weight: bold;
opacity: 0.8;
transition: opacity 0.2s ease;
}

.backButton:hover {
opacity: 1;
}

/* Iframe AR */
.iframeStyle {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
z-index: 1;
}

/* Animation */
@keyframes pulse {
0% {
transform: scale(1);
opacity: 0.8;
}
50% {
transform: scale(1.05);
opacity: 1;
}
100% {
transform: scale(1);
opacity: 0.8;
}
}
Comment on lines +1 to +130
Loading