Skip to content

Commit fed136d

Browse files
authored
Merge commit from fork
1 parent c11665c commit fed136d

File tree

13 files changed

+203
-2
lines changed

13 files changed

+203
-2
lines changed

packages/docs/src/routes/api/qwik/api.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3473,4 +3473,4 @@
34733473
"mdFile": "qwik.webviewhtmlattributes.md"
34743474
}
34753475
]
3476-
}
3476+
}

packages/qwik/src/core/util/log.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const throwErrorAndStop = (message?: any, ...optionalParams: any[]): neve
1919
};
2020

2121
export const logErrorAndStop = (message?: any, ...optionalParams: any[]) => {
22-
const err = createAndLogError(true, message, ...optionalParams);
22+
const err = createAndLogError(qDev, message, ...optionalParams);
2323
// eslint-disable-next-line no-debugger
2424
debugger;
2525
return err;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"description": "QwikCity e2e prod app",
3+
"type": "module",
4+
"__qwik__": {
5+
"qwikCity": true
6+
}
7+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import { component$ } from "@builder.io/qwik";
2+
import { useDocumentHead, useLocation } from "@builder.io/qwik-city";
3+
import { Social } from "./social";
4+
import { Vendor } from "./vendor";
5+
6+
export const RouterHead = component$(() => {
7+
const head = useDocumentHead();
8+
const loc = useLocation();
9+
10+
const title = head.title ? `${head.title} - Qwik` : `Qwik`;
11+
return (
12+
<>
13+
<title>{title}</title>
14+
<link rel="canonical" href={loc.url.href} />
15+
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
16+
<meta name="viewport" content="width=device-width" />
17+
18+
<Social loc={loc} head={head} />
19+
<Vendor loc={loc} />
20+
21+
{head.meta.map((m) => (
22+
<meta {...m} />
23+
))}
24+
25+
{head.links.map((l) => (
26+
<link {...l} />
27+
))}
28+
29+
{head.styles.map((s) => (
30+
<style
31+
key={s.key}
32+
{...s.props}
33+
{...(s.props?.dangerouslySetInnerHTML
34+
? {}
35+
: { dangerouslySetInnerHTML: s.style })}
36+
/>
37+
))}
38+
39+
{head.scripts.map((s) => (
40+
<script
41+
key={s.key}
42+
{...s.props}
43+
{...(s.props?.dangerouslySetInnerHTML
44+
? {}
45+
: { dangerouslySetInnerHTML: s.script })}
46+
/>
47+
))}
48+
</>
49+
);
50+
});
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import type {
2+
ResolvedDocumentHead,
3+
RouteLocation,
4+
} from "@builder.io/qwik-city";
5+
6+
export const Social = ({ head, loc }: SocialProps) => {
7+
return (
8+
<>
9+
{/* Open Graph: https://ogp.me/ */}
10+
<meta property="og:url" content={loc.url.href} />
11+
<meta property="og:title" content={head.title} />
12+
<meta property="og:type" content="website" />
13+
<meta property="og:site_name" content="Qwik" />
14+
<meta property="og:locale" content="en_US" />
15+
16+
{/* Twitter: https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards */}
17+
<meta name="twitter:card" content="summary_large_image" />
18+
<meta name="twitter:site" content="@QwikDev" />
19+
<meta name="twitter:title" content={head.title} />
20+
</>
21+
);
22+
};
23+
24+
interface SocialProps {
25+
loc: RouteLocation;
26+
head: ResolvedDocumentHead;
27+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import type { RouteLocation } from "@builder.io/qwik-city";
2+
3+
export const Vendor = ({ loc }: VendorProps) => {
4+
return (
5+
<>
6+
<script
7+
dangerouslySetInnerHTML={`console.log("🧨 Analytics! ${loc.url.pathname}");`}
8+
/>
9+
</>
10+
);
11+
};
12+
13+
interface VendorProps {
14+
loc: RouteLocation;
15+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import {
2+
renderToStream,
3+
type RenderToStreamOptions,
4+
} from "@builder.io/qwik/server";
5+
import { manifest } from "@qwik-client-manifest";
6+
import Root from "./root";
7+
8+
export default function (opts: RenderToStreamOptions) {
9+
return renderToStream(<Root />, {
10+
manifest,
11+
base: "/qwikcity-test.prod/build/",
12+
...opts,
13+
});
14+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
body {
2+
margin: 0;
3+
padding: 0;
4+
font-family:
5+
system-ui,
6+
-apple-system,
7+
BlinkMacSystemFont,
8+
"Segoe UI",
9+
Roboto,
10+
"Helvetica Neue",
11+
sans-serif;
12+
}
13+
14+
main {
15+
padding: 10px 20px;
16+
max-width: 800px;
17+
margin: 0 auto;
18+
}
19+
20+
.full-screen main {
21+
max-width: 100%;
22+
}
23+
24+
a {
25+
color: #006eb3;
26+
}
27+
28+
a:hover {
29+
text-decoration: none;
30+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { QwikCityProvider, RouterOutlet } from "@builder.io/qwik-city";
2+
import { RouterHead } from "./components/router-head/router-head";
3+
import "./global.css";
4+
5+
export default function Root() {
6+
return (
7+
<QwikCityProvider>
8+
<head>
9+
<meta charset="utf-8" />
10+
<RouterHead />
11+
</head>
12+
<body>
13+
<RouterOutlet />
14+
</body>
15+
</QwikCityProvider>
16+
);
17+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { component$ } from "@builder.io/qwik";
2+
3+
export default component$(() => {
4+
return (
5+
<div>
6+
<h1>Welcome to Qwik City!</h1>
7+
<p>
8+
<a href="/qwikcity-test.prod/server-function">Server Function</a>
9+
</p>
10+
</div>
11+
);
12+
});

0 commit comments

Comments
 (0)