- Pelican © 2024 - {new Date().getFullYear()} -
-{deleteIdentifier}
key will be invalidated.
- - {loading ? t('loading', { ns: 'strings' }) : 'No API keys exist for this account.'} -
- ) : ( - keys.map((key, index) => ( -{key.description}
-- {t('last_used', { ns: 'strings' })}: - {key.lastUsedAt - ? format(key.lastUsedAt, 'MMM do, yyyy HH:mm') - : t('never', { ns: 'strings' })} -
-
- {key.identifier}
-
- The API key you have requested is shown below. Please store this in a safe location, it will not be - shown again. -
---- -{apiKey}
-
- {showOnlyAdmin ? t('showing-others-servers') : t('showing-your-servers')} -
-- {showOnlyAdmin ? t('no-other-servers') : t('no-servers-associated')} -
- ) - } -{server.name}
- {!!server.description && ( -{server.description}
- )} -
- {server.allocations
- .filter((alloc) => alloc.isDefault)
- .map((allocation) => (
-
of {cpuLimit}
-of {memoryLimit}
-of {diskLimit}
-{isEnabled ? t('two_factor.disable.help') : t('two_factor.enable.help')}
-{server.name}
-- {server.allocations - .filter((alloc) => alloc.isDefault) - .map((allocation) => ( - - {allocation.alias || ip(allocation.ip)}:{allocation.port} - - ))} -
-- {!data ? 'Loading...' : 'No SSH Keys exist for this account.'} -
- ) : ( - data.map((key, index) => ( -{key.name}
-SHA256:{key.fingerprint}
-- Added on: - {format(key.createdAt, 'MMM do, yyyy HH:mm')} -
-{name}
SSH key will invalidate its usage across the Panel.
-
- {children}
-
-);
diff --git a/resources/scripts/components/elements/CodemirrorEditor.tsx b/resources/scripts/components/elements/CodemirrorEditor.tsx
deleted file mode 100644
index 99a7b5e85..000000000
--- a/resources/scripts/components/elements/CodemirrorEditor.tsx
+++ /dev/null
@@ -1,216 +0,0 @@
-import React, { useCallback, useEffect, useState } from 'react';
-import CodeMirror from 'codemirror';
-import styled from 'styled-components/macro';
-import tw from 'twin.macro';
-import modes from '@/modes';
-
-require('codemirror/lib/codemirror.css');
-require('codemirror/theme/ayu-mirage.css');
-require('codemirror/addon/edit/closebrackets');
-require('codemirror/addon/edit/closetag');
-require('codemirror/addon/edit/matchbrackets');
-require('codemirror/addon/edit/matchtags');
-require('codemirror/addon/edit/trailingspace');
-require('codemirror/addon/fold/foldcode');
-require('codemirror/addon/fold/foldgutter.css');
-require('codemirror/addon/fold/foldgutter');
-require('codemirror/addon/fold/brace-fold');
-require('codemirror/addon/fold/comment-fold');
-require('codemirror/addon/fold/indent-fold');
-require('codemirror/addon/fold/markdown-fold');
-require('codemirror/addon/fold/xml-fold');
-require('codemirror/addon/hint/css-hint');
-require('codemirror/addon/hint/html-hint');
-require('codemirror/addon/hint/javascript-hint');
-require('codemirror/addon/hint/show-hint.css');
-require('codemirror/addon/hint/show-hint');
-require('codemirror/addon/hint/sql-hint');
-require('codemirror/addon/hint/xml-hint');
-require('codemirror/addon/mode/simple');
-require('codemirror/addon/dialog/dialog.css');
-require('codemirror/addon/dialog/dialog');
-require('codemirror/addon/scroll/annotatescrollbar');
-require('codemirror/addon/scroll/scrollpastend');
-require('codemirror/addon/scroll/simplescrollbars.css');
-require('codemirror/addon/scroll/simplescrollbars');
-require('codemirror/addon/search/jump-to-line');
-require('codemirror/addon/search/match-highlighter');
-require('codemirror/addon/search/matchesonscrollbar.css');
-require('codemirror/addon/search/matchesonscrollbar');
-require('codemirror/addon/search/search');
-require('codemirror/addon/search/searchcursor');
-
-require('codemirror/mode/brainfuck/brainfuck');
-require('codemirror/mode/clike/clike');
-require('codemirror/mode/css/css');
-require('codemirror/mode/dart/dart');
-require('codemirror/mode/diff/diff');
-require('codemirror/mode/dockerfile/dockerfile');
-require('codemirror/mode/erlang/erlang');
-require('codemirror/mode/gfm/gfm');
-require('codemirror/mode/go/go');
-require('codemirror/mode/handlebars/handlebars');
-require('codemirror/mode/htmlembedded/htmlembedded');
-require('codemirror/mode/htmlmixed/htmlmixed');
-require('codemirror/mode/http/http');
-require('codemirror/mode/javascript/javascript');
-require('codemirror/mode/jsx/jsx');
-require('codemirror/mode/julia/julia');
-require('codemirror/mode/lua/lua');
-require('codemirror/mode/markdown/markdown');
-require('codemirror/mode/nginx/nginx');
-require('codemirror/mode/perl/perl');
-require('codemirror/mode/php/php');
-require('codemirror/mode/properties/properties');
-require('codemirror/mode/protobuf/protobuf');
-require('codemirror/mode/pug/pug');
-require('codemirror/mode/python/python');
-require('codemirror/mode/rpm/rpm');
-require('codemirror/mode/ruby/ruby');
-require('codemirror/mode/rust/rust');
-require('codemirror/mode/sass/sass');
-require('codemirror/mode/shell/shell');
-require('codemirror/mode/smarty/smarty');
-require('codemirror/mode/sql/sql');
-require('codemirror/mode/swift/swift');
-require('codemirror/mode/toml/toml');
-require('codemirror/mode/twig/twig');
-require('codemirror/mode/vue/vue');
-require('codemirror/mode/xml/xml');
-require('codemirror/mode/yaml/yaml');
-
-const EditorContainer = styled.div`
- min-height: 16rem;
- height: calc(100vh - 20rem);
- ${tw`relative`};
-
- > div {
- ${tw`rounded h-full`};
- }
-
- .CodeMirror {
- font-size: 12px;
- line-height: 1.375rem;
- }
-
- .CodeMirror-linenumber {
- padding: 1px 12px 0 12px !important;
- }
-
- .CodeMirror-foldmarker {
- color: #cbccc6;
- text-shadow: none;
- margin-left: 0.25rem;
- margin-right: 0.25rem;
- }
-`;
-
-export interface Props {
- style?: React.CSSProperties;
- initialContent?: string;
- mode: string;
- filename?: string;
- onModeChanged: (mode: string) => void;
- fetchContent: (callback: () => Promise- {showInNotification - ? `Copied "${String(text)}" to clipboard.` - : 'Copied text to clipboard.'} -
-
-
- {(errors[field.name] as string).charAt(0).toUpperCase() + - (errors[field.name] as string).slice(1)} -
- ) : description ? ( -{description}
- ) : null} -- {typeof errors[name] === 'string' - ? capitalize(errors[name] as string) - : capitalize((errors[name] as unknown as string[])[0])} -
- ) : ( - <>{children ?{children}
: null}> - ); - -export default InputError; diff --git a/resources/scripts/components/elements/InputSpinner.tsx b/resources/scripts/components/elements/InputSpinner.tsx deleted file mode 100644 index 2ed77b433..000000000 --- a/resources/scripts/components/elements/InputSpinner.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import React from 'react'; -import Spinner from '@/components/elements/Spinner'; -import Fade from '@/components/elements/Fade'; -import tw from 'twin.macro'; -import styled, { css } from 'styled-components/macro'; -import Select from '@/components/elements/Select'; - -const Container = styled.div<{ visible?: boolean }>` - ${tw`relative`}; - - ${(props) => - props.visible && - css` - & ${Select} { - background-image: none; - } - `}; -`; - -const InputSpinner = ({ visible, children }: { visible: boolean; children: React.ReactNode }) => ( -- - Panel - - Pelican© 2024 - {new Date().getFullYear()} -
-{message}
-{children}
: children)} -{description}
} -
- {icon &&
-
- Showing - - {Math.max(start, Math.min(pagination.total, 1))} - - to - {end} of - {pagination.total} results. -
- {pagination.totalPages > 1 && ( -No activity logs available for this server.
- ) : ( -- We're having some trouble connecting to your server, please wait... -
- > - ) : ( -{error}
- )} -- {page > 1 - ? "Looks like we've run out of backups to show you, try going back a page." - : 'It looks like there are no backups currently stored for this server.'} -
- ) - ) : ( - items.map((backup, index) => ( -- Backups cannot be created for this server because the backup limit is set to 0. -
- )} -- {backups.backupCount} of {backupLimit} backups have been created for this server. -
- )} - {backupLimit > 0 && backupLimit > backups.backupCount && ( -- Your server will be stopped. You will not be able to control the power state, access the file - manager, or create additional backups until completed. -
-- -
-{backup.name}
- {backup.completedAt !== null && backup.isSuccessful && ( - - {bytesToString(backup.bytes)} - - )} -{backup.checksum}
-- {formatDistanceToNow(backup.createdAt, { includeSeconds: true, addSuffix: true })} -
-Created
-{legend}
} -