mirror of
https://codeberg.org/Tahinli/personality.git
synced 2025-07-08 00:37:08 +00:00
feat: ✨ add webrtc to projects
This commit is contained in:
parent
00123c8035
commit
8a959cc6f5
2 changed files with 63 additions and 15 deletions
|
@ -4,31 +4,42 @@
|
||||||
font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.project{
|
.project {
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
color: azure;
|
color: azure;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
margin-top: 1%;
|
margin-top: 1%;
|
||||||
color: aliceblue;
|
color: aliceblue;
|
||||||
}
|
}
|
||||||
|
|
||||||
h5 {
|
h5 {
|
||||||
margin-bottom: 1%;
|
margin-bottom: 1%;
|
||||||
color: antiquewhite;
|
color: antiquewhite;
|
||||||
}
|
}
|
||||||
|
|
||||||
div {
|
div {
|
||||||
margin-top: 1%;
|
margin-top: 1%;
|
||||||
display:block;
|
display: block;
|
||||||
|
|
||||||
@media screen {
|
@media screen {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width:820px){
|
@media screen and (max-width:820px) {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#source_link_in_project_page {
|
||||||
|
text-decoration: none;
|
||||||
|
color: burlywood;
|
||||||
|
}
|
||||||
|
|
||||||
#codeberg_link_in_project_page {
|
#codeberg_link_in_project_page {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: rgb(33, 133, 208, 1.0);
|
color: rgb(33, 133, 208, 1.0);
|
||||||
|
@ -45,27 +56,32 @@
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.links{
|
.links {
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
color: azure;
|
color: azure;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
margin-top: 1%;
|
margin-top: 1%;
|
||||||
color: aliceblue;
|
color: aliceblue;
|
||||||
}
|
}
|
||||||
|
|
||||||
h5 {
|
h5 {
|
||||||
margin-bottom: 1%;
|
margin-bottom: 1%;
|
||||||
color: antiquewhite;
|
color: antiquewhite;
|
||||||
}
|
}
|
||||||
|
|
||||||
div {
|
div {
|
||||||
margin-top: 1%;
|
margin-top: 1%;
|
||||||
display:block;
|
display: block;
|
||||||
|
|
||||||
@media screen {
|
@media screen {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width:820px){
|
@media screen and (max-width:820px) {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -92,27 +108,32 @@
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.project{
|
.project {
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
color: azure;
|
color: azure;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
margin-top: 1%;
|
margin-top: 1%;
|
||||||
color: aliceblue;
|
color: aliceblue;
|
||||||
}
|
}
|
||||||
|
|
||||||
h5 {
|
h5 {
|
||||||
margin-bottom: 1%;
|
margin-bottom: 1%;
|
||||||
color: antiquewhite;
|
color: antiquewhite;
|
||||||
}
|
}
|
||||||
|
|
||||||
div {
|
div {
|
||||||
margin-top: 1%;
|
margin-top: 1%;
|
||||||
display:block;
|
display: block;
|
||||||
|
|
||||||
@media screen {
|
@media screen {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width:820px){
|
@media screen and (max-width:820px) {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -147,15 +168,16 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
.main_nav_btn {
|
.main_nav_btn {
|
||||||
text-decoration:overline silver;
|
text-decoration: overline silver;
|
||||||
color: burlywood;
|
color: burlywood;
|
||||||
text-shadow: 1px 1px orange;
|
text-shadow: 1px 1px orange;
|
||||||
padding: 5%;
|
padding: 5%;
|
||||||
|
|
||||||
@media screen {
|
@media screen {
|
||||||
font-size: xx-large;
|
font-size: xx-large;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width:820px){
|
@media screen and (max-width:820px) {
|
||||||
font-size: x-large;
|
font-size: x-large;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -165,7 +187,7 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
.main_nav {
|
.main_nav {
|
||||||
display:inline-flex;
|
display: inline-flex;
|
||||||
padding-top: 1%;
|
padding-top: 1%;
|
||||||
padding-bottom: 1%;
|
padding-bottom: 1%;
|
||||||
background-blend-mode: multiply;
|
background-blend-mode: multiply;
|
||||||
|
@ -177,13 +199,14 @@ body {
|
||||||
|
|
||||||
|
|
||||||
#main_about {
|
#main_about {
|
||||||
display:block;
|
display: block;
|
||||||
white-space: pre-line;
|
white-space: pre-line;
|
||||||
|
|
||||||
@media screen {
|
@media screen {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width:820px){
|
@media screen and (max-width:820px) {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -200,7 +223,7 @@ header {
|
||||||
}
|
}
|
||||||
|
|
||||||
#title {
|
#title {
|
||||||
color:aqua;
|
color: aqua;
|
||||||
margin-top: 1%;
|
margin-top: 1%;
|
||||||
margin-bottom: 1%;
|
margin-bottom: 1%;
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ pub fn Projects() -> Element {
|
||||||
div { class: "project_link", Link {to: Route::Project { id: 8 }, class: "project_link", "Optimization Algorithms"} }
|
div { class: "project_link", Link {to: Route::Project { id: 8 }, class: "project_link", "Optimization Algorithms"} }
|
||||||
div { class: "project_link", Link {to: Route::Project { id: 9 }, class: "project_link", "Forum"} }
|
div { class: "project_link", Link {to: Route::Project { id: 9 }, class: "project_link", "Forum"} }
|
||||||
div { class: "project_link", Link {to: Route::Project { id: 10 }, class: "project_link", "Voice Chat"} }
|
div { class: "project_link", Link {to: Route::Project { id: 10 }, class: "project_link", "Voice Chat"} }
|
||||||
|
div { class: "project_link", Link {to: Route::Project { id: 11 }, class: "project_link", "WebRTC"} }
|
||||||
}
|
}
|
||||||
Footer {}
|
Footer {}
|
||||||
}
|
}
|
||||||
|
@ -324,6 +325,30 @@ pub fn Project(id: i32) -> Element {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
11 => {
|
||||||
|
rsx! {
|
||||||
|
div {
|
||||||
|
class:"project",
|
||||||
|
h1 {"WebRTC"}
|
||||||
|
h5 {"WebRTC Voice Chat written in Rust."}
|
||||||
|
Link {id: "source_link_in_project_page", to: "https://source.tahinli.com/Tahinli/rust_webrtc", "Source"}
|
||||||
|
div {
|
||||||
|
"
|
||||||
|
In this project I wanted to implement voice chat with WebRTC.
|
||||||
|
"
|
||||||
|
}
|
||||||
|
h3 {"Why I did this ?"}
|
||||||
|
div {
|
||||||
|
"I wanted to use WebRTC."
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {"What I learned ?"}
|
||||||
|
div {
|
||||||
|
"Streaming with WebRTC with low level browser WASM API."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
_ => {
|
_ => {
|
||||||
rsx! {
|
rsx! {
|
||||||
h1 {"You're not supposed to be here"}
|
h1 {"You're not supposed to be here"}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue