project.component.html 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <script type="text/javascript" src="./js/project.js"></script>
  2. @if(projectObs$ | async; as project){
  3. <section>
  4. <h3>{{ project.title }}</h3>
  5. <article>
  6. <div class='info_summary'>
  7. @if(project.logo){
  8. <img class='logo' src="./img/project/{{project.logo}}" alt={{project.title}}/>
  9. }
  10. <h4>{{ project.header }}</h4>
  11. <div class='text' [innerHTML]=project.text></div>
  12. </div>
  13. <div class='info_details'>
  14. @if(project['project-urls']){
  15. <ul class='urls'>
  16. <li *ngFor="let url of project['project-urls']">
  17. <a href="{{ url.url }}" title="{{ url.type.summary }}" target="_blank" class="url">
  18. <img src="./img/social/{{url.type.logo}}" alt="{{url.type.title}}" class="url"/>
  19. {{ url.type.title }}
  20. </a>
  21. </li>
  22. </ul>
  23. }
  24. @if(project.tags){
  25. <div class='tags'>
  26. <span *ngFor="let tag of project.tags">
  27. <img src="./img/tag/{{tag.icon}}" alt="{{tag.tag}}" title="{{tag.tag}}"/>
  28. </span>
  29. </div>
  30. }
  31. @if(project.license){
  32. <div class='license'>
  33. License:
  34. <img src="./img/license/{{project.license.logo}}" alt="{{project.license.legal}}" title="{{project.license.legal}}"/>
  35. </div>
  36. }
  37. </div>
  38. @if(project.comment){
  39. <div class='comment'>
  40. <div class='comment_title'>
  41. TODO NOTES
  42. </div>
  43. <div class="comment_text" [innerHTML]=project.comment></div>
  44. </div>
  45. }
  46. @if(project['project-images']){
  47. <div id='image_reel'>
  48. <div *ngFor="let img of project['project-images']; let i = index" class="img">
  49. <img id="img_{{ i }}" src="./img/project/{{img.image}}" alt="{{img.alt}}" title="{{img.alt}}" onClick="showImage(this);"/>
  50. <h5>{{img.alt}}</h5>
  51. </div>
  52. </div>
  53. }
  54. </article>
  55. </section>
  56. <div id='image_viewer_cover' onclick='closeImage();'></div>
  57. <section id='image_viewer'>
  58. <h3>
  59. <span id='image_viewer_title'></span>
  60. <div id='image_viewer_close'>
  61. <a onClick='closeImage();'>
  62. <img src='https://v-gears.inigovalentin.com/img/close.svg'/>
  63. </a>
  64. </div>
  65. </h3>
  66. <table id='image_viewer_container'>
  67. <td class='control'>
  68. <a onClick='prevImage();'>
  69. <img src='https://v-gears.inigovalentin.com/img/prev.svg'/>
  70. </a>
  71. </td>
  72. <td class='image'>
  73. <img id='image_viewer_image'/>
  74. </td>
  75. <td class='control'>
  76. <a onClick='nextImage();'>
  77. <img src='https://v-gears.inigovalentin.com/img/next.svg'/>
  78. </a>
  79. </td>
  80. </table>
  81. <div id='secondary_controls'>
  82. <a onClick='prevImage();'>
  83. <img src='https://v-gears.inigovalentin.com/img/prev.svg'/>
  84. </a>
  85. <a onClick='nextImage();'>
  86. <img src='https://v-gears.inigovalentin.com/img/next.svg'/>
  87. </a>
  88. </div>
  89. </section>
  90. }