diff --git a/src/app/features/model-details/model-details.component.html b/src/app/features/model-details/model-details.component.html
index 9b5e3307a0fd99d8317cd33ecad26143cb8f686a..4b6be61e308c35ae80e4f057cdd114ea6932a80a 100644
--- a/src/app/features/model-details/model-details.component.html
+++ b/src/app/features/model-details/model-details.component.html
@@ -41,39 +41,11 @@
           </mat-menu>
         </div>
       </div>
-      <div class="version-container">
-        <button
-          class="mdl-button"
-          #menuTrigger2="matMenuTrigger"
-          [matMenuTriggerFor]="menu2"
-          (click)="menuTrigger2.openMenu()"
-        >
-          <span class="text-ellipsis"
-            >Version - {{ selectedDefaultRevision?.version }}</span
-          >
-          <i class="material-icons">keyboard_arrow_down</i>
-        </button>
-        <mat-menu #menu2="matMenu"
-          ><ul>
-            <li
-              *ngFor="let revision of revisionsList"
-              [ngClass]="{
-                selected: revision.version === selectedDefaultRevision.version
-              }"
-              (click)="onChangeVersion(revision)"
-              class="li-border-bottom"
-            >
-              <span
-                [ngClass]="{
-                  'md-cat-txtellipsis': revision.version.length > 15
-                }"
-                >{{ revision.version }}</span
-              >
-              <span class="custom-tooltip-text">{{ revision.version }}</span>
-            </li>
-          </ul></mat-menu
-        >
-      </div>
+      <gp-version-dropdown
+        [selectedDefaultRevision]="selectedDefaultRevision"
+        [revisionsList]="revisionsList"
+        (revisionChange)="onChangeVersion($event)"
+      ></gp-version-dropdown>
     </div>
     <ng-container *ngIf="isLoggedIn$ | async; else notLoggedIn">
       <div class="md-head-container2">
diff --git a/src/app/features/model-details/model-details.component.ts b/src/app/features/model-details/model-details.component.ts
index a407e6e5609df86941c5b0edd8ac7cfa89bce579..262ad0587c77c9a422516255a4eb5bfba0d94a82 100644
--- a/src/app/features/model-details/model-details.component.ts
+++ b/src/app/features/model-details/model-details.component.ts
@@ -51,6 +51,7 @@ import { apiConfig } from 'src/app/core/config';
 import { PrivateCatalogsService } from 'src/app/core/services/private-catalogs.service';
 import { SolutionIdComponent } from 'src/app/shared/components/solution-id/solution-id.component';
 import { BreadcrumbNavigationComponent } from 'src/app/shared/components/breadcrumb-navigation/breadcrumb-navigation.component';
+import { VersionDropdownComponent } from 'src/app/shared/components/version-dropdown/version-dropdown.component';
 
 interface SolutionData {
   solutionId: string;
@@ -90,6 +91,7 @@ interface SolutionData {
     FormsModule,
     SolutionIdComponent,
     BreadcrumbNavigationComponent,
+    VersionDropdownComponent,
   ],
   templateUrl: './model-details.component.html',
   styleUrl: './model-details.component.scss',
@@ -103,14 +105,8 @@ export class ModelDetailsComponent implements OnInit {
   imageToShow: any;
   isImageLoading = true;
   selectedDefaultCatalog!: Catalog;
-  revisionsList!: {
-    version: string;
-    revisionId: string;
-  }[];
-  selectedDefaultRevision!: {
-    version: string;
-    revisionId: string;
-  };
+  revisionsList!: Revision[];
+  selectedDefaultRevision!: Revision;
   averageRatings!: AverageRatings;
   allRatings: AllUserRating[] = [];
   totalRatingsCount: number = 0;
@@ -371,7 +367,7 @@ export class ModelDetailsComponent implements OnInit {
     });
   }
 
-  onChangeVersion(revision: { version: string; revisionId: string }) {
+  onChangeVersion(revision: Revision) {
     this.selectedDefaultRevision = revision;
     this.setVersionIdInService();
     this.setRevisionInService(revision);
diff --git a/src/app/shared/components/version-dropdown/version-dropdown.component.html b/src/app/shared/components/version-dropdown/version-dropdown.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..c86f1eced0b1aefe5ec980a6fbb8eb4399b1654a
--- /dev/null
+++ b/src/app/shared/components/version-dropdown/version-dropdown.component.html
@@ -0,0 +1,27 @@
+<div class="version-container">
+  <button
+    class="version-button"
+    #menuTrigger2="matMenuTrigger"
+    mat-raised-button
+    [matMenuTriggerFor]="menu2"
+    (click)="menuTrigger2.openMenu()"
+  >
+    <span>Version - {{ selectedDefaultRevision?.version }}</span>
+    <mat-icon iconPositionEnd>keyboard_arrow_down</mat-icon>
+  </button>
+  <mat-menu #menu2="matMenu">
+    <mat-list role="list" *ngFor="let revision of revisionsList">
+      <mat-list-item
+        (click)="onChangeVersion(revision)"
+        style="cursor: pointer"
+        [ngClass]="{
+          selected: revision.version === selectedDefaultRevision.version
+        }"
+      >
+        <span style="font-size: 14px; line-height: 24px; font-weight: 400"
+          >Version - {{ revision.version }}</span
+        >
+      </mat-list-item>
+    </mat-list>
+  </mat-menu>
+</div>