diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..7a73a41b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 19815ce5..c3676c50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1042,6 +1042,30 @@ "to-fast-properties": "^2.0.0" } }, + "@fortawesome/fontawesome-common-types": { + "version": "0.2.35", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.35.tgz", + "integrity": "sha512-IHUfxSEDS9dDGqYwIW7wTN6tn/O8E0n5PcAHz9cAaBoZw6UpG20IG/YM3NNLaGPwPqgjBAFjIURzqoQs3rrtuw==", + "dev": true + }, + "@fortawesome/free-brands-svg-icons": { + "version": "5.15.3", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.3.tgz", + "integrity": "sha512-1hirPcbjj72ZJtFvdnXGPbAbpn3Ox6mH3g5STbANFp3vGSiE5u5ingAKV06mK6ZVqNYxUPlh4DlTnaIvLtF2kw==", + "dev": true, + "requires": { + "@fortawesome/fontawesome-common-types": "^0.2.35" + } + }, + "@fortawesome/free-regular-svg-icons": { + "version": "5.15.3", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.15.3.tgz", + "integrity": "sha512-q4/p8Xehy9qiVTdDWHL4Z+o5PCLRChePGZRTXkl+/Z7erDVL8VcZUuqzJjs6gUz6czss4VIPBRdCz6wP37/zMQ==", + "dev": true, + "requires": { + "@fortawesome/fontawesome-common-types": "^0.2.35" + } + }, "@fullhuman/postcss-purgecss": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-3.1.3.tgz", @@ -2844,6 +2868,15 @@ "integrity": "sha512-r+n8UJkDqoQm1b+3tA3Lh6mHXKpcfOSOuEuIo5gE2W9wQYi64RYX/qE6CZBDDsP/H4M+N426JwY7XGH4xASvGQ==", "dev": true }, + "svelte-awesome": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/svelte-awesome/-/svelte-awesome-2.3.1.tgz", + "integrity": "sha512-n+6u0hMTUHvDR+pBbVghEr7TxA1lLoTE3ZuySteDChNGxpW1GMjN2cm6sZ1yr+868HOzoSS529YG02YuwFpxbw==", + "dev": true, + "requires": { + "svelte": "^3.15.0" + } + }, "svelte-preprocess": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.6.1.tgz", diff --git a/package.json b/package.json index 3f0a8a0a..a406af1e 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,8 @@ "@babel/plugin-transform-runtime": "^7.0.0", "@babel/preset-env": "^7.0.0", "@babel/runtime": "^7.0.0", + "@fortawesome/free-brands-svg-icons": "^5.15.3", + "@fortawesome/free-regular-svg-icons": "^5.15.3", "@rollup/plugin-babel": "^5.0.0", "@rollup/plugin-commonjs": "^14.0.0", "@rollup/plugin-node-resolve": "^8.0.0", @@ -34,6 +36,7 @@ "rollup-plugin-terser": "^7.0.0", "sapper": "^0.28.0", "svelte": "^3.17.3", + "svelte-awesome": "^2.3.1", "svelte-preprocess": "^4.3.0", "tailwindcss": "^2.1.2", "typescript": "^4.1.3" diff --git a/src/components/Course/components/CourseNav.svelte b/src/components/Course/components/CourseNav.svelte index ba64ddfd..b24aa033 100644 --- a/src/components/Course/components/CourseNav.svelte +++ b/src/components/Course/components/CourseNav.svelte @@ -7,7 +7,6 @@ function handleMainGroupClick(href) { return () => { - console.log("goto", href); goto(href); }; } @@ -36,60 +35,13 @@ ]; -
- -
- - - {#each lectures as lecture} - - # {lecture.title} - - {/each} - - - - - -
-
- + +
+ +
+ + + {#each lectures as lecture} + + # + {lecture.title} + + {/each} + + + + + +
+
diff --git a/src/components/Course/components/HomeTask.svelte b/src/components/Course/components/HomeTask.svelte index 6913aa0b..b887b438 100644 --- a/src/components/Course/components/HomeTask.svelte +++ b/src/components/Course/components/HomeTask.svelte @@ -2,12 +2,7 @@ import PageNav from "../../PageNav/index.svelte"; -
- -
- + + diff --git a/src/components/Course/components/Lecture/Readme.svelte b/src/components/Course/components/Lecture/Readme.svelte index 7c404a8f..0e34a6f1 100644 --- a/src/components/Course/components/Lecture/Readme.svelte +++ b/src/components/Course/components/Lecture/Readme.svelte @@ -12,9 +12,8 @@ title="Lecture" src="https://docs.google.com/presentation/d/e/2PACX-1vTi_ATSrNBL-FMP7oDSi2DtXU7L8yzL0KAocNc-k7EqXaMM-oCbnbVmQjHYP0QKAw3r-QZayNfx5EpM/embed?start=false&loop=false&delayms=3000" frameborder="0" - width="960" + width="100%" height="569" allowfullscreen="true" mozallowfullscreen="true" - webkitallowfullscreen="true" -/> + webkitallowfullscreen="true" /> diff --git a/src/components/Course/components/Lecture/index.svelte b/src/components/Course/components/Lecture/index.svelte index 152c6a66..9fa39379 100644 --- a/src/components/Course/components/Lecture/index.svelte +++ b/src/components/Course/components/Lecture/index.svelte @@ -44,8 +44,6 @@ diff --git a/src/components/Course/components/People.svelte b/src/components/Course/components/People.svelte index 5571393d..be4335cc 100644 --- a/src/components/Course/components/People.svelte +++ b/src/components/Course/components/People.svelte @@ -1,13 +1,74 @@ -
- + +
+

+ Teachers +

+
+ {#each teachers as teacher} + + {/each} +
- +
+

+ Students +

+
+ {#each students as student} + + {/each} +
+
diff --git a/src/components/Course/components/Scoreboard.svelte b/src/components/Course/components/Scoreboard.svelte index 28d1078a..9ee4f9ba 100644 --- a/src/components/Course/components/Scoreboard.svelte +++ b/src/components/Course/components/Scoreboard.svelte @@ -2,12 +2,7 @@ import PageNav from "../../PageNav/index.svelte"; -
- -
- + + diff --git a/src/components/Course/components/TimeTable.svelte b/src/components/Course/components/TimeTable.svelte index 80b30a0b..5f17b105 100644 --- a/src/components/Course/components/TimeTable.svelte +++ b/src/components/Course/components/TimeTable.svelte @@ -2,12 +2,7 @@ import PageNav from "../../PageNav/index.svelte"; -
- -
- + + diff --git a/src/components/Course/index.svelte b/src/components/Course/index.svelte index 258c7b37..024ba6bb 100644 --- a/src/components/Course/index.svelte +++ b/src/components/Course/index.svelte @@ -15,24 +15,15 @@ `; -
- - -
- {@html marked(readme, { - breaks: true, - gfm: true, - })} -
-
- + + + +
+ {@html marked(readme, { breaks: true, gfm: true })} +
diff --git a/src/components/IconButton/index.svelte b/src/components/IconButton/index.svelte new file mode 100644 index 00000000..ede325de --- /dev/null +++ b/src/components/IconButton/index.svelte @@ -0,0 +1,6 @@ + + + diff --git a/src/components/LeftNav/index.svelte b/src/components/LeftNav/index.svelte index a01c2bff..1da622a2 100644 --- a/src/components/LeftNav/index.svelte +++ b/src/components/LeftNav/index.svelte @@ -10,81 +10,16 @@ $: navClass = ["discussion"].includes(segment) ? "hide" : ""; - - + + diff --git a/src/components/PageNav/index.svelte b/src/components/PageNav/index.svelte index dc295d2b..d8bc5ac6 100644 --- a/src/components/PageNav/index.svelte +++ b/src/components/PageNav/index.svelte @@ -4,13 +4,14 @@ export let navItems = []; export let addButtonHref; export let addButtonLabel; + export let disableSticky = false; let dynamicRootClass = ""; $: dynamicRootClass = Array.isArray(navItems) && navItems.length > 4 ? "bring-down" : ""; -
+
{#if !!title}

{title}

{/if} @@ -33,9 +34,12 @@ border-bottom: 1px solid var(--border-color); padding: 15px; min-height: 61px; + background-color: #fff; + } + + .header.sticky { position: sticky; top: 0; - background-color: #fff; } .title { diff --git a/src/components/Tailwindcss.svelte b/src/components/Tailwindcss.svelte index d2cf3c3b..9e373d01 100644 --- a/src/components/Tailwindcss.svelte +++ b/src/components/Tailwindcss.svelte @@ -13,4 +13,8 @@ font-weight: revert; margin: 0.8em 0; } + + code { + white-space: pre-wrap; + } diff --git a/src/components/UserCard/index.svelte b/src/components/UserCard/index.svelte index 76f1d75f..0f847a12 100644 --- a/src/components/UserCard/index.svelte +++ b/src/components/UserCard/index.svelte @@ -1,28 +1,59 @@ -
+ + +
-
-
-

- “Tailwind CSS is the only framework that I've seen scale on large teams. - It’s easy to customize, adapts to any design, and the build size is - tiny.” -

-
-
-
Sarah Dayan
-
Staff Engineer, Algolia
-
+ height="512" /> +
+
+
{name}
+
{title}
+
+ {#if telegramLink && mailLink} + + {/if}
- - diff --git a/src/routes/courses/[...id].svelte b/src/routes/courses/[...id].svelte index 0a28021b..bc3c6586 100644 --- a/src/routes/courses/[...id].svelte +++ b/src/routes/courses/[...id].svelte @@ -19,9 +19,6 @@ export let slug; export let courseNavItem; export let lectureId; - console.log("slug", slug); - console.log("courseNavItem", courseNavItem); - console.log("lectureId", lectureId); const { page } = stores(); let tab = ""; @@ -29,31 +26,37 @@ $: tab = $page.query.tab || "lectures"; + + ReactJS
- {#if !courseNavItem} - - {:else if courseNavItem === "score"} - - {:else if courseNavItem === "timetable"} - - {:else if courseNavItem === "hometasks"} - - {:else if courseNavItem === "lecture"} - - {:else if courseNavItem === "people"} - - {/if} +
+ {#if !courseNavItem} + + {:else if courseNavItem === 'score'} + + {:else if courseNavItem === 'timetable'} + + {:else if courseNavItem === 'hometasks'} + + {:else if courseNavItem === 'lecture'} + + {:else if courseNavItem === 'people'} + + {/if} +
- -