Skip to content

Commit 4cc09ba

Browse files
authored
Merge branch 'master' into documentation-augmentation
2 parents 7c53a98 + bc8c25e commit 4cc09ba

File tree

4 files changed

+18
-1
lines changed

4 files changed

+18
-1
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
type = "f"
2+
message = "Make modal footer sticky to always show modal action buttons."
3+
4+
pulls = ["24303"]
5+
issues = ["24370"]

graylog2-server/src/main/java/org/graylog2/migrations/V202406260800_MigrateCertificateAuthority.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public void upgrade() {
6464
}
6565
readExistingKeystore().ifPresent(keystore -> clusterConfigService.write(new EncryptedCaKeystore(keystore)));
6666
mongoConnection.getMongoDatabase().getCollection(LEGACY_COLLECTION_NAME).drop();
67+
clusterConfigService.write(new V202406260800_MigrateCertificateAuthority.MigrationCompleted());
6768
}
6869

6970
public Optional<EncryptedValue> readExistingKeystore() {

graylog2-server/src/test/java/org/graylog2/migrations/V202406260800_MigrateCertificateAuthorityTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,7 @@ void testMigration(MongoCollections mongoCollections) {
6060

6161
final Set<String> existingCollections = mongoConnection.getMongoDatabase().listCollectionNames().into(new HashSet<>());
6262
Assertions.assertThat(existingCollections).doesNotContain(V202406260800_MigrateCertificateAuthority.LEGACY_COLLECTION_NAME);
63+
64+
Mockito.verify(clusterConfigService, Mockito.times(1)).write(Mockito.any(V202406260800_MigrateCertificateAuthority.MigrationCompleted.class));
6365
}
6466
}

graylog2-web-interface/src/components/bootstrap/Modal.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ const ModalContent = styled(MantineModal.Content)`
3333
border-radius: 10px;
3434
`;
3535

36+
const StyledModalFooter = styled(MantineModal.Body)(
37+
({ theme }) => css`
38+
position: sticky;
39+
bottom: 0;
40+
background-color: ${theme.colors.global.contentBackground};
41+
padding: ${theme.spacings.md};
42+
`,
43+
);
44+
3645
const StyledModalRoot = styled(MantineModal.Root)<{ $scrollInContent: boolean }>(
3746
({ theme, $scrollInContent }) => css`
3847
--mantine-color-body: ${theme.colors.global.contentBackground};
@@ -115,6 +124,6 @@ Modal.Title = styled(MantineModal.Title)`
115124
`;
116125

117126
Modal.Body = MantineModal.Body;
118-
Modal.Footer = MantineModal.Body;
127+
Modal.Footer = StyledModalFooter;
119128

120129
export default Modal;

0 commit comments

Comments
 (0)