diff --git a/actions/__pycache__/actions.cpython-310.pyc b/actions/__pycache__/actions.cpython-310.pyc index f5ed2efd0528945d1a94ab2f124d919e7cf84b32..5e61172af8a988ac3c829d0a3402b647e1e29196 100644 Binary files a/actions/__pycache__/actions.cpython-310.pyc and b/actions/__pycache__/actions.cpython-310.pyc differ diff --git a/actions/actions.py b/actions/actions.py index 34ef9b9a5711e1a1fa7837e96ad7e216299edf9f..e328054b8913a7606fc8f18c8fb9846de5d730ed 100644 --- a/actions/actions.py +++ b/actions/actions.py @@ -60,11 +60,11 @@ def get_movies_or_series_by_genre(genre_id: int, content_type="movie", language= return results if "error" not in data else [] -def get_classic_movies(before_date="1980-01-01", language="de") -> List[Dict]: +def get_classic_movies(before_date="1985-01-01", language="de") -> List[Dict]: """ Ruft klassische Filme ab, die vor einem bestimmten Datum veröffentlicht wurden. - :param before_date: Veröffentlichungsdatum (z. B. "1980-01-01") + :param before_date: Veröffentlichungsdatum (z. B. "1985-01-01") :param language: Sprache der Ergebnisse :return: Liste der klassischen Filme """ @@ -191,7 +191,7 @@ class ActionEmpfehlungNachGenre(Action): items = get_movies_or_series_by_genre(genre_id, content_type) if items: - message = f"Hier sind einige {content_type}s im Genre {genre}:\n" + message = f"Hier sind einige Filme im Genre {genre}:\n" for item in items[:5]: message += f"- {item['title']} (Bewertung: {item['vote_average']})\n" else: @@ -266,7 +266,7 @@ class ActionFilmklassikerEmpfehlen(Action): return "action_filmklassiker_empfehlen" def run(self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any]) -> List[Dict[Text, Any]]: - klassiker = get_classic_movies(before_date="1980-01-01") + klassiker = get_classic_movies(before_date="1985-01-01") if klassiker: message = "Hier sind einige Filmklassiker:\n" for film in klassiker[:5]: diff --git a/data/nlu/nlu_movies.yml b/data/nlu/nlu_movies.yml index ce017329724a45df43294683d80baf7734fd0b72..9baa916ddebb48b702f08bf94009df040fbd0f16 100644 --- a/data/nlu/nlu_movies.yml +++ b/data/nlu/nlu_movies.yml @@ -17,6 +17,8 @@ nlu: - intent: frag_nach_film_details examples: | - Was kannst du mir über [Inception](film_name) sagen? + - Um was geht es in dem Film [Vaiana 2](film_name)? + - Was ist die Handlung von [Sonic the Hedgehog 3](film_name)? - Erzähl mir mehr über den Film [Titanic](film_name) - Gib mir Details zu [Avatar](film_name) - Kannst du mir Infos zu [The Matrix](film_name) geben? diff --git a/data/stories.yml b/data/stories.yml index ff154e09cf2c653f676974eabb5aff0e6b37bf72..fd1d53b3e8f2544cbdd5f6bb431b5e68952fe151 100644 --- a/data/stories.yml +++ b/data/stories.yml @@ -3,6 +3,90 @@ version: "3.1" stories: #Basics +- story: Smalltalk + steps: + - intent: begrüßung + - action: utter_begrüßung + - intent: frag_nach_name + - action: utter_frag_nach_name + - intent: frag_nach_stimmung + - action: utter_frag_nach_stimmung + - intent: frag_nach_zweck + - action: utter_frag_nach_zweck + - intent: frag_nach_ersteller + - action: utter_frag_nach_ersteller + - intent: frag_nach_entstehung + - action: utter_frag_nach_entstehung + - intent: frag_nach_technologie + - action: utter_frag_nach_technologie + +- story: Hilfe & Support + steps: + - intent: frag_nach_hilfe + - action: utter_frag_nach_hilfe + - intent: frag_nach_support + - action: utter_frag_nach_support + - intent: fehler_melden + - action: utter_fehler_melden + - intent: feedback + - action: utter_feedback + - intent: faq + - action: utter_faq + + +- story: Filmempfehlung nach Genre & Details + steps: + - intent: faq + - action: utter_faq + - intent: film_empfehlen + - action: action_film_empfehlen + - intent: frag_nach_genre_film + - slot_was_set: + - content_type: movie + - action: action_empfehlung_nach_genre + - intent: frag_nach_film_details + - action: action_film_details + - intent: bewertung_hinterlassen + - action: utter_bewertung_hinterlassen + - intent: dankeschön + - action: utter_dankeschön + + +- story: Streamingdienst & Details + steps: + - intent: dankeschön + - action: utter_dankeschön + - intent: frag_nach_streamingdienst + - action: action_empfehlung_nach_streamingdienst + - intent: lob + - action: utter_lob + +- story: Aktuelle Kinohits + steps: + - intent: lob + - action: utter_lob + - intent: frage_nach_aktuellen_kinohits + - action: action_aktuelle_kinohits + - intent: kritik + - action: utter_kritik + +- story: Filmklassiker empfehlen + steps: + - intent: kritik + - action: utter_kritik + - intent: filmklassiker_empfehlen + - action: action_filmklassiker_empfehlen + - intent: dankeschön + - action: utter_dankeschön + +- story: Kritik geben lassen + steps: + - intent: film_empfehlen + - action: action_film_empfehlen + - intent: kritik + - action: utter_kritik + + - story: Frage nach Name und Entstehung steps: - intent: frag_nach_name @@ -10,6 +94,20 @@ stories: - intent: frag_nach_entstehung - action: utter_frag_nach_entstehung +- story: Wie geht es dir + steps: + - intent: begrüßung + - action: utter_begrüßung + - intent: frag_nach_stimmung + - action: utter_frag_nach_stimmung + +- story: Wie geht es dir 2 + steps: + - intent: frag_nach_stimmung + - action: utter_frag_nach_stimmung + - intent: filmklassiker_empfehlen + - action: action_filmklassiker_empfehlen + - story: Frag nach Entstehung steps: - intent: frag_nach_entstehung @@ -142,6 +240,8 @@ stories: - intent: frag_nach_film_details - action: action_film_details + + - story: Filmdetails steps: - intent: frag_nach_film_details @@ -216,12 +316,7 @@ stories: - content_type: tv - action: action_was_ist_beliebt -- story: Filmklassiker empfehlen - steps: - - intent: filmklassiker_empfehlen - - action: action_filmklassiker_empfehlen - - intent: bewertung_hinterlassen - - action: utter_bewertung_hinterlassen + - story: Wetter und Zeit steps: @@ -237,19 +332,9 @@ stories: - intent: frag_nach_streamingdienst - action: action_empfehlung_nach_streamingdienst -- story: Aktuelle Kinohits - steps: - - intent: frage_nach_aktuellen_kinohits - - action: action_aktuelle_kinohits - - intent: frag_nach_film_details - - action: action_film_details -- story: Streamingdienst - steps: - - intent: frag_nach_streamingdienst - - action: action_empfehlung_nach_streamingdienst - - intent: frag_nach_film_details - - action: action_film_details + + - story: Streamingdienst 2 steps: diff --git a/flask_app/static/css/styles.css b/flask_app/static/css/styles.css new file mode 100644 index 0000000000000000000000000000000000000000..45aae1cedb2d6925d93e2aa8688f5293647de7fc --- /dev/null +++ b/flask_app/static/css/styles.css @@ -0,0 +1,191 @@ + +body { + margin: 0; + padding: 0; + background: #000; + font-family: Arial, sans-serif; + color: white; +} + +header { + text-align: center; + padding: 20px; + background: linear-gradient(to bottom, rgba(255, 0, 0, 0.8), rgba(0, 0, 0, 0.9)); +} + +header h1 { + margin: 0; + font-size: 24px; +} + +main { + background-image: url("https://wallpapers.com/images/hd/cinema-theater-screen-red-interior-mdii641t9soyox58.jpg"); + background-size: cover; /* Bild so skalieren, dass es den gesamten Bereich abdeckt */ + background-position: center; /* Bild zentrieren */ + background-repeat: no-repeat; /* Bild nicht wiederholen */ +} + +#chat-container { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + margin-top: 10px; + margin-bottom: 10px; +} + +#chat-box { + width: 80%; + max-width: 1000px; + height: 400px; + border: 1px solid #ccc; + overflow-y: scroll; + padding: 10px; + background: #1a1a1a; + margin-bottom: 10px; + color: white; + border-bottom: 0; + margin-bottom: 0; +} + +#user-input-box { + display: flex; + align-items: center; + width: 80%; + max-width: 1020px; + border: 1px solid #ccc; + border-top: 0; +} + +#user-input-field { + width: 90%; + padding: 10px; + border: 1px solid #ccc; +} + +#send-btn { + width: 10%; + padding: 11px; + background-color: #007BFF; + color: white; + border: none; + cursor: pointer; +} + +#send-btn:hover { + background-color: #0056b3; +} + +.poster-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); + gap: 25px; + width: 90%; + margin: 20px auto; + position: relative; +} + + +.poster-grid div { + /* background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.9)); */ + /* background: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 1)); */ + background-size: cover; /* BACKGROUND */ + background-position: center; /* BACKGROUND */ + display: flex; + align-items: flex-end; + justify-content: center; + height: 185px; + color: white; + font-size: 14px; + font-weight: bold; + text-align: center; + border-radius: 8px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5); + transition: transform 0.3s ease; + /* -moz-box-shadow: 0 0 15px red; + -webkit-box-shadow: 0 0 15px red; + box-shadow: 0 0 15px red; */ +} + +.poster-grid div:nth-child(odd) { + transition: transform 0.3s ease; + /* -moz-box-shadow: 0 0 10px 5px #241E1B; + -webkit-box-shadow: 0 0 30px #241E1B; + box-shadow: 0 0 10px 5px #241E1B; */ +} + + + +/* .poster-grid div:nth-child(odd) { + background: linear-gradient(to bottom, rgba(255, 0, 0, 0.6), rgba(0, 0, 0, 0.9)); + background: linear-gradient(to bottom, rgba(255, 0, 0, 1), rgba(0, 0, 0, 1)); +} */ + +.godfather { + background: url('/static/images/poster/godfather.jpg')no-repeat; +} + +.stranger-things { + background: url('/static/images/poster/stranger_things.jpg')no-repeat; +} + +.breaking-bad { + background: url('/static/images/poster/breaking_bad.jpg')no-repeat; +} + +.got { + background: url('/static/images/poster/got.jpg')no-repeat; +} + +.avengers { + background: url('/static/images/poster/avengers.jpg')no-repeat; +} + +.the-dark-knight { + background: url('/static/images/poster/dark_knight.jpg')no-repeat; +} + +.friends { + background: url('/static/images/poster/friends.jpg')no-repeat; +} + +.vikings { + background: url('/static/images/poster/vikings.jpg')no-repeat; +} + +.better-call-saul { + background: url('/static/images/poster/better_call_saul.jpg')no-repeat; +} + +.arcane { + background: url('/static/images/poster/arcane.jpg')no-repeat; +} + +.poster-grid div:hover { + transform: scale(1.07); /* Scale up by 10% when hovered */ + -moz-box-shadow: 0 0 25px red; + -webkit-box-shadow: 0 0 25px red; + box-shadow: 0 0 25px red; +} + +.logos { + display: flex; + justify-content: space-around; + align-items: center; + width: 100%; + margin-top: 20px; + padding: 10px 0; + background: rgba(0, 0, 0, 0.8); + border-top: 2px solid rgba(255, 255, 255, 0.1); +} + +.logos img { + height: 70px; + filter: brightness(0.9); + transition: transform 0.3s ease; +} + +.logos img:hover { + filter: brightness(1.5); + transform: scale(1.1); /* Scale up by 10% when hovered */ +} diff --git a/flask_app/static/images/AppleTVLogo.svg b/flask_app/static/images/AppleTVLogo.svg new file mode 100644 index 0000000000000000000000000000000000000000..e1dd776e2c3c090ef82765550c3c751dc8c35f49 --- /dev/null +++ b/flask_app/static/images/AppleTVLogo.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24.26 24.26"><defs><style>.cls-1{fill:url(#linear-gradient);}.cls-2{fill:#f9f9f9;}</style><linearGradient id="linear-gradient" x1="12.13" y1="14.65" x2="12.13" y2="38.73" gradientTransform="matrix(1, 0, 0, -1, 0, 38.73)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#111"/><stop offset="1" stop-color="#333"/></linearGradient></defs><g id="Layer_2" data-name="Layer 2"><g id="UK-US"><path class="cls-1" d="M13.39,0h5.1a11.54,11.54,0,0,1,1.59.14,5.09,5.09,0,0,1,1.44.48,4.72,4.72,0,0,1,1.23.89,4.84,4.84,0,0,1,.89,1.22,5.14,5.14,0,0,1,.47,1.45,10.15,10.15,0,0,1,.14,1.58c0,.25,0,.5,0,.75V17.74c0,.25,0,.5,0,.75a10.38,10.38,0,0,1-.14,1.59,5.07,5.07,0,0,1-.47,1.44,4.79,4.79,0,0,1-2.12,2.12,5.07,5.07,0,0,1-1.44.47,10.17,10.17,0,0,1-1.59.14H5.77a10.15,10.15,0,0,1-1.58-.14,5,5,0,0,1-1.45-.47,4.84,4.84,0,0,1-1.22-.89,4.72,4.72,0,0,1-.89-1.23,5.09,5.09,0,0,1-.48-1.44A11.82,11.82,0,0,1,0,18.49c0-.25,0-.5,0-.75V6.52c0-.25,0-.5,0-.75A11.54,11.54,0,0,1,.15,4.19,5.15,5.15,0,0,1,.63,2.74,4.89,4.89,0,0,1,2.74.63,5,5,0,0,1,4.19.15,11.54,11.54,0,0,1,5.77,0h7.62"/><path id="_tv" data-name="  tv" class="cls-2" d="M6.82,9.11a2,2,0,0,1,.48-1.4A2,2,0,0,1,8.64,7a2,2,0,0,1-.47,1.45A1.66,1.66,0,0,1,6.82,9.11Zm2.5,2.73a2.07,2.07,0,0,1,1-1.73,2.13,2.13,0,0,0-1.66-.9c-.75,0-1.38.43-1.74.43s-.9-.41-1.49-.4a2.24,2.24,0,0,0-1.88,1.14c-.8,1.38-.21,3.44.57,4.56.38.56.84,1.17,1.44,1.15s.79-.37,1.48-.37.89.37,1.49.36,1-.56,1.4-1.12a4.82,4.82,0,0,0,.62-1.28A2,2,0,0,1,9.32,11.84ZM19.8,9.67l-1.58,5.1h0l-1.57-5.1H15.29L17.53,16h1.34l2.24-6.35ZM13.39,8.15H12.13V9.67H11.2v1h.93v3.69c0,1.22.49,1.71,1.75,1.71A4,4,0,0,0,14.6,16V15l-.43,0c-.54,0-.78-.26-.78-.81V10.67h1.22v-1H13.39Z"/></g></g></svg> \ No newline at end of file diff --git a/flask_app/static/images/Disney+_logo.svg b/flask_app/static/images/Disney+_logo.svg new file mode 100644 index 0000000000000000000000000000000000000000..7b37a8dc8e9b64e5105780979af8b62e93b29f17 --- /dev/null +++ b/flask_app/static/images/Disney+_logo.svg @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="1041px" height="565px" viewBox="0 0 1041 565" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> + <!-- Generated by Pixelmator Pro 2.2 --> + <g id="Layer_1"> + <g id="group"> + <g id="group-1"> + <g id="group-2"> + <path id="Path" d="M735.8 365.7 C721.4 369 683.5 370.9 683.5 370.9 L678.7 385.9 C678.7 385.9 697.6 384.3 711.4 385.7 711.4 385.7 715.9 385.2 716.4 390.8 716.6 396 716 401.6 716 401.6 716 401.6 715.7 405 710.9 405.8 705.7 406.7 670.1 408 670.1 408 L664.3 427.5 C664.3 427.5 662.2 432 667 430.7 671.5 429.5 708.8 422.5 713.7 423.5 718.9 424.8 724.7 431.7 723 438.1 721 445.9 683.8 469.7 661.1 468 661.1 468 649.2 468.8 639.1 452.7 629.7 437.4 642.7 408.3 642.7 408.3 642.7 408.3 636.8 394.7 641.1 390.2 641.1 390.2 643.7 387.9 651.1 387.3 L660.2 368.4 C660.2 368.4 649.8 369.1 643.6 361.5 637.8 354.2 637.4 350.9 641.8 348.9 646.5 346.6 689.8 338.7 719.6 339.7 719.6 339.7 730 338.7 738.9 356.7 738.8 356.7 743.2 364 735.8 365.7 Z M623.7 438.3 C619.9 447.3 609.8 456.9 597.3 450.9 584.9 444.9 565.2 404.6 565.2 404.6 565.2 404.6 557.7 389.6 556.3 389.9 556.3 389.9 554.7 387 553.7 403.4 552.7 419.8 553.9 451.7 547.4 456.7 541.2 461.7 533.7 459.7 529.8 453.8 526.3 448 524.8 434.2 526.7 410 529 385.8 534.6 360 541.8 351.9 549 343.9 554.8 349.7 557 351.8 557 351.8 566.6 360.5 582.5 386.1 L585.3 390.8 C585.3 390.8 599.7 415 601.2 414.9 601.2 414.9 602.4 416 603.4 415.2 604.9 414.8 604.3 407 604.3 407 604.3 407 601.3 380.7 588.2 336.1 588.2 336.1 586.2 330.5 587.6 325.3 588.9 320 594.2 322.5 594.2 322.5 594.2 322.5 614.6 332.7 624.4 365.9 634.1 399.4 627.5 429.3 623.7 438.3 Z M523.5 353 C521.8 356.4 520.8 361.3 512.2 362.6 512.2 362.6 429.9 368.2 426 374 426 374 423.1 377.4 427.6 378.4 432.1 379.3 450.7 381.8 459.7 382.3 469.3 382.4 501.7 382.7 513.3 397.2 513.3 397.2 520.2 404.1 519.9 419.7 519.6 435.7 516.8 441.3 510.6 447.1 504.1 452.5 448.3 477.5 412.3 439.1 412.3 439.1 395.7 420.6 418 406.6 418 406.6 434.1 396.9 475 408.3 475 408.3 487.4 412.8 486.8 417.3 486.1 422.1 476.6 427.2 462.8 426.9 449.4 426.5 439.6 420.1 441.5 421.1 443.3 421.8 427.1 413.3 422.1 419.1 417.1 424.4 418.3 427.7 423.2 431 435.7 438.1 484 435.6 498.4 419.6 498.4 419.6 504.1 413.1 495.4 407.8 486.7 402.8 461.8 399.8 452.1 399.3 442.8 398.8 408.2 399.4 403.2 390.2 403.2 390.2 398.2 384 403.7 366.4 409.5 348 449.8 340.9 467.2 339.3 467.2 339.3 515.1 337.6 523.9 347.4 523.8 347.4 525 349.7 523.5 353 Z M387.5 460.9 C381.7 465.2 369.4 463.3 365.9 458.5 362.4 454.2 361.2 437.1 361.9 410.3 362.6 383.2 363.2 349.6 369 344.3 375.2 338.9 379 343.6 381.4 347.3 384 350.9 387.1 354.9 387.8 363.4 388.4 371.9 390.4 416.5 390.4 416.5 390.4 416.5 393 456.7 387.5 460.9 Z M400 317.1 C383.1 322.7 371.5 320.8 361.7 316.6 357.4 324.1 354.9 326.4 351.6 326.9 346.8 327.4 342.5 319.7 341.7 317.2 340.9 315.3 338.6 312.1 341.4 304.5 331.8 295.9 331.1 284.3 332.7 276.5 335.1 267.5 351.3 233.3 400.6 229.3 400.6 229.3 424.7 227.5 428.8 240.4 L429.5 240.4 C429.5 240.4 452.9 240.5 452.4 261.3 452.1 282.2 426.4 308.2 400 317.1 Z M354 270.8 C349 278.8 348.8 283.6 351.1 286.9 356.8 278.2 367.2 264.5 382.5 254.1 370.7 255.1 360.8 260.2 354 270.8 Z M422.1 257.4 C406.6 259.7 382.6 280.5 371.2 297.5 388.7 300.7 419.6 299.5 433.3 271.6 433.2 271.6 439.8 254.3 422.1 257.4 Z M842.9 418.5 C833.6 434.7 807.5 468.5 772.7 460.6 761.2 488.5 751.6 516.6 746.1 558.8 746.1 558.8 744.9 567 738.1 564.1 731.4 561.7 720.2 550.5 718 535 715.6 514.6 724.7 480.1 743.2 440.6 737.8 431.8 734.1 419.2 737.3 401.3 737.3 401.3 742 368.1 775.3 338.1 775.3 338.1 779.3 334.6 781.6 335.7 784.2 336.8 783 347.6 780.9 352.8 778.8 358 763.9 383.8 763.9 383.8 763.9 383.8 754.6 401.2 757.2 414.9 774.7 388 814.5 333.7 839.2 350.8 847.5 356.7 851.3 369.6 851.3 383.5 851.2 395.8 848.3 408.8 842.9 418.5 Z M835.7 375.9 C835.7 375.9 834.3 365.2 823.9 377 814.9 386.9 798.7 405.6 785.6 430.9 799.3 429.4 812.5 421.9 816.5 418.1 823 412.3 838.1 396.7 835.7 375.9 Z M350.2 389.5 C348.3 413.7 339 454.4 273.1 474.5 229.6 487.6 188.5 481.3 166.1 475.6 165.6 484.5 164.6 488.3 163.2 489.8 161.3 491.7 147.1 499.9 139.3 488.3 135.8 482.8 134 472.8 133 463.9 82.6 440.7 59.4 407.3 58.5 405.8 57.4 404.7 45.9 392.7 57.4 378 68.2 364.7 103.5 351.4 135.3 346 136.4 318.8 139.6 298.3 143.4 288.9 148 278 153.8 287.8 158.8 295.2 163 300.7 165.5 324.4 165.7 343.3 186.5 342.3 198.8 343.8 222 348 252.2 353.5 272.4 368.9 270.6 386.4 269.3 403.6 253.5 410.7 247.5 411.2 241.2 411.7 231.4 407.2 231.4 407.2 224.7 404 230.9 401.2 239 397.7 247.8 393.4 245.8 389 245.8 389 242.5 379.4 203.3 372.7 164.3 372.7 164.1 394.2 165.2 429.9 165.7 450.7 193 455.9 213.4 454.9 213.4 454.9 213.4 454.9 313 452.1 316 388.5 319.1 324.8 216.7 263.7 141 244.3 65.4 224.5 22.6 238.3 18.9 240.2 14.9 242.2 18.6 242.8 18.6 242.8 18.6 242.8 22.7 243.4 29.8 245.8 37.3 248.2 31.5 252.1 31.5 252.1 18.6 256.2 4.1 253.6 1.3 247.7 -1.5 241.8 3.2 236.5 8.6 228.9 14 220.9 19.9 221.2 19.9 221.2 113.4 188.8 227.3 247.4 227.3 247.4 334 301.5 352.2 364.9 350.2 389.5 Z M68 386.2 C57.4 391.4 64.7 398.9 64.7 398.9 84.6 420.3 109.1 433.7 132.4 442 135.1 405.1 134.7 392.1 135 373.5 98.6 376 77.6 381.8 68 386.2 Z" fill="#01147c" fill-opacity="1" stroke="none"/> + </g> + </g> + <g id="group-3"> + <g id="group-4"> + <g id="group-5"> + <path id="Path-1" d="M1040.9 378.6 L1040.9 391.8 C1040.9 394.7 1038.6 397 1035.7 397 L972.8 397 C972.8 400.3 972.9 403.2 972.9 405.9 972.9 425.4 972.1 441.3 970.2 459.2 969.9 461.9 967.7 463.9 965.1 463.9 L951.5 463.9 C950.1 463.9 948.8 463.3 947.9 462.3 947 461.3 946.5 459.9 946.7 458.5 948.6 440.7 949.5 425 949.5 405.9 949.5 403.1 949.5 400.2 949.4 397 L887.2 397 C884.3 397 882 394.7 882 391.8 L882 378.6 C882 375.7 884.3 373.4 887.2 373.4 L948.5 373.4 C947.2 351.9 944.6 331.2 940.4 310.2 940.2 308.9 940.5 307.6 941.3 306.6 942.1 305.6 943.3 305 944.6 305 L959.3 305 C961.6 305 963.5 306.6 964 308.9 968.1 330.6 970.7 351.7 972 373.4 L1035.7 373.4 C1038.5 373.4 1040.9 375.8 1040.9 378.6 Z" fill="#01147c" fill-opacity="1" stroke="none"/> + </g> + </g> + </g> + <g id="group-6"> + <g id="group-7"> + <path id="Path-2" d="M200.2 204.3 L200.1 204.3 M199.4 204.4 C199.1 204.4 198.8 204.3 198.5 204.3 198.8 204.4 199.1 204.4 199.4 204.4 L199.7 204.4 C199.6 204.4 199.5 204.4 199.4 204.4 Z M199.4 204.4 C199.1 204.4 198.8 204.3 198.5 204.3 198.8 204.4 199.1 204.4 199.4 204.4 L199.7 204.4 C199.6 204.4 199.5 204.4 199.4 204.4 Z" fill="none" stroke="none"/> + <defs> + <radialGradient id="radial-gradient" gradientUnits="userSpaceOnUse" cx="942.524" cy="279.896" r="760.124" fx="942.524" fy="279.896"> + <stop offset="0.007" stop-color="#021192" stop-opacity="1"/> + <stop offset="0.03" stop-color="#021096" stop-opacity="1"/> + <stop offset="0.057" stop-color="#010cb4" stop-opacity="1"/> + <stop offset="0.084" stop-color="#0008ce" stop-opacity="1"/> + <stop offset="0.111" stop-color="#0006d7" stop-opacity="1"/> + <stop offset="0.138" stop-color="#0004e1" stop-opacity="1"/> + <stop offset="0.165" stop-color="#0001fa" stop-opacity="1"/> + <stop offset="0.191" stop-color="#0000fe" stop-opacity="1"/> + <stop offset="0.216" stop-color="#0f1eff" stop-opacity="1"/> + <stop offset="1" stop-color="#00ffff" stop-opacity="0"/> + </radialGradient> + </defs> + <path id="Path-3" d="M955.3 273.9 C922.8 194 867.9 125.9 796.5 76.9 723.4 26.8 637.7 0.3 548.7 0.3 401.5 0.3 264.9 73.4 183.4 195.9 182.5 197.2 182.3 198.9 182.8 200.4 183.3 202 184.5 203.1 186 203.6 L197.4 207.5 C198.1 207.7 198.8 207.8 199.4 207.8 201.5 207.8 203.5 206.7 204.7 205 242.1 150 292.7 104.3 351.1 72.7 411.4 40.1 479.7 22.8 548.6 22.8 631.9 22.8 712.2 47.4 781 93.8 848.1 139.1 900.2 202.4 931.7 276.7 932.6 278.9 934.8 280.4 937.2 280.4 L950.8 280.4 C952.4 280.4 953.9 279.6 954.7 278.3 955.7 277 955.9 275.4 955.3 273.9 Z M199.4 204.4 C199.1 204.4 198.8 204.3 198.5 204.2 198.8 204.3 199.1 204.4 199.4 204.4 L199.6 204.4 C199.6 204.4 199.5 204.4 199.4 204.4 Z M934.4 278.6 C934.7 278.8 935 279 935.3 279.1 935 278.9 934.7 278.8 934.4 278.6 Z" fill-opacity="1" fill="url(#radial-gradient)" stroke="none"/> + </g> + </g> + </g> + </g> +</svg> diff --git a/flask_app/static/images/HBO_Max_Logo.svg b/flask_app/static/images/HBO_Max_Logo.svg new file mode 100644 index 0000000000000000000000000000000000000000..b2ed50d76d796b952c60f0fba70144c2b274b039 --- /dev/null +++ b/flask_app/static/images/HBO_Max_Logo.svg @@ -0,0 +1,158 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="Layer_1_1_" + x="0px" + y="0px" + viewBox="2600 -200 999.99996 173.26677" + xml:space="preserve" + inkscape:version="1.0.2 (e86c870879, 2021-01-15)" + sodipodi:docname="Hbo-max_color_2019.svg" + width="1000" + height="173.26677"><metadata + id="metadata3486"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs + id="defs3484" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1366" + inkscape:window-height="705" + id="namedview3482" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:zoom="0.4505794" + inkscape:cx="672.48375" + inkscape:cy="-80.975342" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" + inkscape:current-layer="Layer_1_1_" + inkscape:document-rotation="0" /><style + type="text/css" + id="style3439"> + .st0{fill:url(#XMLID_5_);} + .st1{clip-path:url(#XMLID_6_);fill:url(#SVGID_1_);} + .st2{clip-path:url(#XMLID_6_);fill:url(#SVGID_2_);} + .st3{clip-path:url(#XMLID_6_);fill:url(#SVGID_3_);} +</style><linearGradient + id="XMLID_5_" + gradientUnits="userSpaceOnUse" + x1="3080.6379" + y1="-104.7449" + x2="3700" + y2="-104.7449" + gradientTransform="translate(0,0.1)"><stop + offset="0" + style="stop-color:#991EEB" + id="stop3444" /><stop + offset="0.399" + style="stop-color:#5822B4" + id="stop3446" /><stop + offset="0.727" + style="stop-color:#5822B4" + id="stop3448" /><stop + offset="1" + style="stop-color:#991EEB" + id="stop3450" /></linearGradient><g + id="g52"><path + d="m 2723.1776,-27.460473 h -46.0893 v -65.725014 h -29.8172 v 65.725014 H 2600 V -197.0001 h 47.1802 v 63.27055 h 29.8172 v -63.27055 h 46.0893 v 169.539627 z m 211.2655,0.727248 c 47.1802,0 85.7243,-39.271378 85.7243,-87.087915 0,-48.54379 -38.5441,-86.08795 -85.7243,-86.08795 -47.8166,0 -71.9976,34.72608 -77.8156,48.90741 0,-20.99928 -20.9992,-46.08933 -45.362,-46.08933 h -78.7246 v 169.630537 h 73.2702 c 29.8172,0 50.8164,-25.45367 50.8164,-47.816538 6.6362,13.817707 30.0899,48.543786 77.8156,48.543786 z m -134.45,-68.906723 c 6.818,0 12.2723,6.636135 12.2723,14.181331 0,7.908819 -5.4543,14.544955 -12.2723,14.544955 h -23.4537 v -28.726286 z m 0,-63.634182 c 6.818,0 12.2723,6.63614 12.2723,14.18133 0,7.5452 -5.4543,14.18134 -12.2723,14.18134 h -23.4537 v -28.36267 z m 30.999,45.45299 c 5.4543,-0.36363 14.3631,-6.63614 17.7266,-10.36328 -1.2727,4.5453 -1.2727,18.90844 0,23.45374 -3.7271,-5.54527 -12.2723,-12.0905 -17.7266,-13.09046 z m 60.4524,0 c 0,-23.90827 19.4539,-43.18034 43.3622,-43.08943 23.9992,0.18181 43.0894,19.72659 42.8167,43.72577 -0.3636,23.635552 -19.4539,42.634899 -43.0894,42.634899 -23.8174,0 -43.0895,-19.272065 -43.0895,-43.271239 z m 42.9986,33.99883 c 18.363,0 33.817,-15.09039 33.817,-33.99883 0,-18.90844 -15.454,-33.81702 -33.817,-33.81702 -18.9085,0 -33.9989,14.90858 -33.9989,33.81702 0,18.90844 15.0904,33.99883 33.9989,33.99883 z" + id="path3441" + inkscape:connector-curvature="0" + style="stroke-width:0.90906" /><g + id="g888" + transform="matrix(0.90905968,0,0,0.90905968,236.44484,-18.188064)"><path + id="XMLID_1_" + class="st0" + d="m 3333.2,-130.7 c -1,-45.2 -33,-69.1 -72.2,-69.1 -21.5,0 -40.9,7.2 -54.1,21.2 -13.2,-14 -32.6,-21.2 -54.1,-21.2 -39.2,0 -71.2,24 -72.2,69.2 0,0.1 0,0.2 0,0.3 v 103.1 c 0,9.5 7.7,17.1 17.1,17.1 h 16.2 c 1.6,0 2.9,-1.3 2.9,-2.9 v -117.4 0 c 0.7,-22.3 16.5,-34.1 36,-34.1 19.5,0 35.3,11.8 36,34.1 v 0 103.1 c 0,9.5 7.7,17.1 17.1,17.1 h 16.2 c 1.6,0 2.9,-1.3 2.9,-2.9 v -117.4 0 c 0.7,-22.3 16.5,-34.1 36,-34.1 19.5,0 35.3,11.8 36,34.1 v 0 103.1 c 0,9.5 7.7,17.1 17.1,17.1 h 16.2 c 1.6,0 2.9,-1.3 2.9,-2.9 v -117.4 c 0.1,0.1 0,0 0,-0.1 z m 364.7,-66.2 h -27.5 c -7.6,0 -14.7,3.8 -19,10.1 l -30.4,45 c -4,5.9 -12.6,5.9 -16.6,0 l -30.4,-45 c -4.2,-6.3 -11.4,-10.1 -19,-10.1 h -27.5 c -1.7,0 -2.7,1.9 -1.8,3.3 l 54.2,80.4 c 3.9,5.8 3.9,13.4 0,19.2 l -54.2,80.4 c -1,1.4 0.1,3.3 1.8,3.3 h 27.5 c 7.6,0 14.7,-3.8 19,-10.1 l 30.4,-45 c 4,-5.9 12.6,-5.9 16.6,0 l 30.4,45 c 4.2,6.3 11.4,10.1 19,10.1 h 27.5 c 1.7,0 2.7,-1.9 1.8,-3.3 l -54.3,-80.3 c -3.9,-5.8 -3.9,-13.4 0,-19.2 l 54.2,-80.4 c 1,-1.4 0,-3.4 -1.7,-3.4 z m -184.6,0 h -16.2 c -8.2,0 -15.1,5.8 -16.8,13.5 -14.4,-11 -32.5,-16.6 -52,-16.6 -47.4,0 -85.9,33 -85.9,95.3 0,62.3 38.4,95.3 85.9,95.3 19.4,0 37.3,-5.5 51.7,-16.3 0.8,8.7 8.1,15.6 17.1,15.6 h 16.2 c 1.6,0 2.9,-1.3 2.9,-2.9 v -181 c -0.1,-1.6 -1.3,-2.9 -2.9,-2.9 z m -85,152.1 c -28.3,0 -51.3,-20.7 -51.3,-59.8 0,-39.1 23,-59.8 51.3,-59.8 28.3,0 51.3,20.7 51.3,59.8 0,39.1 -23,59.8 -51.3,59.8 z" + inkscape:connector-curvature="0" + style="fill:url(#XMLID_5_)" /><g + id="g3453" + transform="translate(0,0.1)"><defs + id="defs3455"><path + id="XMLID_2_" + d="m 3333.2,-130.8 c -1,-45.2 -33,-69.1 -72.2,-69.1 -21.5,0 -40.9,7.2 -54.1,21.2 -13.2,-14 -32.6,-21.2 -54.1,-21.2 -39.2,0 -71.2,24 -72.2,69.2 0,0.1 0,0.2 0,0.3 v 103.1 c 0,9.5 7.7,17.1 17.1,17.1 h 16.2 c 1.6,0 2.9,-1.3 2.9,-2.9 v -117.4 0 c 0.7,-22.3 16.5,-34.1 36,-34.1 19.5,0 35.3,11.8 36,34.1 v 0 103.1 c 0,9.5 7.7,17.1 17.1,17.1 h 16.2 c 1.6,0 2.9,-1.3 2.9,-2.9 v -117.4 0 c 0.7,-22.3 16.5,-34.1 36,-34.1 19.5,0 35.3,11.8 36,34.1 v 0 103.1 c 0,9.5 7.7,17.1 17.1,17.1 h 16.2 c 1.6,0 2.9,-1.3 2.9,-2.9 v -117.4 c 0.1,0.1 0,0 0,-0.1 z m 364.7,-66.2 h -27.5 c -7.6,0 -14.7,3.8 -19,10.1 l -30.4,45 c -4,5.9 -12.6,5.9 -16.6,0 l -30.4,-45 c -4.2,-6.3 -11.4,-10.1 -19,-10.1 h -27.5 c -1.7,0 -2.7,1.9 -1.8,3.3 l 54.2,80.4 c 3.9,5.8 3.9,13.4 0,19.2 l -54.2,80.4 c -1,1.4 0.1,3.3 1.8,3.3 h 27.5 c 7.6,0 14.7,-3.8 19,-10.1 l 30.4,-45 c 4,-5.9 12.6,-5.9 16.6,0 l 30.4,45 c 4.2,6.3 11.4,10.1 19,10.1 h 27.5 c 1.7,0 2.7,-1.9 1.8,-3.3 L 3645.4,-94 c -3.9,-5.8 -3.9,-13.4 0,-19.2 l 54.2,-80.4 c 1,-1.4 0,-3.4 -1.7,-3.4 z m -184.6,0 h -16.2 c -8.2,0 -15.1,5.8 -16.8,13.5 -14.4,-11 -32.5,-16.6 -52,-16.6 -47.4,0 -85.9,33 -85.9,95.3 0,62.3 38.4,95.3 85.9,95.3 19.4,0 37.3,-5.5 51.7,-16.3 0.8,8.7 8.1,15.6 17.1,15.6 h 16.2 c 1.6,0 2.9,-1.3 2.9,-2.9 v -181 c -0.1,-1.6 -1.3,-2.9 -2.9,-2.9 z m -85,152.1 c -28.3,0 -51.3,-20.7 -51.3,-59.8 0,-39.1 23,-59.8 51.3,-59.8 28.3,0 51.3,20.7 51.3,59.8 0,39.1 -23,59.8 -51.3,59.8 z" + inkscape:connector-curvature="0" /></defs><clipPath + id="XMLID_6_"><use + xlink:href="#XMLID_2_" + style="overflow:visible" + id="use3459" + x="0" + y="0" + width="100%" + height="100%" /></clipPath><radialGradient + id="SVGID_1_" + cx="1494.3917" + cy="-276.44141" + r="164.5752" + gradientTransform="matrix(0.672,0,0,0.8748,2225.512,101.9935)" + gradientUnits="userSpaceOnUse"><stop + offset="0" + style="stop-color:#7BA7F2;stop-opacity:0.5" + id="stop3462" /><stop + offset="1" + style="stop-color:#7BA7F2;stop-opacity:0" + id="stop3464" /></radialGradient><ellipse + class="st1" + cx="3229.7" + cy="-139.8" + rx="110.6" + ry="144" + id="ellipse3466" + clip-path="url(#XMLID_6_)" + style="fill:url(#SVGID_1_)" /><radialGradient + id="SVGID_2_" + cx="3339.8582" + cy="-386.74179" + r="227.5584" + gradientTransform="matrix(1,0,0,0.7081,0,254.0226)" + gradientUnits="userSpaceOnUse"><stop + offset="0.2" + style="stop-color:#7BA7F2" + id="stop3469" /><stop + offset="1" + style="stop-color:#7BA7F2;stop-opacity:0" + id="stop3471" /></radialGradient><ellipse + class="st2" + cx="3339.8999" + cy="-19.799999" + rx="227.60001" + ry="161.10001" + id="ellipse3473" + clip-path="url(#XMLID_6_)" + style="fill:url(#SVGID_2_)" /><radialGradient + id="SVGID_3_" + cx="3479.5854" + cy="-189.1615" + r="123.7732" + gradientUnits="userSpaceOnUse"><stop + offset="0" + style="stop-color:#7BA7F2" + id="stop3476" /><stop + offset="1" + style="stop-color:#7BA7F2;stop-opacity:0" + id="stop3478" /></radialGradient><circle + class="st3" + cx="3479.6001" + cy="-189.2" + r="123.8" + id="circle3480" + clip-path="url(#XMLID_6_)" + style="fill:url(#SVGID_3_)" /></g></g></g></svg> diff --git a/flask_app/static/images/Max_logo.svg b/flask_app/static/images/Max_logo.svg new file mode 100644 index 0000000000000000000000000000000000000000..a05bc2d81c1f663b447bbcb8930d7299d93bd068 --- /dev/null +++ b/flask_app/static/images/Max_logo.svg @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg viewBox="0 0 1000 273.70112" version="1.1" id="svg4" sodipodi:docname="Max_(streaming_service)_2023.svg" width="1000" height="273.70111" inkscape:version="1.2.2 (732a01da63, 2022-12-09)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> + <defs id="defs8"/> + <sodipodi:namedview id="namedview6" pagecolor="#ffffff" bordercolor="#111111" borderopacity="1" inkscape:showpageshadow="0" inkscape:pageopacity="0" inkscape:pagecheckerboard="1" inkscape:deskcolor="#d1d1d1" showgrid="false" inkscape:zoom="0.70710678" inkscape:cx="556.49304" inkscape:cy="164.04877" inkscape:window-width="1366" inkscape:window-height="705" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="svg4"/> + <path id="path321" style="fill:#002be7;stroke-width:1.66668" d="M 157.65039 0 C 130.36708 0 102.65141 12.132694 67.134766 39.416016 L 67.134766 6.9335938 L 0 6.9335938 L 0 266.76758 L 71.466797 266.76758 L 71.466797 105.23438 C 102.65013 80.551063 116.9328 72.75 128.63281 72.75 C 142.48282 72.75 151.58398 81.416433 151.58398 103.06641 L 151.58398 266.76758 L 223.0332 266.76758 L 223.0332 104.80078 C 254.21652 80.550789 268.0845 72.75 280.20117 72.75 C 294.06785 72.75 303.15039 81.416433 303.15039 103.06641 L 303.15039 266.76758 L 374.60156 266.76758 L 374.60156 77.951172 C 374.60156 19.484531 341.25116 0 309.20117 0 C 281.91786 0 254.1997 11.26577 217.81641 38.982422 C 206.14973 9.9491013 180.6004 0 157.65039 0 z M 519.70312 0 C 448.68664 0 389.78516 61.06644 389.78516 136.84961 C 389.78516 212.63276 448.68664 273.70117 519.70312 273.70117 C 554.78635 273.70117 585.10401 260.71933 608.50391 232.55273 L 608.50391 266.76758 L 676.50195 266.76758 L 676.50195 6.9335938 L 608.50391 6.9335938 L 608.50391 41.148438 C 585.10401 12.98184 554.78635 0 519.70312 0 z M 689.05273 6.9335938 C 718.50077 52.830535 751.84935 93.977749 790.83008 135.125 C 751.84935 177.98882 718.50077 222.60385 689.05273 266.76758 L 775.23047 266.76758 C 795.57911 233.85311 818.52937 203.97038 844.96094 175.82227 C 870.94256 203.97038 892.58976 233.85311 912.95508 266.76758 L 1000 266.76758 C 970.11866 221.30393 937.63698 177.98882 898.65625 135.125 C 937.2037 93.977749 970.11866 51.547287 1000 6.9335938 L 914.68945 6.9335938 C 893.47419 39.848067 870.52591 67.562237 844.96094 94.84375 C 818.97934 67.562237 796.02909 39.848067 775.23047 6.9335938 L 689.05273 6.9335938 z M 530.51953 60.201172 C 572.95278 60.201172 607.16992 94.41636 607.16992 136.84961 C 607.16992 179.28284 572.95278 213.5 530.51953 213.5 C 488.08629 213.5 453.86914 179.29951 453.86914 136.84961 C 453.86914 94.399693 488.08629 60.201172 530.51953 60.201172 z M 530.51953 77.517578 C 498.03626 77.517578 471.61913 103.933 471.61914 136.84961 C 471.61913 169.7662 498.03626 196.18359 530.51953 196.18359 C 563.00281 196.18359 589.41797 169.7662 589.41797 136.84961 C 589.41797 103.933 563.00281 77.517578 530.51953 77.517578 z "/> +</svg> \ No newline at end of file diff --git a/flask_app/static/images/Netflix_logo.svg b/flask_app/static/images/Netflix_logo.svg new file mode 100644 index 0000000000000000000000000000000000000000..2ffa5894a96679ccaceab9f4aa4d56a6114daa32 --- /dev/null +++ b/flask_app/static/images/Netflix_logo.svg @@ -0,0 +1,111 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg3399" + version="1.1" + inkscape:version="0.48.2 r9819" + width="1000" + height="464.29114" + xml:space="preserve" + sodipodi:docname="Netflix_Web_Logo.pdf"><metadata + id="metadata3405"><rdf:RDF><cc:Work + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs + id="defs3403" /><sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="640" + inkscape:window-height="455" + id="namedview3401" + showgrid="false" + fit-margin-left="0.5" + fit-margin-bottom="0.5" + fit-margin-top="0.5" + fit-margin-right="0.5" + inkscape:zoom="0.20758122" + inkscape:cx="653.0342" + inkscape:cy="271.7702" + inkscape:window-x="1101" + inkscape:window-y="115" + inkscape:window-maximized="0" + inkscape:current-layer="g3407" /><g + id="g3407" + inkscape:groupmode="layer" + inkscape:label="Netflix_Web_Logo" + transform="matrix(1.25,0,0,-1.25,0.5,463.79113)"><g + id="g3409" + transform="scale(1.4438424,1.4438424)"><path + d="m 0,0 553.523,0 0,256.699 L 0,256.699 0,0 z" + style="fill:#b4131d;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3411" + inkscape:connector-curvature="0" /><path + d="m 95.4297,193.215 0,-2.195 c 0,0 -0.0078,-3.879 -0.0078,-7.247 -3.3711,3.735 -8.5078,9.442 -8.5078,9.442 l -23.4297,0 0.0078,-116.3517 13.5,-10.6602 14.0742,1.7617 c 0,0 0.0586,6.1446 0.1016,10.3165 4.6211,-3.8047 10.949,-9 10.949,-9 l 23.051,2.3476 0,109.6131 -12.508,11.949 -17.2303,0.024" + style="fill:#211c1d;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3413" + inkscape:connector-curvature="0" /><path + d="m 237.359,193.23 -40.058,0 0,-15.5 c 0,0 10.59,-8.32 12.047,-9.464 0,-2.075 0,-79.8832 0,-79.8832 l 13.254,-10.6406 16.035,0.4062 c 0,0 0,85.9886 0,90.1246 2.894,0.024 11.847,0.09 11.847,0.09 l 0,11.285 -12.148,13.582 -0.977,0" + style="fill:#211c1d;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3415" + inkscape:connector-curvature="0" /><path + d="m 399.258,193.215 -15.778,0 0,-106.9494 13.458,-12.4765 15.917,-1.3203 0,108.4802 -12.707,12.266 -0.89,0" + style="fill:#211c1d;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3417" + inkscape:connector-curvature="0" /><path + d="m 477.641,127.832 c 0.148,0.789 9.543,52.273 9.543,52.273 l -12.813,13.102 -16.695,0 c 0,0 -0.86,-5.387 -1.414,-8.769 -3.309,3.585 -8.082,8.769 -8.082,8.769 l -17.207,0 c 0,0 9.812,-51.379 9.957,-52.121 -0.121,-0.75 -9.407,-58.4962 -9.407,-58.4962 l 18.239,-13.875 10.89,-1.2968 c 0,0 0,6.3086 0,9.7383 4.578,-3.5625 14.996,-11.6836 14.996,-11.6836 l 14.391,-1.9805 c 0,0 -12.242,63.5428 -12.398,64.3398" + style="fill:#211c1d;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3419" + inkscape:connector-curvature="0" /><path + d="m 355.996,104.672 c 0,6.848 0,76.66 0,76.66 l -12.539,11.883 -16.848,0 0,-104.3439 13.368,-11.7031 30.496,-1.5157 -0.676,13.5196 c 0,0 -10.731,12.0511 -13.801,15.5001" + style="fill:#211c1d;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3421" + inkscape:connector-curvature="0" /><path + d="m 173.098,170.078 c 3.039,0 13.093,0 13.093,0 l 0,11.192 -12.492,11.968 -0.879,0 -29.144,-0.023 0,-108.5353 13.172,-10.375 29.343,1.8398 0,12.0078 c 0,0 -12.058,13.3357 -13.093,14.4847 0,1.406 0,15.976 0,19.398 3.054,0 13.269,0 13.269,0 l 0,12.102 c 0,0 -12.109,12.113 -13.269,13.273 0,1.547 0,19.133 0,22.668" + style="fill:#211c1d;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3423" + inkscape:connector-curvature="0" /><path + d="m 295.359,170.086 c 3.047,0 13.098,0 13.098,0 l 0,11.191 -12.492,11.961 -0.879,0 -29.148,-0.023 0,-103.6173 13.363,-11.0938 16.058,-0.1094 c 0,0 0,39.6795 0,43.6445 3.063,0 13.274,-0.004 13.274,-0.004 l 0,12.102 c 0,0 -12.11,12.113 -13.274,13.273 0,1.547 0,19.141 0,22.676" + style="fill:#211c1d;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3425" + inkscape:connector-curvature="0" /><path + d="m 386.973,88.2617 c 0,0 4.066,-0.1992 11.047,-0.7148 l 0,102.5741 -11.047,-0.019 0,-101.8403" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3427" + inkscape:connector-curvature="0" /><path + d="m 200.797,179.875 12.043,0 0,-89.2266 c 0,0 2.586,0.2032 11.027,0.3946 l 0.059,88.812 12.191,0 0,10.235 -35.32,0.012 0,-10.227" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3429" + inkscape:connector-curvature="0" /><path + d="m 99.2656,101.949 -0.7812,-0.094 -13.461,88.235 -17.9296,0.019 0.0078,-110.7496 c 0,0 3.5625,0.5117 11.1328,1.3711 l -0.7813,84.1835 0.7774,0.07 12.8086,-82.9371 c 0,0 4.3789,0.5156 19.2659,1.9883 l 0,106.0668 -11.4378,0 0.3984,-88.153" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3431" + inkscape:connector-curvature="0" /><path + d="m 472.914,190.121 -12.465,0 -6.258,-39.57 -0.738,0 -6.5,39.57 -12.23,0 9.55,-48.945 -9.234,-57.2112 11.891,-1.1328 6.117,47.168 0.75,-0.016 5.937,-48.4879 13.039,-1.4414 -9.32,59.7223 9.461,50.344" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3433" + inkscape:connector-curvature="0" /><path + d="m 341.215,190.129 -11.106,-0.02 0,-99.1012 c 0,0 7.524,-0.2148 25.672,-1.0273 l 0,10.0585 c 0,0 -2.031,0.207 -14.566,0.645 l 0,89.445" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3435" + inkscape:connector-curvature="0" /><path + d="m 147.168,87.0352 c 0,0 6.555,0.457 25.508,1.6718 l 0,10.125 -14.332,-0.9843 0,35.4803 14.332,0.012 0,10.316 -14.383,-0.008 0,36.219 14.437,0 0,10.242 -25.562,-0.007 0,-103.0668" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3437" + inkscape:connector-curvature="0" /><path + d="m 269.434,91.8164 11.183,0 0,41.5116 14.328,0.012 0,10.32 -14.386,-0.012 0,36.219 14.437,0 0,10.242 -25.562,-0.007 0,-98.2856" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + id="path3439" + inkscape:connector-curvature="0" /></g></g></svg> \ No newline at end of file diff --git a/flask_app/static/images/PrimeLogo_Blue.svg b/flask_app/static/images/PrimeLogo_Blue.svg new file mode 100644 index 0000000000000000000000000000000000000000..d491e12899f739006d01ec47847b796bce8569fa --- /dev/null +++ b/flask_app/static/images/PrimeLogo_Blue.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="80px" height="50px" viewBox="0 0 80 50" style="enable-background:new 0 0 80 50;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#00A8E1;} +</style> +<title>PrimeLogo_Blue</title> +<path class="st0" d="M1.15,29.2c-0.215,0.01-0.426-0.061-0.59-0.2c-0.14-0.167-0.205-0.384-0.18-0.6V8 C0.355,7.784,0.42,7.567,0.56,7.4c0.166-0.126,0.372-0.186,0.58-0.17h2.22C3.78,7.188,4.158,7.483,4.22,7.9l0.22,0.8 c0.639-0.617,1.394-1.103,2.22-1.43c0.845-0.342,1.748-0.519,2.66-0.52c1.818-0.06,3.556,0.749,4.68,2.18 c1.238,1.706,1.853,3.785,1.74,5.89c0.034,1.528-0.259,3.045-0.86,4.45c-0.496,1.17-1.302,2.183-2.33,2.93 c-0.994,0.678-2.177,1.028-3.38,1c-0.817,0.004-1.629-0.131-2.4-0.4c-0.709-0.238-1.364-0.612-1.93-1.1v6.72 c0.022,0.214-0.038,0.429-0.17,0.6c-0.171,0.132-0.386,0.192-0.6,0.17L1.15,29.2z M7.88,19.84c0.988,0.071,1.944-0.371,2.53-1.17 c0.623-1.118,0.905-2.394,0.81-3.67c0.096-1.288-0.182-2.576-0.8-3.71c-0.588-0.807-1.554-1.25-2.55-1.17 c-1.057,0.001-2.093,0.287-3,0.83V19c0.9,0.56,1.94,0.854,3,0.85L7.88,19.84z"/> +<path class="st0" d="M19.54,22.88c-0.358,0.067-0.703-0.169-0.77-0.528c-0.015-0.08-0.015-0.162,0-0.242V8 c-0.025-0.216,0.04-0.433,0.18-0.6c0.166-0.126,0.372-0.186,0.58-0.17h2.21c0.42-0.042,0.798,0.253,0.86,0.67L23,9.54 c0.657-0.769,1.442-1.419,2.32-1.92c0.716-0.375,1.512-0.57,2.32-0.57h0.43c0.217-0.019,0.434,0.041,0.61,0.17 c0.14,0.167,0.205,0.384,0.18,0.6v2.58c0.017,0.208-0.043,0.414-0.17,0.58c-0.167,0.14-0.384,0.205-0.6,0.18h-0.55 c-0.227,0-0.513,0-0.86,0c-0.578,0.012-1.154,0.079-1.72,0.2c-0.59,0.109-1.166,0.28-1.72,0.51v10.25 c0.016,0.208-0.044,0.414-0.17,0.58c-0.167,0.14-0.384,0.205-0.6,0.18L19.54,22.88z"/> +<path class="st0" d="M33.29,4.79c-0.682,0.034-1.351-0.195-1.87-0.64c-0.482-0.451-0.741-1.091-0.71-1.75 c-0.034-0.663,0.225-1.307,0.71-1.76c1.096-0.877,2.654-0.877,3.75,0c0.482,0.451,0.741,1.091,0.71,1.75 c0.031,0.659-0.228,1.299-0.71,1.75C34.65,4.591,33.977,4.824,33.29,4.79z M31.82,22.89c-0.358,0.067-0.703-0.169-0.77-0.528 c-0.015-0.08-0.015-0.162,0-0.242V8c-0.025-0.216,0.04-0.433,0.18-0.6c0.166-0.126,0.372-0.186,0.58-0.17h2.95 c0.214-0.022,0.429,0.038,0.6,0.17c0.132,0.171,0.192,0.386,0.17,0.6v14.12c0.017,0.208-0.043,0.414-0.17,0.58 c-0.167,0.14-0.384,0.205-0.6,0.18L31.82,22.89z"/> +<path class="st0" d="M40.1,22.88c-0.358,0.067-0.703-0.169-0.77-0.528c-0.015-0.08-0.015-0.162,0-0.242V8 c-0.025-0.216,0.04-0.433,0.18-0.6c0.166-0.126,0.372-0.186,0.58-0.17h2.21c0.42-0.042,0.798,0.253,0.86,0.67l0.25,0.83 c0.91-0.627,1.894-1.137,2.93-1.52c0.855-0.298,1.754-0.453,2.66-0.46c1.576-0.135,3.09,0.642,3.9,2 c0.913-0.628,1.905-1.132,2.95-1.5c0.922-0.307,1.888-0.462,2.86-0.46c1.228-0.074,2.432,0.36,3.33,1.2 c0.828,0.908,1.254,2.113,1.18,3.34v10.79c0.016,0.208-0.044,0.414-0.17,0.58c-0.167,0.14-0.384,0.205-0.6,0.18h-2.91 c-0.358,0.067-0.703-0.169-0.77-0.528c-0.015-0.08-0.015-0.162,0-0.242v-9.84c0-1.393-0.623-2.09-1.87-2.09 c-1.162,0.013-2.307,0.287-3.35,0.8v11.14c0.017,0.208-0.043,0.414-0.17,0.58c-0.167,0.14-0.384,0.205-0.6,0.18h-2.94 c-0.358,0.067-0.703-0.169-0.77-0.528c-0.015-0.08-0.015-0.162,0-0.242v-9.84c0-1.393-0.623-2.09-1.87-2.09 c-1.176,0.007-2.334,0.292-3.38,0.83v11.1c0.016,0.208-0.044,0.414-0.17,0.58c-0.167,0.14-0.384,0.205-0.6,0.18L40.1,22.88z"/> +<path class="st0" d="M73.92,23.34c-2.155,0.141-4.272-0.615-5.85-2.09c-1.443-1.652-2.164-3.813-2-6 c-0.144-2.267,0.586-4.504,2.04-6.25c1.515-1.564,3.636-2.393,5.81-2.27c1.608-0.096,3.196,0.395,4.47,1.38 c1.078,0.92,1.672,2.285,1.61,3.7c0.073,1.385-0.588,2.707-1.74,3.48c-1.551,0.886-3.328,1.296-5.11,1.18 c-1.01,0.012-2.018-0.102-3-0.34c0.006,1.106,0.452,2.164,1.24,2.94c0.933,0.662,2.069,0.977,3.21,0.89 c0.558,0,1.116-0.037,1.67-0.11c0.762-0.118,1.516-0.279,2.26-0.48h0.18h0.15c0.347,0,0.52,0.237,0.52,0.71v1.41 c0.019,0.239-0.029,0.478-0.14,0.69c-0.142,0.167-0.33,0.288-0.54,0.35C77.17,23.093,75.55,23.368,73.92,23.34z M72.92,13.71 c0.787,0.057,1.574-0.109,2.27-0.48c0.478-0.327,0.748-0.882,0.71-1.46c0-1.287-0.767-1.93-2.3-1.93c-1.967,0-3.103,1.207-3.41,3.62 c0.893,0.171,1.801,0.255,2.71,0.25H72.92z"/> +<path class="st0" d="M72.31,40.11C63.55,46.57,50.85,50,39.92,50c-14.606,0.078-28.716-5.295-39.57-15.07 c-0.82-0.74-0.09-1.75,0.9-1.18c12.058,6.885,25.705,10.501,39.59,10.49c10.361-0.055,20.61-2.152,30.16-6.17 C72.52,37.44,73.76,39,72.31,40.11z"/> +<path class="st0" d="M76,36c-1.12-1.43-7.4-0.68-10.23-0.34c-0.86,0.1-1-0.64-0.22-1.18c5-3.52,13.23-2.5,14.18-1.32 s-0.25,9.41-5,13.34c-0.72,0.6-1.41,0.28-1.09-0.52C74.71,43.29,77.08,37.39,76,36z"/> +</svg> \ No newline at end of file diff --git a/flask_app/static/images/Sky_Group_logo_2020.svg b/flask_app/static/images/Sky_Group_logo_2020.svg new file mode 100644 index 0000000000000000000000000000000000000000..bcfdb5085a4583ff2b43c100dabf6dd25e92ba37 --- /dev/null +++ b/flask_app/static/images/Sky_Group_logo_2020.svg @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 816.8 500" enable-background="new 0 0 816.8 500" xml:space="preserve"> +<g> + <g> + <defs> + <path id="SVGID_1_" d="M95.1,103.4C32.1,110.3,0,148.2,0,193.5c0,37.3,27.1,72.6,77.8,82.2l61.1,12c22.4,4.4,33.8,9.4,33.8,21.6 c0,9.3-8.6,19-37.5,19c-26,0-61.1-3.9-83.4-3.9S7.6,333.7,7.6,376c0.1,5.7,0.8,11.3,1.9,16.9c32.1,3.7,99.5,9.6,146.1,4.5 c64.8-7.2,96-42.2,96-90.8c0-41.8-25.8-75.9-85.6-86.9L108,208.9c-18.6-3.2-30.4-7.6-30.4-18.2c0-10.7,12.2-18.1,41.8-18.1 s54.8,3,71.3,3c21.6,0,43.8-9.1,43.8-51.3c0-5.5-0.6-11.1-1.7-16.5c-31.7-4.1-63.6-6.3-95.6-6.6c-14-0.1-28.1,0.6-42,2.1 M457.6,135.9l-97.7,106.8l78.5,123.6c14.4,22.5,33.5,34,64.8,34c15.4,0.2,30.8-2.6,45.1-8.4l-94.7-142.4l67-71l109.9,172.7 l-66.8,140.9c11.8,5.2,24.6,8,37.5,8.1h2.5c27.9,0,43.2-11.4,54.9-37.1l158.3-352.7c-10.3-4.6-21.4-7.2-32.7-7.6 c-20.4-0.4-47.7,3.7-64.8,45.3l-51.7,120.9L566.9,105.5c-10.9-2.9-22.1-4.6-33.4-5C497.9,100.5,478.2,113.6,457.6,135.9 M277.2,53.7v344.6c6,0.9,12.1,1.3,18.2,1.3c50.4,0,60.9-15,60.9-41V2.1c-6.3-1.3-12.7-2-19.1-1.9C286,0.1,277.2,27.5,277.2,53.7 "/> + </defs> + <clipPath id="SVGID_2_"> + <use xlink:href="#SVGID_1_" overflow="visible"/> + </clipPath> + <g transform="matrix(1 0 0 1 0 0)" clip-path="url(#SVGID_2_)"> + + <image overflow="visible" width="237" height="145" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO8AAACSCAYAAACtzJ2mAAAACXBIWXMAAAM6AAADOgFZg0jSAAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAQuVJREFUeNrEfQl268qOJJBS7aeX UDvsddQey4m+tkQSQwQyKfufvu/oaaLkScEAAgFA7X/k/4rI/5HvfybXPwP3u2u5ebwtXmMb75mP neRxdBs9No/bGo+ZKjb1/fi/2z/X43p8jtdj37e//t2er4vY47z9c3/6+4+fi7jbP5ev4/4zPm7H Y0Pm+fxTpl3Hzu9rG+7+wx3z7749X4+9r4/X1udfz/1c3s8vL/Lv+/r3tX+u37e/fu4/rsct3f53 /SX6fo3+XPz9L43PzZ/7/37F+r78PPb+tf8c75+Tn9d/yft51ff1cTx+fP48rtf943h4W8+Py/nx EHf7ePw8Rl8ft+8r97jk6/TYed/d/v73fAP3vyEw5EPgfQrg3wDcyOtWt2cGtCYw6xrc6LXyDXL/ uIbb+r5v5b1ezxn6O7y/aRV937J/x36/x/G4nY/Xf3r99c/fA/lUhC8HvxH3qVL8Wfn5LvV61tCb 2/v15l4j50+n7ieF39/5+nz7el7b59nbbRz7c9i/41SX/HV8JwWI6Ncpe88f4P0MnP8/ALx6zm4C 1wMSAtk9NvOp1D8uLxDNNxhlOMDi2wYA/fM+78/ECa72MhzYj5PCdUL4eVzc8Qm4mj8kx9cXd3z5 EB/vc/3ckTICZN/veQFZ0ydRGUw037TwZHkdAN3PLa0AN4ZN9ycRWQCJfTwBOG11HtD110H/npRx 7wDxN8C9y6o74N0FsLlQ2zNnYlg74il7A8vHRYWllbKtWXeMNI/LFbM50BhKH0qsZf1H0N789gaf oU+vh8r3+9n1iLlnw2MGofx6N1N4SjjfTSuzasO4kdXsBHcTH9CPbP4aXSb5zbowYFHwkWtAvXWy AL+wZ/tT/KeZdxe8d0C7Gzp34bKl52dl2gvIDHiZYVcXuVhTHDj9e6ef4WTpk0Xfr50uZD/eywHK juNt41NsF2AvFpUQzKrHjWNFTSyo7vWI1/37XLioANbygeZhrnaRNviRtTu4kVRA1lAjG2kyAF1c g9c+lyLQJ2LVDhgZeFfH/QbAKFymF8fClGmdWiExfJb35QdI4T0YE4/Cwlc4LIsTg8+dfez3fg+R 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 6vl/AgwA9Yz9zuqb9eIAAAAASUVORK5CYII=" transform="matrix(3.4547 0 0 3.4547 -1.1516 -0.3597)"> + </image> + </g> + </g> + <g> + <g> + <g opacity="0.4"> + <g> + <g> + <g> + <defs> + <path id="SVGID_3_" d="M816.5,110.5l-28.8,64.8c-4.1,7.2-11.2,12.2-19.4,13.7l-57.6,8.1c-7.9,1.4-14.8,6.4-18.6,13.5 c-2.4,5.8,26.3-62.2,26.3-62.2c17.3-41.6,44.7-45.7,64.8-45.3c11.3,0.4,22.4,2.9,32.7,7.6 M566.8,105.6 c-10.9-3-22.1-4.6-33.3-5c-35.6,0-55.3,13-75.9,35.3l-97.7,106.8c5.2,1.6,10.6,2,16,1.2l78.4-11 c10.7-1.6,20.5-6.7,28.1-14.4l38.1-40.5l19.9,31.1c4.5,7.2,15.1,9.3,25,7.8l48.8-6.8c8.3-1,16.6,2,22.4,8.1L566.8,105.6z M276.7,53.8v229.9c0-4.1,0-4.8,0-8.5c0.7-10.6,9-19.1,19.5-20.1l40.8-5.8c9.6-0.6,17.5-7.6,19.2-17.1V1.9 C350,0.6,343.6,0,337.2,0c-51.2,0-60,27.3-60,53.5 M248.7,283.4c-8.3-30.9-34.4-54.8-82.7-63.7L108,208.9 c-18.6-3.2-30.4-7.6-30.4-18.2c0-10.7,12.2-18.1,41.8-18.1s54.8,3,71.3,3c21.6,0,43.8-9.1,43.8-51.3 c0-5.5-0.6-11.1-1.7-16.5c-31.8-3.9-89.9-9.8-137.6-4.5c-63,7.1-95.1,45-95.1,90.3c0.2,25.5,12.8,49.3,33.7,63.8h0.6 c1.7,1.2,4.8,3.3,7.2,4.5c24.4,13.7,77.8,17.8,102.6,14.4l65.3-9.2c16.3-2.3,35.1,1.1,39.7,16.1"/> + </defs> + <clipPath id="SVGID_4_"> + <use xlink:href="#SVGID_3_" overflow="visible"/> + </clipPath> + <g clip-path="url(#SVGID_4_)"> + <defs> + <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="-39.1" y="-112.4" width="894.6" height="508.5"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="-39.1" y="-112.4" width="894.6" height="508.5" id="mask_1_"> + + <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-419.8807" y1="716.7444" x2="-419.5928" y2="716.7444" gradientTransform="matrix(-112.5785 -801.0377 801.0377 -112.5785 -620990.5625 -255436.8281)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="0.12" style="stop-color:#D5D5D5"/> + <stop offset="0.27" style="stop-color:#A8A8A8"/> + <stop offset="0.42" style="stop-color:#828282"/> + <stop offset="0.57" style="stop-color:#656565"/> + <stop offset="0.72" style="stop-color:#515151"/> + <stop offset="0.86" style="stop-color:#444444"/> + <stop offset="1" style="stop-color:#404040"/> + </linearGradient> + <polygon fill="url(#SVGID_5_)" filter="url(#Adobe_OpacityMaskFilter)" points="-39.1,5.6 800.6,-112.4 855.5,278.1 15.8,396.1 "/> + </mask> + <g mask="url(#mask_1_)"> + + <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-419.8807" y1="716.7444" x2="-419.5928" y2="716.7444" gradientTransform="matrix(-112.5785 -801.0377 801.0377 -112.5785 -620990.5625 -255436.8281)"> + <stop offset="0" style="stop-color:#FFFFFF"/> + <stop offset="1" style="stop-color:#FFFFFF"/> + </linearGradient> + <polygon fill="url(#SVGID_6_)" points="-39.1,5.6 800.6,-112.4 855.5,278.1 15.8,396.1 "/> + </g> + </g> + </g> + </g> + </g> + </g> + </g> + </g> +</g> +</svg> \ No newline at end of file diff --git a/flask_app/static/images/favicon.ico b/flask_app/static/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..38d9614da59a42ed5fdc9990d4735294e0a84aef Binary files /dev/null and b/flask_app/static/images/favicon.ico differ diff --git a/flask_app/static/images/poster/arcane.jpg b/flask_app/static/images/poster/arcane.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3aaf608bb7946312f736cc9509f97baff09ea386 Binary files /dev/null and b/flask_app/static/images/poster/arcane.jpg differ diff --git a/flask_app/static/images/poster/avengers.jpg b/flask_app/static/images/poster/avengers.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c00c0e59a470973eb63526d74d3c7a00d3b2d69b Binary files /dev/null and b/flask_app/static/images/poster/avengers.jpg differ diff --git a/flask_app/static/images/poster/better_call_saul.jpg b/flask_app/static/images/poster/better_call_saul.jpg new file mode 100644 index 0000000000000000000000000000000000000000..012ec6aaa2f78fd9188708a8e80aa75d13cf7335 Binary files /dev/null and b/flask_app/static/images/poster/better_call_saul.jpg differ diff --git a/flask_app/static/images/poster/breaking_bad.jpg b/flask_app/static/images/poster/breaking_bad.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e30a914ad9a2b0dea62532d7ca36ac66dfc292ec Binary files /dev/null and b/flask_app/static/images/poster/breaking_bad.jpg differ diff --git a/flask_app/static/images/poster/dark_knight.jpg b/flask_app/static/images/poster/dark_knight.jpg new file mode 100644 index 0000000000000000000000000000000000000000..839c36a1f2382686003e08c5dd2b64b538b17d51 Binary files /dev/null and b/flask_app/static/images/poster/dark_knight.jpg differ diff --git a/flask_app/static/images/poster/friends.jpg b/flask_app/static/images/poster/friends.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c89d44e99146b71576f614ae30cae05037c52faf Binary files /dev/null and b/flask_app/static/images/poster/friends.jpg differ diff --git a/flask_app/static/images/poster/godfather.jpg b/flask_app/static/images/poster/godfather.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9ceeee62a875aa0d774ca703c4456db4a5773413 Binary files /dev/null and b/flask_app/static/images/poster/godfather.jpg differ diff --git a/flask_app/static/images/poster/got.jpg b/flask_app/static/images/poster/got.jpg new file mode 100644 index 0000000000000000000000000000000000000000..96c148880618b112a3645e1bbe028709e6de8dd7 Binary files /dev/null and b/flask_app/static/images/poster/got.jpg differ diff --git a/flask_app/static/images/poster/how_i_met_your_mother.jpg b/flask_app/static/images/poster/how_i_met_your_mother.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7069732ca6f2fd670e291cfac32b79da3207629d Binary files /dev/null and b/flask_app/static/images/poster/how_i_met_your_mother.jpg differ diff --git a/flask_app/static/images/poster/stranger_things.jpg b/flask_app/static/images/poster/stranger_things.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5590aa4f7c8c7d2829a48a490cfbc0555753d7dd Binary files /dev/null and b/flask_app/static/images/poster/stranger_things.jpg differ diff --git a/flask_app/static/images/poster/vikings.jpg b/flask_app/static/images/poster/vikings.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c554622c395197f7a2283921ded53dbe5caf81bb Binary files /dev/null and b/flask_app/static/images/poster/vikings.jpg differ diff --git a/flask_app/static/javascript/script.js b/flask_app/static/javascript/script.js new file mode 100644 index 0000000000000000000000000000000000000000..ee6d874d079ff0580ee1074b355e3cda96179206 --- /dev/null +++ b/flask_app/static/javascript/script.js @@ -0,0 +1,48 @@ +document.addEventListener("DOMContentLoaded", (event) => { + console.log("Dom loaded"); + document.getElementById("send-btn").addEventListener("click", async () => { + message(); + }); + + document.getElementById("user-input-field").addEventListener("keydown", (event) => { + if (event.key === "Enter") { + event.preventDefault(); // Verhindert das Absenden des Formulars + message(); + } + }); + + }); + +async function message() { + const userInput = document.getElementById("user-input-field").value; + const chatBox = document.getElementById("chat-box"); + + // Eingabe zurücksetzen + document.getElementById("user-input-field").value = ""; + + // Setze das Scrollen auf das Ende nach einer kleinen Verzögerung + setTimeout(function() { + chatBox.scrollTop = chatBox.scrollHeight; + }, 30); // 100ms Verzögerung + + if (!userInput.trim()) return; + + // Zeige Benutzer-Nachricht + chatBox.innerHTML += `<p><b>Du:</b> ${userInput}</p>`; + + // Anfrage an Flask senden + const response = await fetch("/chat", { + method: "POST", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify({ message: userInput }) + }); + + const data = await response.json(); + + // Zeige Bot-Nachricht + chatBox.innerHTML += `<p><b>Bot:</b> ${data.bot_message}</p>`; + + chatBox.scrollTop = chatBox.scrollHeight; // Automatisches Scrollen +} diff --git a/flask_app/templates/index.html b/flask_app/templates/index.html index dbe37dd88f74530369655c1f815bfbaf3303ef98..a53a0093c4e45e289715560b0bc87e2267f526dc 100644 --- a/flask_app/templates/index.html +++ b/flask_app/templates/index.html @@ -4,112 +4,9 @@ <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Film- und Serienempfehlungen</title> - <style> - /* Allgemeines Styling */ - body { - margin: 0; - padding: 0; - background: #000; - font-family: Arial, sans-serif; - color: white; - } - - header { - text-align: center; - padding: 20px; - background: linear-gradient(to bottom, rgba(255, 0, 0, 0.8), rgba(0, 0, 0, 0.9)); - } - - header h1 { - margin: 0; - font-size: 24px; - } - - #chat-container { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - margin-top: 20px; - } - - #chat-box { - width: 80%; - max-width: 600px; - height: 300px; - border: 1px solid #ccc; - overflow-y: scroll; - padding: 10px; - background: #1a1a1a; - margin-bottom: 10px; - color: white; - } - - #user-input { - width: 70%; - padding: 10px; - border: 1px solid #ccc; - margin-right: 10px; - } - - #send-btn { - padding: 10px; - background-color: #007BFF; - color: white; - border: none; - cursor: pointer; - } - - #send-btn:hover { - background-color: #0056b3; - } - - .poster-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); - gap: 10px; - width: 90%; - margin: 20px auto; - } - - .poster-grid div { - background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.9)); - display: flex; - align-items: flex-end; - justify-content: center; - height: 150px; - color: white; - font-size: 14px; - font-weight: bold; - text-align: center; - border-radius: 8px; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5); - } - - .poster-grid div:nth-child(odd) { - background: linear-gradient(to bottom, rgba(255, 0, 0, 0.6), rgba(0, 0, 0, 0.9)); - } - - .logos { - display: flex; - justify-content: space-around; - align-items: center; - width: 100%; - margin-top: 20px; - padding: 10px 0; - background: rgba(0, 0, 0, 0.8); - border-top: 2px solid rgba(255, 255, 255, 0.1); - } - - .logos img { - height: 40px; - filter: brightness(0.9); - } - - .logos img:hover { - filter: brightness(1); - } - </style> + <link rel="icon" type="image/x-icon" href="/static/images/favicon.ico"> + <link rel="stylesheet" href="/static/css/styles.css"> + <script type="text/javascript" src="/static/javascript/script.js"></script> </head> <body> <header> @@ -120,63 +17,36 @@ <!-- Chat-Bereich --> <div id="chat-container"> <div id="chat-box"></div> - <div style="display: flex; align-items: center;"> - <input type="text" id="user-input" placeholder="Frage mich nach einem Film!"> + <div id="user-input-box"> + <input type="text" id="user-input-field" placeholder="Frage mich nach einem Film!"> <button id="send-btn">Senden</button> </div> </div> <!-- Poster Grid --> <div class="poster-grid"> - <div>The Godfather</div> - <div>Stranger Things</div> - <div>Breaking Bad</div> - <div>Game of Thrones</div> - <div>Avengers</div> - <div>The Dark Knight</div> - <div>Friends</div> - <div>Vikings</div> - <div>Better Call Saul</div> - <div>How I Met Your Mother</div> - </div> - - <!-- Streaming Logos --> - <div class="logos"> - <img src="https://upload.wikimedia.org/wikipedia/commons/6/69/Netflix_logo.svg" alt="Netflix"> - <img src="https://upload.wikimedia.org/wikipedia/commons/e/e9/Amazon_Prime_Video_logo.svg" alt="Amazon Prime"> - <img src="https://upload.wikimedia.org/wikipedia/commons/3/3e/Disney%2B_logo.svg" alt="Disney+"> - <img src="https://upload.wikimedia.org/wikipedia/commons/1/17/HBO_Max_Logo.svg" alt="HBO"> + <a href="https://www.amazon.de/gp/video/detail/amzn1.dv.gti.2ea9f6e0-de91-108a-0c96-0672caf0ef45?tag=wwwwerstreamt-21&ascsubtag=Description" target="_blank"><div class="godfather"></div></a> + <a href="https://www.netflix.com/de-en/title/80057281" target="_blank"><div class="stranger-things"></div></a> + <a href="https://www.amazon.de/gp/video/detail/amzn1.dv.gti.98a9f6c0-4020-75e9-8376-deadfc82a351?tag=wwwwerstreamt-21&ascsubtag=Web" target="_blank"><div class="breaking-bad"></div></a> + <a href="https://www.netflix.com/de-en/title/81435684" target="_blank"><div class="arcane"></div></a> + <a href="https://tv.apple.com/de/show/game-of-thrones---das-lied-von-eis-und-feuer/umc.cmc.7htjb4sh74ynzxavta5boxuzq" target="_blank"><div class="got"></div></a> + <a href="https://www.disneyplus.com/de-de/movies/details-wse/aRbVJUb2h2Rf?irclickid=02BzYwTfwxyKTSQyVlTnk0qOUkCXt33P33FAXI0&irgwc=1&cid=DSS-Affiliate-Impact-Network-Tradedoubler+DACH-564546&tgclid=0501000c-daa1-40b3-b700-16566763396b&dclid=CPW8ytecsooDFbfzEQgdTZ4JTg" target="_blank"><div class="avengers"></div></a> + <a href="https://www.amazon.de/gp/video/detail/amzn1.dv.gti.daa9f6e5-36bc-f942-a1b3-bdcecddc84c5?tag=wwwwerstreamt-21&ascsubtag=Description" target="_blank"><div class="the-dark-knight"></div></a> + <a href="https://www.amazon.de/gp/video/detail/amzn1.dv.gti.7ea9f6b6-8bb5-a2d5-357c-efa247e9e080?tag=wwwwerstreamt-21&ascsubtag=Web" target="_blank"><div class="friends"></div></a> + <a href="https://www.amazon.de/gp/video/detail/amzn1.dv.gti.aca9f6cc-6f7d-e6a8-fd61-980bde2a5c0c?tag=wwwwerstreamt-21&ascsubtag=Description" target="_blank"><div class="vikings"></div></a> + <a href="https://www.netflix.com/de-en/title/80021955" target="_blank"><div class="better-call-saul"></div></a> </div> </main> - <script> - document.getElementById("send-btn").addEventListener("click", async () => { - const userInput = document.getElementById("user-input").value; - const chatBox = document.getElementById("chat-box"); - - if (!userInput.trim()) return; - - // Zeige Benutzer-Nachricht - chatBox.innerHTML += `<p><b>Du:</b> ${userInput}</p>`; - - // Anfrage an Flask senden - const response = await fetch("/chat", { - method: "POST", - headers: { - "Content-Type": "application/json" - }, - body: JSON.stringify({ message: userInput }) - }); - - const data = await response.json(); - - // Zeige Bot-Nachricht - chatBox.innerHTML += `<p><b>Bot:</b> ${data.bot_message}</p>`; + <!-- Streaming Logos --> + <div class="logos"> + <a href="https://www.netflix.com/" target="_blank"><img src="/static/images/Netflix_logo.svg" alt="Netflix"></a> + <a href="https://www.amazon.de/gp/video/storefront" target="_blank"><img src="/static/images/PrimeLogo_Blue.svg" alt="Amazon Prime"></a> + <a href="https://www.sky.com/" target="_blank"><img src="/static/images/Sky_Group_logo_2020.svg" alt="Sky"></a> + <a href="https://www.disneyplus.com/" target="_blank"><img src="/static/images/Disney+_logo.svg" alt="Disney+"></a> + <a href="https://tv.apple.com/" target="_blank"><img src="/static/images/AppleTVLogo.svg" alt="Apple TV"></a> + <a href="https://auth.max.com/" target="_blank"><img src="/static/images/Max_logo.svg" alt="HBO Max"></a> + </div> - // Eingabe zurücksetzen - document.getElementById("user-input").value = ""; - chatBox.scrollTop = chatBox.scrollHeight; // Automatisches Scrollen - }); - </script> </body> </html> diff --git a/models/20241219-103515-visible-paint.tar.gz b/models/20241219-103515-visible-paint.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..620761fa7f0e6b59ebf9fb9c067f288e726e5802 Binary files /dev/null and b/models/20241219-103515-visible-paint.tar.gz differ diff --git a/models/20241219-111907-brute-buffer.tar.gz b/models/20241219-111907-brute-buffer.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..808d01d217119cf61280270d6087385155957997 Binary files /dev/null and b/models/20241219-111907-brute-buffer.tar.gz differ diff --git a/models/20241219-130112-cerulean-bourbon.tar.gz b/models/20241219-130112-cerulean-bourbon.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8a7ae0bbb9353127134a1392aae58bed38386838 Binary files /dev/null and b/models/20241219-130112-cerulean-bourbon.tar.gz differ diff --git a/models/20241219-131602-genteel-adaptation.tar.gz b/models/20241219-131602-genteel-adaptation.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..9dd602ff82edc9b19be198f2d30ca7a2b7250021 Binary files /dev/null and b/models/20241219-131602-genteel-adaptation.tar.gz differ diff --git a/models/20241219-133213-broad-atoll.tar.gz b/models/20241219-133213-broad-atoll.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..1166aca80629537347f413c5eb366787e376ba3e Binary files /dev/null and b/models/20241219-133213-broad-atoll.tar.gz differ